:: Напиши музыку в Linux


Автор: Aceler

Прежде чем начать сие поучительное повествование, скажем, зачем вообще нужно писать музыку под linux. Для linux-geek написание музыки под linux - вещь очевидная, поскольку "в linux есть все". Однако большинство музыкантов слабо представляет себе архитектуру linux систем и вообще, предпочитает такое ПО, по которому есть книжки и, желательно, знакомый гуру. Поэтому в подавляющее большинство работает в ворованных, но, тем не менее более-менее документированных программах под windows. Однако как только такой музыкант соберется выйти на продажу, в полный рост встает проблема лицензионности ПО, на котором были сделаны композиции. И, если для записи демо-диска это не играет особой роли, то при попытке, например, распространения компьютерной игры, музыкальный трек к которой был сделан с помощью контрафактного ПО, можно получить весьма солидный иск от компании - правообладателя. Громкий скандал был вокруг использования нелицензионного Sound Forge при подготовке части аудиоматериалов в версии Microdoft Windows XP - тогда Sony нагрела Microsoft на много-много долларов. Тут можно "малой кровью" обойтись без использования дорогих секвенсеров под Windows/MacOS - не секрет, что основной вклад в стоимость ПО музыкальной рабочей станции вносит дополнительное ПО, такое как секвенсеры и волновые редакторы, а также виртуальные инструменты и эффекты. Вариант с использованием бесплатного треккера или волнового редактора Audacity плюс секвенсера Massiva для Windows, конечно, существует. Но вопрос бесплатных инструментов и плагинов остается. Что может предложить музыканту linux? А не так уж и мало. В распоряжении linux есть очень интересные технологии, и, в первую очередь, звуковой сервер реального времени JACK. Вот о создании звуковой рабочей станции на базе linux с поддержкой JACK мы и поговорим. Итак, что нам нужно для создания полноценной студии? Компьютер (даже необязательно PC совместимый, большинство ПО кроссплатформенное, однако лично я не пробовал). Дистрибутив linux - я рекомендую Mandrake 10.1 Official, по следующим причинам: 1. Все ПО, упоминаемое в статье, распространяется в виде скомпилированных rpm фалов, что для новичков, конечно, удобно. 2. Все ПО скомпилировано именно с учетом этого дистрибутива, что гарантирует отсутствие проблем с поиском сторонних библиотек. 3. Установка этого дистрибутива под силу даже кандидату филологических наук (проверено). Тем не менее, лучший дистрибутив - тот, которым пользуется ваш знакомый гуру :). Для сторонних дистрибутивов, тем не менее, желательно ядро 2.6 с встроенной поддержкой ALSA. Звуковая карта - на сегодня поддерживаются карты Creative (все), все карты на чипах Envy24, карты Hammerfall RFE, карты на чипах C-Media, большинство AC`97 кодеков (на которых в принципе под Windows, например, делать нечего!). В общем, смотрите, поддерживается ли ваша карта звуковой системой ALSA. Процессор и память - зависят от ваших аппетитов. В принципе, просто записать звук вы сможете и на Celeron 400, но только если выключить всё, кроме звукового сервера и программы звукозаписи. Для комфортной работы рекомендую не менее 1.5 ГГц. Памяти побольше, от 256Мб. Жесткий диск - как и для любой студии, чем больше, тем лучше, обязательно 7200 rpm, можно RAID. Начнем. Сначала необходимо водрузить на нашу будущую рабочую станцию выбранный дистрибутив Linux. После чего, настроив его под себя, необходимо доустановить следующий комплект ПО на выбор:

1. ALSA
2. JACK
3. qjackctl или qjackconnect (лучше первое)
4. Секвенсер (Muse, Rosegarden, Ardour)
5. Волновой редактор (Audacity, ReZound)
6. Виртуальные синтезаторы (ZynAddSubFX, Fluidsynth)
7. Виртуальные эффекты (swh-plugins)

Все это ПО (кроме ASLA, которая должна быть в дистрибутиве) можно найти на www.rpm.pbone.net или на www.rpmfind.net. Возможно часть ПО будет в составе дистрибутива. Установка самого ПО не вызывает проблем, а вот для запуска ALSA и JACK придется попотеть.
Как уже было сказано, рекомендуется использование ядра 2.6. Этим гарантируется наличие ALSA прямо в ядре и вам не потребуется пересобирать его. Хотя лучше это все равно сделать, хотя бы ради увеличения производительности. Далее - проверьте, подгружаются ли модули для вашей звуковой карты в ядре - через lsmod. Настроить ALSA можно командой alsaconf. Не забудьте также, что необходимо также включить демон ALSA. Система OSS может эмулироваться - загрузите модуль snd-pcm-oss. Некоторые программы требуют /dev/sound/sequencer - загрузите модуль snd-seq. Для запуска JACK нужно запустить Qjackctl и из под нее запустить JACK. Либо сначала ручками запустить JACK (jackd в консоли, посмотрите параметры) а потом qjackconnect. Для получения режима реального времени, установите соответствующую галочку, и выберите приоритет. Приоритет меньше максимального, по моему, не имеет смысла. Реальное время позволит вам накладывать эффекты на потоки в момент воспроизведения/записи, также как и, например, в Cubase. Лично у меня JACK нормально работал только с правами root. Для меня это не проблема, потому я не стал разбираться. Кнопка connections на qjackctl или qjackconnect выведет список клиентов JACK, слева - доступных на чтение - справа - на запись. Вы можете выбрать справа и слева любой порт и соединить их. Причем соединений для одного порта может быть сколько угодно. Точно также осуществляется коммутация MIDI сигналов. Добавьте сюда коммутации внутри секвенсера и возможность сохранить схему и вы получите очень большую гибкость в работе нескольких программ в рамках JACK. Обратите внимание, что все программы будут работать с одинаковым приоритетом.

После этого можно запускать секвенсеры, редакторы, виртуальные синтезаторы. Краткий обзор, какие из них лучше - ниже. Скоммутировав реальный вход звуковой карты на виртуальный вход аудио-секвенсера, настраиваем выбор входа в любом микшере (например, kmix, gnome-mixer...). Для воспроизведения подключаем выход секвенсера на выход звуковой карты. Естественно, никаких проблем с многоканальным звуком, если таковой поддерживается картой (а впрочем, даже если и не поддерживается...).

Запись и сведение в принципе, ничем не отличаются от такового в Windows или MacOS. Запись на компакт-диск может выполняться любой удобной для вас программой.

Эффекты в Linux обслуживаются единым интерфейсом LADSPA. Этот интерфейс поддерживается любым ПО, что очень удобно по сравнению с двумя стандартами в windows (DX и VST). Пакет swh-plugins дает очень много плагинов в одном флаконе, однако я не нашел компрессора. Ищем.

Краткий обзор ПО:

MuSe. Musical Editor - программа, по интерфейсу отдаленно напоминающая Cubase, на сегодня лучший, на мой взгляд секвенсер. Недостаток - только 16 внутренних MIDI каналов. Достоинство - работа с виртуальными синтезаторами напрямую. Кроме того, MuSe позволяет создавать сколько угодно входных/выходных аудиотреков, а также промежуточных треком и треков посыл/возврат (по 4 эффекта на любой трек, в том числе входной). Отдельные треки заводятся также и для синтезаторов. Простая схема коммутации внутри секвенсера позволяет не ограничивать вашу фантазию.
Rosegarden. Тоже секвенсер, тоже Cubase-образный интерфейс. Отмечу не очень удобный редактор треков. Нет ограничения на количество MIDI устройств и каналов, зато всего два входных канала. Нет в жизни счастья...
Ardour. Секвенсер с ProTools-образным интерфесом. MIDI нет вообще, со звуком работает хорошо. Не наш выбор.
Audacity - функциональный аналог Cool Edit (Adobe Audition). Волновой редактор с многодорожечным сведением и наложение эффектов. Поддерживаются эффекты LADSPA, однако поддержки JACK нет.
ZynAddSubFX - могучий аналоговый синтезатор. У него модульная структура, и количество огибающих в принципе не ограничено! В интернете можно найти для него пресеты. Встроенные эффекты.
Fluidsynth - сэмплер, поддерживающий формат SF2. Просто сэмплер + 2 эффекта - хорус и фладжер. пристойный звук, хотя более тонкой настройки (как, например, в Kontakt), нет.
swh-plugins - набор более полусотни свободных плагинов для обработки звуков. Must have.







Copyright © 2006 OS_ZONE
Hosted by uCoz