Контроллеры MIDI, обработка сообщений в Ableton Live
Чтобы запрограммировать контроллеры для управления той или иной программой, в моем случае это Ableton, часто приходиться сталкиваться с обработкой и изменением входящего/исходящего MIDI сигнала от устройства или программы. MIDI сигналы/таблицы
Пример
Ableton понимает только CC(Control Change) команды, от напольных контроллеров гитарного типа исходят в основном команды PC(Program Change)(Например редкий, но популярный контролер ADA MPC или ADA MXC, которые очень легкие и компактные). Секвенсор игнорирует PC, т.к. подобные сигналы зарезервированы как системные. Болле современный контролер Rocktron MIDI Mate умеет посылать CC команды, но оказалось что он посылает только 5 команд, а мне нужно использовать как минимум 10 банков PC (50 СС), а то и все 0-127. Почему нет? Контролер Behringer FCB 1010 Midi Foot pedal позволяет программировать на вывод MIDI Note, тогда проблема управления исчезает, можно посылать несколько нот при одном нажатии клавиши/кнопки контроллера.
Вспомогательное ПО
В противном случае придется конвертировать входящий сигнал с контроллера в какой-то другой. Например получить сигнал PC и преобразовать его в CC, сменив канал, тогда все входящие сигналы можно обработать в драйвере (Midi Remote Script).
Мне понадобилось работать с целой матрицей клипов, одновременно писать 16 каналов/треков и переключать цепь эффектов цифро-аналогового тракта одним нажатием клавиши напольного контроллера.
Это можно делать несколькими способами:
- Использовать программу MidiPipe, Bome Midi Translator
- Сделать свою программу с виртуальным MIDI I/O, если случай из ряда вон выходящий =)
Bome Midi Translator — пытается уметь делать все, реализовано на JAVA(работает в Windows, Mac OS X), стоит 80$ США. Но мы знаем лучшие альтернативы и расскажем об этом всему миру =). MidiPipe — может делать практически все, при этом бесплатно и очень удобно для пользователя. Только под Mac OS X.
Принцип работы
При работе с контролером Rocktron MIDI Mate в режиме “CONTROLLER”, мы получаем множество сигналов при однократном нажатии кнопки. Это множество выглядит, так:
Phisical MIDI Input:
<Message> <Channel> <Data>
Program Change: 1 192 10
CC 001: 1 176 1 0
CC 002: 1 176 2 0
CC 003: 1 176 3 0
CC 004: 1 176 4 0
CC 005: 1 176 5 0
После конвертирования Program Change -> Control Change & offset channel
Virtual MIDI Input:
<Message> <Channel> <Data>
Program Change: 2 177 0 10
CC 001: 1 176 1 0
CC 002: 1 176 2 0
CC 003: 1 176 3 0
CC 004: 1 176 4 0
CC 005: 1 176 5 0
Получившееся множество сигналов можно обрабатывать в драйвере Ableton Live при помощи LiveAPI.


















