Чтобы запрограммировать контроллеры для управления той или иной программой, в моем случае это Ableton, часто приходиться сталкиваться с обработкой и изменением входящего/исходящего MIDI сигнала от устройства или программы. MIDI сигналы/таблицы
Пример
Ableton понимает только CC(Control Change) команды, от напольных контроллеров гитарного типа
исходят в основном команды PC(Program Change)(Например редкий, но популярный контролер ADAMPC или ADAMXC, которые очень легкие и компактные). Секвенсор игнорирует PC, т.к. подобные сигналы зарезервированы как системные. Болле современный контролер Rocktron MIDI Mate умеет посылать CC команды, но оказалось что он посылает только 5 команд, а мне нужно использовать как минимум 10 банков PC (50 СС), а то и все 0-127. Почему нет?
За основу взял Turcanator — проект для тех, кто хочет научиться играть на пианино. Michal J Wallace сделал его в 2006 году, тогда же ему понадобилось реализоваться минимум интерфейса CoreMIDI для программирования в python2.4 под MacOS X, но проект перестал развиваться.
Так как лицензия проекта BSD, берем документацию Apple CodeAudio и доделываем api модуля python так, как это нужно.
Мало кто знает, а еще меньше людей пользуется этим. При помощи Python, немецкая компания Ableton AG автоматизирует управление секвенсером Ableton Live.
Это нужно чтобы можно было делать вот так:
Или так, как это делаю я, управляю матрицей клипов в секвенсоре ногами, в то время, как сам играю на гитаре и создаю контент для этой матрицы на ходу, что позволяет импровизировать и делать музыку из синтезированных и электроакустических звуков.
Приехали на конференцию мы вдвоем, менеджер проектов и я. Доделывать слайды пришлось в поезде, пока не села батарея. Как выяснилось, розетки в вагонах не имеют достаточной мощности для зарядки батарей ноутбука, а вот на обратном пути в вагоне даже значок ноутбука был, но экспериментировать не стали.
Во-первых хочу поблагодарить организаторов события. Они многое сделали и результаты есть.
Предыдущий раз был на Ecxeption #05. Масштабы увеличились.
Несколько замечаний
По-моему надо делать жесткий отбор докладов. Новые и платные конференции должны быть
более профессиональные, было видно как большая аудитория скучала от примеров “Hello World”.
Нужна динамика, четкая прикладная область: проблема — решение.
В Киеве взяли моду проводить конференции для разработчиков Python. последний раз был на этом мероприятии летом прошлого года. Были доклады о компонентной архитектуре и zope3.
Сейчас конференция посвящена динамическим языкам программирования и ее масштабы значительно выросли. Будут интересные доклады и ИМХО НАДО БЫТЬ!
Кроме того мне предоставляется возможность выступить. Буду рассказывать о twisted. Уже не мало личного времени потратил на этот доклад, но он все еще сырой на мой взгляд. Странно получается. Годы летят, опыт прибавляется. Хочется делать краткие и понятные вещи, но такие, чтобы тема раскрывалась полностью. Twisted — такая “необъятная” тема с учетом отсутствия целостной документации, что задачка получилась не из простых.
Скоро начну выкладывать тут главы доклада и часть методического материала, на самой конференции будут тезисы и устный материал.
В данном блоге я собираюсь писать все интересные на мой взгляд вещи и конечно просто глупости. Надеюсь это будет полезно не только моим друзьям.
Ранее я занимался созданием сервисов на базе Asterisk. Мне очень нравилось, действительно увлекательное занятие. Не хочу чтобы навыки пропали даром или начали терять актуальность, поэтому буду описывать некоторые технологии и приемы разработки в этом блоге. Кроме того тут могут появляться темы связанные с Django, Zope 3, Twisted, методологиями и приемами разработки, linux хаками и т.д.
Для тех кто в танках
Астериск(Asterisk, *) — IP АТС(по буржуйский PBX) с открытым программным кодом.
На базе * можно создавать большое количество малых и крупных автоматизированных систем телефонии, распределенных систем, а также вовсе неожиданные проекты по использованию * для управления другими системами.
Технология не нова, но вокруг нее создается множество новых open source и закрытых проектов.
Инструментарий
Python — основной инструмент, красивый и удобный язык программирования.
Twisted — платформа для создания асинхронных сетевых приложений на базе python.
Django — платформа для быстрого создания web приложений на базе python.
Comments
Я архив поднимаю, ностальгия. Тебе вот не приятно разве вспомнить, а кроме этого хочу на сайте архив весь собрать. Так надо.