Воспроизведение MIDI в Ubuntu Linux

Установил однажды я виртуальную MIDI клавиатуру (vmpk), протестировал, не работает. Перерыл кучу страниц в интернете, полезной оказалась эта.

Инструкция пригодится для всех, кроме тех,

  • кто использует Linux-поддерживаемые hardware synth звуковые карты
  • кто использует внешние MIDI инструменты

Итак, для того, чтобы заработал MIDI требуется настроить программный синтез. Существует три основных программы, которые способны на такое: TiMidity++, Fluidsynth и ZynAddSubFX.

ZynAddSubFX – наиболее прост для тех ситуаций, когда вы хотите иметь один инструмент на выходе, т.к. он не требует сэмплов или саундфонтов (samples, soundfonts). В тех случаях, когда вы хотите прогрывать MIDI потоки с более чем одним инструментом, такие как General MIDI файлы, FluidSynth или Timidity++ более просты. FluidSynth имеет хороший графический интерфейс, но вам придётся потрудиться при поиске подходящего soundfont для него. TiMidity++ чуть труднее при установке, но samples легко устанавливаются из репозиториев.

Для своих целей я выбрал TiMidity++. Устанавливается он вот так:

sudo apt-get install timidity

Легко подключаются сэмплы (у меня установились сразу с timidity):

sudo apt-get install freepats

Сэмплы из freepats не полные на настоящий момент и полностью не покрывают стандарт General MIDI.

Если вы хотите звук получше, можете установить сэмплы Eawpatches, для этого добавьте следующий репозитарий в свой /etc/apt/sources.list файл:

deb http://www.fbriere.net/debian squeeze opencbm misc

Верифицируйте репозитарий командой:

wget -O- http://www.fbriere.net/public_key.html | sudo apt-key add -

После этого вы можете установить пакет ‘eawpatches’ (31 MB). Если же вы не хотите подключать репозиторий, можете скачать файл отсюда: http://www.fbriere.net/debian/dists/stable/misc/deb/eawpatches_12-1~fbriere.5_all.deb
Eawpatches подключается к Timidity следующим образом. После установки Eawpatches, необходимо найти и заменить следующую строку в файле /etc/timidity/timidity.cfg:

source /etc/timidity/freepats.cfg

Её заменить на такую строку:

source /etc/timidity/eawpatches.cfg

Всё, eawpatches установлены.

После установки timidity и подключения к нему сэмплов, необходимо проверить, работает ли он или нет:

timidity myfile.mid

Если звук играет, то всё ок!

Далее для использования timidity в других приложениях, необходимо запустить TiMidity++ Server. Для этого подключаем модули:

sudo modprobe snd-seq-device
sudo modprobe snd-seq-midi
sudo modprobe snd-seq-oss
sudo modprobe snd-seq-midi-event
sudo modprobe snd-seq

И запускаем сервер:

timidity -iA -B2,8 -Os1l -s 44100

Команда запускает TiMidity++ midi сервер и открывает 2 midi порта. После этой команды сторонние midi программы должны работать! Необходимо зайти в их настройки и выбрать timidity как output.

Bookmark the permalink.

One Response to Воспроизведение MIDI в Ubuntu Linux

  1. Gugleadik says:

    И как сделать так чтоб это работало даже когда закрываешь терминал. У меня в Убунте все само работало, но однажды перестало в outpute программы linthesia исчез timidity . Эта история повторяется на всех убунтах начиная с 8 по 11 верс. Отследить не удалось когда исчезает и почему. Подозреваю, что после установки какой-то программы, вероятно flight gear

Leave a Reply

Your email address will not be published.