Дилемма стакана
Архив"Опенсорсный" софт для работы со звуком сродни пресловутому полупустому-полуполному стакану с водой. Но факт есть факт: с недавних пор разработчики свободного софта стали все чаще появляться на популярных выставках и конференциях для музыкантов.
«Опенсорсный» софт для работы со звуком сродни пресловутому полупустому-полуполному стакану с водой. Один музыкант, едва взглянув, начнет, загибая пальцы, считать недостающие функции. Другой же, увидев возможности продукта, сядет и что-нибудь напишет, потом еще что-нибудь, да так и будет с ним работать. Однако факт есть факт: с недавних пор разработчики свободного софта стали все чаще появляться на популярных выставках и конференциях для музыкантов — вроде Modular, NAMM и Sounds Expo.
JACK в профиль
Посетителей этих выставок весьма впечатляют возможности звукового сервера JACK, работающего в режиме реального времени, и приложений к нему. При этом больше внимания уделяется не «аналогам» проприетарного софта, а оригинальным разработкам. Заинтересованность посетителей ясна: гораздо больше всяких TCO им интересна функциональность того или иного пакета, а возможности JACK говорят сами за себя. Принцип действия сервера прост: он, по желанию пользователя, полностью или частично выводит звуковую карту из игры на время или насовсем, прокачивая через себя звук от одного приложения к другому без обращения к «железке». Что позволяет забыть о таких неприятностях, как наводки от соседних устройств и «тормознутость» звуковых карт.
Не будет лишним упомянуть и то, что JACK поддерживает ASIO1, не в последнюю очередь благодаря новой звуковой подсистеме Linux — ALSA. Именно «сладкая парочка» JACK и ALSA позволяет конечному пользователю получить на своих Audiophile 2496 и Delta 1010 честные задержки в две-три миллисекунды. Сам сервер вовсе не обязательно запускать из консоли, для этого есть Qjackctl, программа для контроля над «демоном» JACK-сервера (рис. 1).
С клиентами JACK-сервера дело обстоит сложнее. Не то чтобы их было мало — напротив, их уже много и с каждым днем становится все больше, но вот степень инновационности в них меньше.
Секвенсоры и мультитреки
Небольшая ретроспектива. Если несколько лет назад Cakewalk был только MIDI-секвенсором, а Samplitude — только мультитреком, то сейчас граница между этими двумя классами музыкального ПО все больше размывается. Скажем, программа Sonar научилась многим трюкам мультитреков, а в Samplitude появились MIDI-дорожки.
Впрочем, окончательной интеграции так и не произошло. Например, MIDI-дорожку в Samplitude можно отредактировать только в матричном редакторе. В свою очередь, у вас вряд ли получится нарисовать в Logic CD-маркеры и тут же записать мастер-диск, как это можно сделать в Samplitude. Тем не менее, обо всех упомянутых программах вполне можно говорить как о многофункциональных цифровых звуковых станциях.
В линуксовом софте всего этого пока нет. Оба разрабатываемых MIDI-секвенсора, Rosegarden (www.rosegardenmusic.com ) и MusE (www.lmuse.sourceforge.net), не слишком удобны в части работы со звуковыми файлами2. С другой стороны, они достойно выполняют свое основное предназначение — запись/обработку нот и трансляцию их на программные синтезаторы. Rosegarden (рис. 2) поддерживается уже добрых восемь лет (считая первые версии для IRIX), и его код местами молит о рефакторинге, чему свидетельство — не совсем удачные версии 0.9.5 и 0.9.6. В новой версии 0.9.7 найденные ошибки поправили (но наверняка посеяли несколько новых, добавив микшер). Что до MusE, он имеет достаточно минималистский интерфейс, благодаря чему в свое время заслужил прозвище «Excel для создания музыки».
Гораздо меньше нареканий вызывает мультитрек Ardour (ardour.org, рис. 3). Кроме полной поддержки MIDI3, запланированной на следующую версию, все на месте: и недеструктивное редактирование, и перемещаемые области, и бесконечное количество дорожек и шин, и прекрасный микшер.
Модули
Бог знает сколько лет назад разработчики звукового софта додумались, что обработку эффектами проще вынести в отдельно загружаемые модули. Компания Steinberg, создав форматы VST и VSTi, превратила это в раскрученную индустрию, ориентированную на массового потребителя.
Ответом на VST от Steinberg и DX от Sonic Foundry стал свободный API под названием LADSPA, на базе которого написано уже порядка двух сотен модулей. Но вот замены VSTi пока нет. Представители Adobe, Cakewalk, FXPansion и LAD4 второй год договариваются о спецификациях GMPI (www.gmpi-plugins.org ) — нового кроссплатформного API, который на Windows, Mac OS X, Linux и прочих «юниксах» составит конкуренцию остальным.
А пока все больше входит в моду JACK Transport. В настоящее время именно эта часть JACK обеспечивает возможность создания аранжировки кусками в разных программах, в той или иной степени заменяя привычную для Windows и Mac модульную схему. Принцип его работы таков. Запускаются два приложения — скажем, Rosegarden и Hydrogen (рис. 4). Rosegarden делается JACK-ведомым клиентом сервера, а Hydrogen — JACK-ведущим. После этого из последнего можно запускать воспроизведение проекта RG и «мотать» его туда-сюда, обрабатывая в Hydrogen ритм-партию5.
JACK Transport используется и в замыкающей логическую цепочку саундпроцессинга JAMin — программе для мастеринга, чемпионе по добытым тушкам системных ресурсов. Впрочем, иначе и быть не может: качественный мастеринг делается быстрым преобразованием Фурье, а тут даже новая оптимизированная версия библиотеки FFTW мало меняет общую картину. По сути, единственное отличие JAMin (рис. 5) от Waves Masters Bundle, известного комплекта утилит для мастеринга, состоит в том, что последний реализован как набор VST-модулей, «возвращающих» звук на ту же дорожку без всякого «рилтайма». JAMin работает по старому принципу: в режиме реального времени через механизм JACK Transport запускает воспроизведение с одного JACK-клиента, обрабатывает и транслирует звук на записывающую программу-клиент. Реализовать JAMin как модуль LADSPA (а в будущем и GMPI) в принципе можно, ведь программа сама использует некоторые модули LADSPA для встроенного компрессора и лимитера.
«Дерзкая выходка»
И все бы мне рассуждать о софте, количество пользователей которого не выше тиража «Компьютерры», если б не новая стабильная версия Audacity (рис. 6). Речь идет о, пожалуй, самой успешной среди прочих открытых мультимедийных программ (не зря, видимо, ее название можно перевести как «дерзкая выходка» или даже «наглость», которая, как известно, второе счастье). Посудите сами: общее количество закачек программы до выхода 1.2.0 составляло примерно 2,3 миллиона. Новая версия за первые две недели была скачана почти 150 тысяч раз. Большая часть закачек (80%) пришлась на версию для Windows, намного меньше — для Mac OS X (15%), остальное — на пакеты с исходным кодом. Но не стоит забывать, что программа доступна в распространенных банках пакетов (вроде Debian Sid или ALT Linux Sisyphus) и в портах FreeBSD и Gentoo, которыми пользуется немало людей.
Что же привлекло в Audacity столько народу?
Во-первых, ее интерфейс спроектирован так, чтобы начинающий пользователь мог быстро освоиться и приступить к работе, не изнуряя себя чтением толстенной документации. Наличие русского перевода GUI и справочной системы в этом контексте вряд ли можно считать излишним.
Во-вторых, Audacity может писать и воспроизводить 24- и 32-битный (с плавающей точкой) звук с частотой дискретизации до 96 кГц. Импортируемые звуковые файлы автоматически «подгоняются» под параметры всего проекта, для чего по выбору юзера можно использовать тот или иной вид дитеринга6.
В-третьих, программа поддерживает модули VST, LADSPA и Nyquist, причем их можно писать самому и использовать безо всякой перекомпиляции, просто подложив в нужный каталог. Вдобавок к программе прилагаются девятнадцать встроенных модулей, среди которых, например, эквалайзер, компрессор, FFT-фильтр, «растягиватель» времени воспроизведения, темпа и высоты тона сигнала.
В-четвертых, в ней имеются встроенные средства анализа звуковых данных, использующие оконные функции Bartlett, Hamming и Hanning, а также работает режим отображения в дорожках спектрограммы сигнала с изменяемым вручную диапазоном измерения.
Есть ли у Audacity серьезные недостатки? Довольно неприятным моментом является то, что не поддерживается оригинальный интерфейс VST-модулей. Связано это с лицензионными ограничениями на VST SDK, которые были обойдены написанием своего рода мостика в виде модуля, загружающего модули VST как модули LADSPA. Качественных изменений в обработке звука при этом не происходит.
Несколько непривычной может показаться концепция проектов Audacity. Все звуковые данные программа разбивает на файлы небольшого размера. Поэтому изменения применяются не ко всем файлам, а только к части. Это позволяет заметно ускорить обработку данных, а при необходимости — вернуться к предыдущему состоянию проекта.
Одну новую фичу версии 1.2.0 я постоянно держу включенной — многоинструментальный режим, хорошо знакомый пользователям Samplitude: в зависимости от того, над какой частью дорожки находится курсор мыши, включается тот или иной инструмент редактирования. Плюс к этому Audacity 1.2.0 отличается от 1.0 прекрасной управляемостью с клавиатуры. Горячие клавиши легко переназначаются и даже сохраняются в файл схемы, которым можно поделиться с заинтересованной общественностью.
Словом, Audacity из любительского проекта за полтора года превратился в мощный и удобный продукт, который все отчетливее обретает профессиональные черты. Очевидным признаком таковых для меня является желание использовать программу для всех задач, связанных с обработкой звука: согласитесь, мало кому охота использовать плохой микроскоп для забивания хороших гвоздей.
Подводя итоги, попытаюсь ответить на главный вопрос статьи: жить ли музыкантам под Linux?
Музыканты могут уже сейчас пробовать переходить на Linux в тех случаях, когда они:
- не используют MIDI вообще;
- используют MIDI, но без VSTi/DXi, довольствуясь синтезаторами и семплерами7;
- привыкли писать музыку в трекерах;
- только набирают ноты;
- просто экспериментаторы; можно сказать, фрики от музыки.
Последние три пункта заслуживают отдельного разговора. Что касается уже прославившейся музыкальной рабочей станции Mediastation (www.lionstracs.com) на базе Linux от компании Lionstracks — не хочу отнимать писательский хлеб у Анатолия Левенчука, который знает о ней больше всех.
Споры о судьбе свободного софта на десктопе давно стали неотъемлемой частью любого форума. В роли жилистых кулаков апологетов «опенсорса» при этом выступают Mozilla, OpenOffice.org и иже с ними. Однако и мультимедийное ПО для Linux становится все боевитее и обрастает мышцой. И если в тяжелом весе проприетарный софт задавит свободный по функциональности, то в среднем — шансы на победу скорее равны.
1 ASIO (Active Streaming In/Out) — технология фирмы Steinberg, дающая программе возможность очень быстрого и стабильного доступа к звуковой плате, что немаловажно при работе с виртуальными синтезаторами и мониторинге входного сигнала.
2 Справедливости ради стоит отметить, что есть еще третий MIDI-секвенсор — seq24 (www.filter24.org/seq24), но он заведомо урезан в функциональности, поскольку ориентирован на концертное использование. Что до Jazz++, недавно возрожденного под именем Alacrity, новых релизов его пока не было, хотя ожидаемая интеграция с также кроссплатформным редактором Audacity сама по себе интересна.
3 MMC и MTC поддерживаются уже сейчас.
4 Linux Audio Developers — группа разработчиков свободного софта для обработки звука.
5 К слову, пока писалась статья, вышел Rosegarden 0.9.7, в котором обнаружился улучшенный субредактор velocity для нотного и матричного режимов, а сразу же вслед за ним в CVS программы лег предварительный код поддержки проектов Hydrogen. И как только Hydrogen научится понимать входящие MIDI-сообщения, проблема с модульной драм-машиной будет наполовину решена.
6 Dithering — операция, в основе которой лежит добавление к сигналу слабых специфических шумов, позволяющих скрыть шумы квантования.
7 Впрочем, лукавлю: с месяц назад вышла VSTi-«обвязка» для Vstserver, позволяющего запускать VST-модули как LADSPA.