понедельник, 27 июля 2009 г.

VST в Linux

Хотя для Linux существует огромное количество LADSPA эффектов, нужного среди них может просто не оказаться. А если понадобится звучащий лучше, чем WaveTable, синтезатор какого-нибудь инструмента, то выбор становится ещё более скудным, ибо единственной альтернативой VSTi в Linux является стандарт DSSI, количество синтезаторов для которого можно пересчитать по пальцам. Но существует хоть и костыльный, но вполне рабочий выход из данной ситуации - это запуск предназначенных для Windows VST и VSTi модулей.

Так как VST и VSTi модули являются обычными dll, то просто так с помощью WINE их запустить не получится. Для этого нужен специальный загрузчик. Существует 2 таких загрузчика: fst и dssi-vst. Оба используют WINE, у каждого есть свои мелкие особенности, о которых я расскажу в конце. К сожалению этих программ обычно нет в репозиториях, поэтому их надо собирать самостоятельно. При установке всех необходимых dev пакетов проблем быть не должно, а те, кому не хочется на это тратить своё драгоценное время, могут скачать бинарники, собранные мной: fst.tar.bz2 и dssi-vst_0.8-1_i386.deb

Для сборки fst необходимы следующие dev пакеты:
  • LASH
  • JACK
  • WINE
Далее скачиваем исходники с помощью команды git clone "git://repo.or.cz/fst.git"
(для этого должен быть установлен git). Далее переходим в папку с fst и делаем make. Если компиляция прошла удачно, то в папке с проектом должны появиться 2 файла: fst.exe и fst.exe.so. В Makefile не предусмотрено правил установки, поэтому быстро собрать пакет с помощью checkinstall не получится.

Запустить какой-нибудь VSTi инструмент можно с помощью команды ./fst.exe <путь до dll>, при этом до запуска VSTi обязательно должен быть запущен JACK. Затем JACK Control соединям необходимые входы и выходы.

Скачать исходники dssi-vst можно по этой ссылке dssi-vst-0.8.tar.gz. Чтобы это собрать, нам понадобятся dev пакеты:
  • DSSI
  • WINE
  • liblo
Далее переходим в папку с распакованными исходниками и выполняем команды make и sudo checkinstall. Запуск VST и VSTi модулей происходит с помощью команды vsthost <путь до dll>. До её вызова, как и в случае fst, обязательно должен быть запущен JACK.

Стабильность работы этих программ радует неособо, но её можно повысить, увеличив размер буфера jack серевере. Ещё можно попробовать запустить wineserver с опцией -p, если какой-то из модулей откажется работать. Больше всего раздражает появление кучи окошек с сообщениями об ошибках при загрузке некоторых VST. Главным отличием между dssi-vst и fst является наличие в последнем поддержки пресетов с настройками. Но dssi-vst показался мне более стабильным, ещё он создаёт MIDI порт в ALSA, из-за чего меньше проблем с программами, не поддерживающими JACK MIDI.

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

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

Спасибо за полезную статью. С пол-пинка запустил Addictive Drums.

Анонимный комментирует...

Вам будет интересно - курс английского языка
correct dose of motrin for dogs