barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

пятница, 24 июня 2011 г.

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

Ниже описан процесс подключения midi-клавиатуры CME M-key в Ubuntu 10.10.
CME M-key - пожалуй самая простая види-клавиатура с интерфейсом USB. В Linux работает без каких-либо доп. драйверов, требуется лишь программный синтезатор и звуковой сервер. В качестве первого я выбрал Qsynth (являющийся графической оболочкой для fluidsynth), а в качестве второго - Jack Server (не сказал бы что это хоть сколько-нибудь осознанный выбор, просто это было первое, что я нашел по запросу "midi", и к тому же увидел в интернете в паре инструкций по настройке midi в линухе). Все приложения ставятся через менеджер пакетов Synaptic (я установил fluidsynth и ещё один синтезатор muse, вместе с которым сразу установился Jack вместе с устилитой Jack Audio Control). Итак, сам процесс настройки (логика настройки простая: настроить сервер, настроить синтезатор, с помощью сервера соединить midi-клавиатуру и синтезатор):
1) Запускаем Jack Audio Control (Приложения - Аудио и видео - Jack Control)
2) Нажимаем в открывшемся окне "Параметры", в нём единственное что я поменял - установил в "Драйвер MIDI" - raw:
3) Запускаем Qsynth (не закрывая окна Jack Control), он расположен там же (Приложения - Аудио и видео).
4) Слева нажимаем "Настройки", на вкладке "Звук" я установил размер буфера - 512:
5)  Теперь необходимо перейти на вкладку "Файлы SF2" и добавить банк инструментов. Их можно найти в интернете, или добавить стандартный банк (он лежит прямо в папке, которая открывается по-умолчанию при нажатии на кнопку "Открыть" (я добавил стандартный банк, там достаточно много инструментов). Жмем ОК для сохранения изменений.
6)  Теперь можно запускать jack-cервер, чтобы соединить midi-клавиатуру и Qsynth. Для этого в окне Jack Control нажимаем "Запустить".
7) Соединяем Qsynth и midi клавиатуру. В окне  Jack Control нажимаем "Соединить", в открывшемся окне устанавливаем все, как показано на рисунке (установлено методом нучного тыка):
8) Все, соединение установлено, теперь, при нажатии клавиш на клавиатуре должна моргать зеленая лампочка в левом нижнем углу  Qsynth. Остается только выбрать банк: жмем "Каналы", там после двойного клика на канале 1  выбираем банк (если список пустой - значит Вы не добавили банк SF2, см. п.5).
9) Теперь должно работать)
ЗЫ За основу взята инструкция http://hardsofter.blogspot.com/2010/02/midi-linux.html.

5 комментариев:

  1. Спасибо, доступно и сработало с первой же попытки - клавиатурка зазвучала под убунтой.

    ОтветитьУдалить
  2. Спасибо! Важное дополнение http://shoorick.livejournal.com/1175293.html

    ОтветитьУдалить
    Ответы
    1. Пожалуйста! Насчет дополнения - да, действительно, у меня все заработало с выбранным по-умолчанию midi-драйвером, поэтому я даже не задумавался по поводу предложенных там варианов. С настройками первой вкладки я столкнулся недавно, когда пытался заставить работать MIDI в Guitar Pro 6 в Ubuntu 11.10, там, пока я не выбрал "alsa_seq", ничего не работало.

      Удалить
    2. Здравствуйте! Где можно взять драйвер RAW? Linux mint 17.1 , xfce, 32 bit .

      Удалить
  3. Огромное спасибо автору! всё работает по указанной схеме!

    ОтветитьУдалить