воскресенье, 14 февраля 2010 г.

Подключение midi-клавиатуры в Linux

Сегодня решил подключить midi-клавиатуру M-audio Keystation 61es в Arch Linux. В звуке я человек неискушенный, не было желания тратить время на серьезную настройку, поэтому, не мудрствуя лукаво, полез искать "рецепты" быстрого подключения девайса.
В результате гугления был обнаружено множество методов и программ, работающих с midi. Выбрал наиболее популярные: связка Jack + QjackCtl + Qsynth.
QjackCtl является утилитой для удобного управления звуковым сервером Jack. Программа Qsynth - удобный фронт-енд для программного синтезатора fluidsynth.


Логика настройки простая: настроить сервер, настроить синтезатор, с помощью сервера соединить midi-клавиатуру и синтезатор.

После установки jack-audio-connection-kit, qjackctl, qsynth можно приступать к настройке.

Для начала запускаю QjackCtl, жму по настройкам, выставляю приблизительно следующее (на самом деле практически ничего не корректировал):





Жму Ок и запускаю Qsynth. При этом QjackCtl не закрываю.



Слева жму по настройкам и вытягиваю параметры на высокие показатели:



Теперь самое интересное: добавление инструментов. Для этого нужно поискать в сети звуковые шрифты (soundfonts) в формате .sf2. Благо их, имитирующих самые разнообразные инструменты, везде предостаточно.
Для удобства сохраняю скаченные шрифты в отдельную папку, далее иду во вкладку "Файлы SF2" настроек Qsynth и поочередно добавляю в список каждый файл.В колонке "смещение" (не самый удачный перевод, как мне кажется) прописываю разные значения от 0 до n, чтобы было удобно менять инструменты в каждом канале впоследствии.



Жму Ок. Важно, чтобы обе программы оставались запущенными.
Теперь пора запускать jack-cервер, чтобы соединить midi-клавиатуру и Qsynth. Вылавливаю окошко QjackCtl и жму "Запустить".
Теперь главное: соединяю Qsynth и midi клавиатуру. Делается это через кнопку Connections в главном окне QjackCtl. Выбираю вкладку "midi" слева справа списки входов и выходов. Слева выбираю клавиатуру, справа qsynth, жму кнопку "Соединить". Между интерфейсами линия, сигнализирующая успешное соединение.



В случае успешного подключения, клавиатура должна немедленно начать играть. Для смены инструмента достаточно в главном окошке программы Qsynth перейти по кнопке "Каналы" в окошко со списком каналов и, щелкнув правой кнопкой по активному каналу, настроить инструмент.

Приведенные здесь параметры успешно работают у меня.

2 комментария:

Vladimir E комментирует...

Спасибо большое. На убунте 10.04 тоже заработало.
Немного повозился с jackd правда. Но он говорит в лог все что ему не нравится, можно пошагово исправить.
Кстати большая версия изображения из поста (скрин с настройками) не открывается.
А так класс. Есть классная программа Rosegarden, напоминает Cubase (немного конечно). С помощью qjackctl таким же способом можно присоединится к ней.

Shoorick комментирует...

Большие картинки не отображаются.