вторник, 29 марта 2011 г.

Таки ещё полнее о VST в линуксе.

О VST.

За большое время существования такой шикарнейшей технологии, как VST ( http://ru.wikipedia.org/wiki/Virtual_Studio_Technology ) , сей чудный формат стал стандартом всех возможных звукообрабатывающих\синтезирующих плагинов, оставив в тени такие технологии как LADSPA, AU, DSSI, LV2 и ещё много неизвестных, быстроумерших костыльных форматиков. И мало того, основная часть самописных, хороших, годных плагинов были писаны исключительно под Windows (bawwww), видимо изза того, что indie-разработчикам не было необходимости портировать все свои плагины под mac или какойнить linux.

В итоге на данный момент существует просто ОБШИРНЕЙШИЙ пласт плагинов, размер которого чуть ли не принуждает сейчас любителей попейсать какойнить говномузычки юзать исключительно винду для этого. Ну или потратиться на дорогой макбук идорогие, но шикарнейшие комплекты типа Kontakt, в которых есть всё, но, с ценой макбука, за эту радость придётся отдать почку.

Linux и Музыкописательство.

Вообще само использование linux для написания музыки (ну исключая трекерную музыку в форматах xm\it) кажется лютейшим бешенейшим извращенством по сравнению с качественными DAW ( http://ru.wikipedia.org/wiki/Digital_audio_workstation ) и плагинами VST (ну кроме reason, его модульность примерно похожа на то что творится в линуксе). А почему?

Изза нынешней ситуации с опенсорсом и разрабатываемым в его рамках ПО большинство программ узкоспециализированны, поэтому разработки типа полноценных DAW в линуксе очень, очень, ОЧЕНЬ редки. можно назвать пожалуй парочку полноценных DAW и несколько урезанных.

Более-менее полноценные:
1) Ardour 3 ( который нынче толи в альфа, толи в бета стадии тестирования )
2) Qtractor ( да и то с натяжкой, хотя функционал ничего так )
3) Aldrin, он же Neil Sequencer ( в глубокой альфа версии )
4) Renoise ( платный трекер )
5) EnergyXT ( какойто мелкий, но полноценный платный секвенсор )
Менее полноценные:
1) Ardour 2 ( Потомучто просто мультитрекер )
2) MusE ( хрен его поймёшь, шевелится или нет, взнуздать его до работы - тот ещё квест )
3) Rosegarden ( Просто секвенсор со слотами для инструментов, никакой работы с семлпами )

В остальном же всё многообразие звукопрограмм под linux выражается в обили standalone приложений на каждый чих и писк, и тебе секвенсоры (seq24, non-sequencor, epichord), и тебе синты (zynaddsubfx, phasex, bristol, amsynth), и гитарные процессоры (guitarix, rakarrack, exef), эффект процессоры (freqtweak, jamin, jackeq, jackrack), а также всяких плагинов dssi\ladspa\lv2, языков программирования для написания синтов\эффектов и ещё тонны всяческого ПО.

Для связывания всего этого добра были придуманы две хороших, годных подсистемы.

1) Jack - JACK Audio Connection Kit - звуковой сервер-демон, позволяющий с низкой задержкой соединять между собой так называемые «джэкифицированные» («jackified») приложения. Становится возможной передача как аудио-, так и MIDI-данных (слизал с википедии - http://ru.wikipedia.org/wiki/JACK_Audio_Connection_Kit). По этой системе также можно синхронизировать работу нескольких секвенсоров, например драммашины Hydrogen и мультитрекера Ardour.

2) LASH - Linux Audio Session Handler - (и её потомок - ladish) - позволяет хранить сессии запущенных и связанных друг с другом приложений для работы со звуком।

Прыщепроблемы начинаются здесь.

Всем бы это было бы хорошо, НО

1) Разнообразие свободных програм для звукообработки удручает. Нет, я не скажу что его мало, просто для некоторых специфичных вещей утилиты или эффекты просто ненаходятся, или находятся, но в составе очень больших програм.

Например для стойки эффектов легче всего использовать Ardour, но в нём нету ни секвенсора, ни синтезаторов, ни драм-машины, и для этого приходится использовать внешние программы, но, например использование дополнительного внутреннего секвенсора в Hydrogen при наличии ровно такого же секвенсора в Seq24, как и стойки эффектов в Hydrogen при наличии более мощной стойки эффектов в Ardour, кажется нецелесообразным.

Надо сказать, что изза вот такой критики в сторону Hydrogen он был переписан в пакет Composite, состоящий как из отдельной драммашины, так и lv2-плагина с соответствующим функционалом

2) Та самая подсистема LASH очень долго разрабатывалась, но большое количество программ до недавнего времени его просто не поддерживало и разработка lash остановилась. Сейчас большое количество этих же самых приложений поддерживают его, но необходим новый функционал, и, так как lash сгнил, придумали новую подсистему LADISH, но, слава богу, с совместимостью с lash-совместимыми продуктами. Да и к томуже эта самая подсистема LASH в своё время не получила распространения изза того что она банально отвратительно работала, тормозила и портила проeкты.

3) Да и сама эта концепция избыточной модульности порождает тонну ненужных действий для выполнения простых задач типа, например, добавления одного монофонического синта ( включить синт, воткнуть его в рэк через qjackctl, зацепить его к секвенсору, назначить midi cc, вывести их в секвеснор и только потом работать)

Собственно о VST в линуксе.

И если бы можно было бы простить два последних описанных недостатка, то только при отстутствии первого. Это субьективно, комуто может этого всего хватит и будет он писать музыку долго и счастливо.

Поэтому приходится выискивать костыли для запуска любимых тёплоламповых VST под няшненьким линуксом.

И так как всё уже придумано до нас, мне осталось только описать эти два варианта костылей, придуманные доблесными линуксоидами. Сразу скажу, что для всех этих костылей используется ещё один, старый, проверенный временем и годный для использования костыль Wine, благодоря которому можно запустить гдето 95% из всех vst.

Vestige - (я честно уже не помню как оно называется, ибо след в истории уже теряется) - хитрая подсистема, требующая жёсточайшего садомазохизма над приложением-DAW для интеграции. Собственно Вестиж получил развитие в трёх программах
1) Ardour - в нём можно использовать vst-эффекты, а с третьей версии и синтезаторы. Вполне бы годный вариант, но есть НО.
2) LMMS - очень угрёбищная поделка в стиле фрутилупс благодоря энтузиазму почитателей этого страшного выродка музыкальной индустрии получила интеграцию vestige, что в принципе очень неплохо для её статуса.
3) FST\festige - внешний rack для всех vst c midilearning и прочими годными функциями, хорошо встраивается в модульную студию с jack\lash.

Подвох этой системы заключается в том что они основанны на прорпиетарном vstsdk,
и использование его нарушает GPL, да и саму лицензию vstsdk (может я тут наврал), поэтому готовых сборок, да ещё работающих под каким-то определённым дистрибутивом (ну кроме Арча) можно и ненайти (с 85% вероятностью)

Также есть ещё один костыль.

Dssi-vst - обёртка для преобразования vst плагинов в плагины формата dssi\ladspa. Наигоднейшая вещь для использования vst-эффектов в DAW\стойках эффектов, в которых поддержки win VST нету. Я лично любил раньше использовать плагины simuanalog guitar suite и lepou poulin guitar amps , звучат несравнимо лучше чем всякие поделки типа guitarix и rakarrack при большей простоте использования. Сейчас у меня есть pocket pod. При этом сия обёртка лицензионно чиста настолько, что есть даже в дебиане (в contrib).

Однако эта штука имеет просто фатальнейший недостаток.

Изза неполноценности стандарта dssi далеко не каждый плагин сможет сохранить своё состояние при сохранении эффекта, и я обьясню это чуть подробнее.

Для сохранения настроек как в dssi, так в vst придуманы свои протоколы сохранения настроек плагинов, которые описываются внутри. Вкратце в большинстве случаев это всё описывается (или достаточно описать ) как состояние параметров синтезаторов\эффектов. Dssi-vst предоставляет состояние параметров vst-плагина как данные для сохранения, и некоторые синты и эффекты могут с этим жить. Например Synth1, Crystal, Syntar, VB3, обёрнутые в ladspa эффекты. Но тут появляется на сцене такая вещь как VST-chunks.

Chunk (чанк) - кусок данных, в котором можно описать всё что угодно для дальнейшего восстановления состояния VST-плагина. Это одна из аж двух функций, для которой нету документированного аналога в dssi-vst. Вторая - передача информации о транспорте, дающая возможность синхронизировать внутренние эффекты плагина с темпом в DAW. Посему существует очень много синтезаторов, которые тупо не сохранят свои настройки при сохранении эффекта. Также некоторые DAW тупо охреневают от цепочки wine-vst-dssi и могут не загружать vst ссылаясь на то что они нe эффекты\синтезаторы реального времени.

Cуществуют патчи для исправления этого недостатка, но они требуют как исправления dssi-vst, так и приложения-хоста (на данный момент поддерживается в MusE и Rosegarden) , при этом, по слухам, оно ломает совместимость с уже сущесвтующим dssi-плагинами.

А что делать то?

При всей неоднозначности ситуации использовать VST можно, однако каждый из ниже предложенных вариантов имеет свои трудозатраты и недостатки

1) Использовать VST c Vestige, фактически это обрекает на использование Jack\lash.

2) Использовать Dssi-vst, тестируя каждый плагин, сохраняя проекты и ругаясь, когда какойнить мерзкий простенький плагин на три крутилки юзает chunks. ВСЕ синты на soundedit грешат этим.
Как я уже говорил, есть и рабочие синты: Synth1, Crystal, Syntar, VB3, обёрнутые в ladspa эффекты.

3) Присмотреться к существующим системам\программам синтеза получше. Например whysynth - шикарнейший синт, как и zynaddsubfx\yoshimi, freqtweak - долбанутейший по функциям fft-эффект, bristol - аж целый пак виртуальноаналоговых синтов. Также под линуксом существуют портированные версии плагинов: Tal noisemaker, коммерческий Discovery,коммерческий Loomer (все) , паки kxstudio, juced. Кстати, от себя могу добавить что при использовании нескольких плагинов simuanalog и lepou через dssi-vst (а точнее tube screamer и legion), и добавления после него нативного линуксового кабинет-симулятора по IR с названием JcGui (jconvolver) можно получить отличнейший гитарномясной звук.

4) Забить и поставить винду - тоже вполне адекватный вариант, учитывая то, как, в принципе, не легко использовать весь этот софт в линуксе.

Заключение.

В отличии от большинства жареных новостей на всяких линуксо-сайтах в стиле "В АРДУРЕ ТЕПЕРЬ МОЖНО ЮЗАТЬ ВСТ КАК В ВИНДЕ, ВИНДОУС МАСТДАЙ !!!!!11одын" я попытался хоть както обосновать действительную необходимость и возможность использования виндовых vst-эффектов в linux.

Сам бы я использования vst в линуксе не пожелал бы даже врагу, однако жить можно. Но всеравно контраст с удобством винды в этом плане просто поражает.

В общем юзать можно, но не сильно комфортно


PS: Я юзаю лицензионный renoise, и сижу под линуксом не изза СВОБОДА И БЕСПЛАТНОСТЬ, а изза окружения рабочего стола awesomewm, очень уж привык. Ну и ко всяким плюшкам типа mcabber, mpd, transmission-daemon.


Комментариев нет:

Отправить комментарий