ReacTIVision
Думаю может и для кого-то и избитая тема, но все таки расскажу) наткнулся недавно на эту штуку:
На официальном сайте можно найти програмный эмулятор - reacTIVision mtg.upf.edu/reactable , который может и не так красив, как проект в оригинале, но очень интересен:
"ReacTIVision является компонентой проекта reacTable. ReacTable - синтезатор с визуальной обратной связью ее компонентов, не доступных для общественного пользования, разработчики не планируют опубликовывать программное обеспечение на данный момент!"
Я решил разобраться в этой игрушке: Как я понял reacTIVision представляет собой систему управления , преобразуя данные, полученные с камеры, в миди сообщения, которые можно использовать как только душа пожелает. Понадобиться камера, я использую от телефона, вполне хватает чтоб поиграться.
Все преобразования выполняются по файлу конфигурации XML, в котором указывается id карты (fiducial), которому могут соответствовать следующие атрибуты:
type - тип контроллера: hfader=xpos, vfader=ypos - изменение положения карты knob=angle(изменение угла поворота карты) note=presence(отвечает за присутствие карты в поле зрения камеры)
control - номер контроллера к которому адресуется миди сообщение и значение которого может зависеть от hfader, vfader, knob, note.
note - номер ноты
необязательные атрибуты: channel - номер миди канала (defaults to 0)
min - минимальный диапазон (defaults to 0)
max - максимальный диапазон (defaults to 1)
Честно говоря так и не разобрался зачем min и max, но будет еще).
Пример xml файла лежит в "reacTIVision-1.4\midi\demo.xml". Создаете с помощью блокнота свой файл по образу и подобию:
<midi device="10">
<map fiducial="0" type="vfader" control="0" />
<map fiducial="1" type="hfader" control="1" />
<map fiducial="3" type="knob" control="3" />
<map fiducial="4" type="note" note="60" />
</midi >
Здесь <midi device="10"> означает номер миди выхода, который мы используем, список всех имеющихся можно посмотреть с помощью комманды "reacTIVision -l midi"
<map fiducial="0" type="vfader" control="0" /> - передвижение карты под номером 0 по вертикальной оси будет сказываться на контроллере 0.
<map fiducial="3" type="knob" control="3" /> - поворот карты подействует на контроллер под номером 3
<map fiducial="4" type="note" note="60" /> - появление карты в поле зрения камеры задействует ноту под номером 60.
Запустить reacTIVision с нашим файлом конфигурации можно командой "reacTIVision -m имя_файла.xml".
Настроим приложение на получение миди сообщений: Я использовал Native Instruments Absynth 3, в списке setup->audio and midi settings->midi->input interface нужно включить тот интерфейс который мы указывали в начале нашего xml файла.
В absynth на главной панели напротив каждого контроллера стоит его номер, который и нужно ставить в атрибуте control="...".
Пусть и не так красиво как в ролике, но зато интересно))
У меня были проблемы с миди выходами, так что если и у вас что то подобное возникнет, то качаем с http://midiox.com midi-ox и midi-yoke и разбираемся самостоятельно....
Материалы взяты с официального сайта.