- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF93:Мытарства композитора
Материал из Linuxformat.
Содержание |
Приключения звука
Готовы к новому проекту? Амиас Ченнер, энтузиаст электронной музыки и ветеран Linux, расскажет, как легко построить музыкальную студию на открытом ПО.
Любой, кто хоть немного занимался электронной музыкой или бывал в студии звукозаписи, вспомнит этот момент: «Ну вот, опять зависла». У Linux-пользователя подобные фразы всегда вызывают улыбку, и я невольно задумываюсь о том, как повел бы себя в такой ситуации Linux. И вот, когда моя студийная система на Windows в очередной раз «поплыла», я решил поискать выход: заменить аудио-программы Windows открытыми эквивалентами и построить музыкальную Linux-студию – а затем испытать ее с каким-нибудь новым хитом.
Раньше со звуком на Linux работали только одержимые, но заплатки ядра для поддержки приоритетов реального времени и растущее качество дистрибутивов сделали идею реально привлекательной – в особенности при неприятной необходимости поддерживать коммерческую ОС. Все больше музыкантов предпочитают программы инструментам, и все больше музыкантов обзаводятся собственными студиями. Качество профессиональных инструментов просто не поспевает за качеством ПО.
Существуют умелые, талантливо написанные и надежные коммерческие аудиопрограммы, но для многих полупрофессиональных пользователей они слишком дороги, чересчур требовательны к аппаратным ресурсам или сложны в изучении, чтобы соблюдать соотношение цена/качество, особенно если совместимость или надежность не гарантируются. Иногда единственный способ избежать начальных расходов – установка нестабильной пиратской версии, но он требует продолжительного освоения и встраивания программы в креативную аудиосреду. Для увлеченного музыканта прервать полет вдохновения из-за «жучков» – последнее дело, поэтому качество ПО очень важно. На Linux можно, как минимум, «отремонтировать» ПО – и, естественно, не нужно за него платить.
Сцена открытого ПО
Ранние версии Rosegarden, MIDI-секвенсора и редактора, и Ardour, многоканального рекордера и редактора, имели пугающе примитивные интерфейсы. Аудиопрограммы для Linux традиционно использовали стандартные органы управления, в основном негодные или, в лучшем случае, неудобные. Можно считать, что настраиваемые органы управления – не главное в аудиопрограмме, но, сделанные с умом, они способны создать очень удобную и отзывчивую рабочую среду.
Качество интерфейсов, впрочем, улучшалось, и хотя FOSS пока не получил что-то столь же впечатляющее, как проприетарные Ableton, Nuendo или Reason, разрыв стремительно сокращается. В изобилии распространяя общедоступные, загружаемые CD, содержащие полные комплекты ПО на все случаи жизни, Linux может сделать электронную музыку доступной повсеместно, наравне с акустическими инструментами.
Часть 1 Настройка
Как я настроил выбранное ПО Linux
Как минимум, понадобятся многоканальная звуковая карта, приличный микшер и хороший набор колонок. В моем случае один очень щедрый мой друг одолжил мне большую часть профессиональной оснастки, которой он пользовался для звукозаписи в студии на базе Windows. Конфигурация моей машины: Pentium 4.2 ГГц (1 ГБ ОЗУ и 120 ГБдиск UDMA). Прежде чем настраивать Linux для работы с аппаратурой, нужно было принять важные решения в отношении ПО: ведь взяв негодные инструменты, можно загубить творчество бесконечными заплатками, конверсиями и – о ужас! – математикой.
Первый вопрос – выбор дистрибутива. Хотелось найти дистрибутив, заточенный под аудио, снабженный музыкальным ПО и допускающий несложное добавление программ. Основными претендентами были 64 Studio, Studio To Go, Agnula и Ubuntu Studio. В конце концов я остановился на 64 Studio, так как это небольшой дистрибутив на основе Debian, включающий все стандартные аудио-инструменты Linux, настроенные на работу с Jack в реальном времени. Кроме того, есть преднастроенная поддержка кластеризации и SMP. Пусть мой компьютер не 64-битный и не многопроцессорный, но лучше вырабатывать стандарт на дистрибутиве, нацеленном на будущее. Было также желание обойтись без компиляции.
Подбор ПО не составил труда, ведь в 64 Studio для выполнения любой работы предназначена единственная избранная программа. Все программы скомпилированы с поддержкой 64-битной SMP, 96-КГц аудио и совместимыми версиями ПО для любых подключений. Со многими коммерческими программами использование SMP требует дополнительной лицензии.
Сборка
Итак, что для нас приготовил 64 Studio? Ardour отвечает за многоканальную запись, предоставляя несколько аудио-вводов, выводов и каналов, с помощью которых можно использовать LADSPA или VST для вставки эффектов. Audacity будет аудио-редактором, альтернативы ему просто нет. Jamin предоставляет мощный инструмент тонкой настройки миксов с 1,024-полосным эквалайзером и компрессором. MIDI-секвенсор – Rosegarden, это очевидно. Он работает с MIDI- и аудио-модулями (LADSPA, DSSI, а скоро и VST), но не будет воспроизводить аудио-файлы, если не установить соответствующий модуль. Для ударных есть Hydrogen, обладающий мощным аранжировщиком барабанных паттернов, базовыми возможностями управления сэмплами и управлением MIDI, которое плавно интегрируется в Rosegarden через процедуру импорта файлов.
Инсталлятор 64 Studio, совершенно стандартная текстовая штука, за пять минут провел меня через процесс разбивки диска и создания пользовательской учетной записи. Я выбрал единственный раздел, но для коммерческой студии было бы разумнее применить несколько учетных записей и дисковые квоты. Создание отдельного раздела для журнала поможет предотвратить захват системы единственным пользователем.
При выборе звуковой карты для профессионального использования выгоднее быть разборчивым: у карт потребительского уровня (на вас смотрю, Creative Labs) скверное соотношение сигнал/шум, способное привести к появлению в ваших миксах совершенно неожиданных пассажей. Включив звуковую карту потребительского уровня в студийный микшер полуприличного качества, вы будете неприятно удивлены тем, сколько треска и хруста производят движения мыши и обращения к винчестеру. При использовании мощной звуковой аппаратуры подобные шумы могут лишить вас слушателей.
Я воспользовался звуковой картой Echo Layla3G 8-in/8-out PCI с коммутационным боксом. Кроме Echo Digital, Linux поддерживает карты RME, Event и Edirol – все это старые брэнды, поддержка в Linux новых карт пока недостаточна. Это огорчает, но старые карты все же очень широко распространены. К тому же есть причины для оптимизма в свете недавнего заявления Грега Кроа-Хартмана [Greg Kroah-Hartman], обращенного к производителям, о поддержке разработки Linux-драйверов для их устройств (http://www.kroah.com/log/linux/free_drivers.html ). 4FrontTechnologies (http://www.opensound.com/ ) тоже разрабатывает драйверы для популярных карт профессионального уровня от M-Audio: линеек Audiophile и Delta.
Обычно профессиональные звуковые карты имеют надежно изолированные чипы, хорошо заземленные и экранированные от электромагнитного шума, производимого окружающей аппаратурой. Карты USB и FireWire реже страдают от шумовых проблем, так как находятся обычно за пределами системного блока. К счастью, Linux-поддержка USB- и FireWire-карт значительно улучшена благодаря надежной работе с общими классами аудиоустройств и выпуску Freebob, драйвера для ALSA и Jack.
Низкая латентность
В 64 Studio я сразу направился в QjackCtl (интересное название для альбома, а?), чтобы узнать, правильно ли настроена моя карта Layla3G с Jack. Увы, нет. Зато работала ALSA. Все, что мне оставалось сделать -это изменить количество входных и выходных каналов на восемь, установить частоту дискретизации 96 KГц и задать возможно более низкую латентность. С тех пор система не знала простоя и действовала с такой производительностью, что регулярно переполняла винчестер.
Затем я загрузил Ardour. Хотя все было готово к немедленной записи, первые два канала оказались не в состоянии взяться за дело. Стандартная конфигурация ALSA на 64 Studio не затрагивала микшер, это осложнило диагностику проблемы. Карту Layla3G лучше всего настраивать с помощью программы Echomixer, позволяющей связывать между собой любые входные и выходные порты, а также настраивать уровни усиления и подавления. Но это не спасло, и мне пришлось заключить, что два первых канала на Layla3G настроены на цифровой ввод и вывод вместо аналогового.
Управление аудио с помощью Jack и эффективно, и просто в изучении. Jack предоставляет широкий выбор вариантов связывания входов и выходов в стиле «многие со многими». Выводами могут считаться не только выводы звуковой карты, но и вводы аудиопрограмм; вводы могут быть не только вводами звуковой карты, но и выводами аудиопрограмм. Можно ненароком создать обратные петли, так что будьте осмотрительны. QjackCtl упрощает управление этими связями с помощью специальной соединительной кнопки.
Проблема Motu
Единственным устройством, не поддавшимся настройке, было Motu MIDI Express 128 – к моей досаде, так как оно управляет MIDI-синтезаторами. Я посоветовал бы избегать аппаратуры Motu: лучше пользоваться устройством от M-Audio или дешевым MIDI-интерфейсом USB. Я попробовал три синтезатора: станковый Access Virus, установку Novation Super Bass и Roland Juno-60 с интерфейсом Kenton Pro-DCB MIDI, и нашел, что управлять ими можно, связав MIDI-выводы от Layla3G через сквозные порты MIDI на синтезаторах. Иметь специальный MIDI-порт для каждого синтезатора было бы неплохо, но это пока подождет. Моя MIDI-клавиатура Evolution MK-249C работала превосходно.
Оптимизация в реальном времени
Упомянутые мной заплатки ядра реального времени позволяют процессам работать в условиях приоритета жесткого реального времени, игнорируя прерывания, имеющие более низкий приоритет. В случае с аудио можно присвоить наивысшие приоритеты звуковой карте, за ней жесткому диску – тогда получится непрерывная аудиозапись. Это достигается передачей chrt (часть пакета schedutils) ID процесса поточной версии прерывания для каждого устройства, а также уровня приоритета для каждого процесса. Чтобы просто посмотреть уровни приоритета, можно ничего не вводить.
Приоритеты реального времени – это, конечно, риск для большинства систем, поэтому управлять ими может только администратор. Но существуют механизмы для передачи его полномочий избранным пользователям. Realtime-lsm – наиболее популярный из них, но в настоящее время эта программа почти полностью уступила место Rlimits, использующей PAM для авторизации пользователей, запрашивающих приоритет реального времени. Это означает, что отпала необходимость запускать Jack или аудиопрограммы от имени суперпользователя. Примечательное свойство систем с низкой латентностью – это некоторое упрямство приоритизированных приложений и нежелание быстро обновлять экран, так как они ни с кем не хотят делиться ресурсами процессора. Зато такая система выдает монолитную аудиозапись.
Итак, моя новая аудиосистема была почти готова. Оставалась только оптимизировать жесткий диск, чтобы он справлялся с аудиопотоками реального времени. Хотя приоритет для диска и был установлен, сам диск все же оставался в стандартном режиме, что приводило к зависанию при попытке одновременной записи более четырех каналов. Несколько пассов с hdparm для установки 32-битного режима (-c 1), UDMA (-d 1 -x 66) и мультисекторной передачи (-m 16) завершили работу. Если бы я захотел включить в работу все восемь каналов, то мне, вероятно, потребовался бы RAID или, как минимум, SATA-диск, чтобы справиться с записью/чтением потока аудиоданных.
Часть 2 Процесс пошел
На что же способна свободная студия?
Чтобы протестировать студию, я пригласил многообещающую группу под названием The Mandibles для записи нескольких дорожек. Там были три гитариста, один клавишник, двойной бас, саксофон, два вокалиста, труба и ударник. Было непросто, ведь в моей студии нет отдельных боксов для записи, поэтому я нашел несколько тихих мест в своей кухне и установил в них микрофоны: Shure SM58 для струнных, SM57 для ударных и баса, и AKG для вокала и духовых.
Ardour весь вечер безупречно записывал четыре канала разом в поразительно чистый 32-битный 96-килогерцовый файл WAV-фор-мата. Я легко перемещал записи между каналами и вставлял новые отрезки без ущерба для производительности. Трудности появились лишь при попытке одновременной записи шести каналов (очевидная проблема быстродействия жесткого диска), даже на низких битрейтах. Мне хотелось записать для каждого микрофона отдельный канал в Ardour, чтобы получить максимальную гибкость при дальнейшей обработке звука. Вместо этого все микрофоны были подключены к микшеру и сгруппированы на входы звуковой карты как две стереопары.
Имея в распоряжении всего четыре канала, я мог быстро переключаться между дорожками и добавлять эффекты без замедления. С быстрым жестким диском Ardour работает более гладко и никогда не запинается, даже при шестиканальной записи. Отладив процесс аудиозаписи, я предполагаю записывать все восемь каналов одновременно.
Вместо микширования в Ardour, я воспользовался микшером и направил все аудио-каналы обратно на звуковую карту для записи. Таким образом, я мог пользоваться отдельным эквалайзером для каждого канала микшера и аппаратным компрессором вокала. Проще делать это физическими органами управления, а возможность расположить все дорожки рядом облегчает наблюдение за настройкой.
Все программы моей новой системы прекрасно взаимодействовали, хотя пользователям коммерческого ПО интеграция между ними может показаться не столь тесной, как им привычно. Я пользовался многими разными программами для решения разных задач, что делало переключение между дорожками трудоемким и подчас бессистемным. Тем не менее я сумел открыть файл Hydrogen в Rosegarden и увидеть автоматически установленную связь между двумя программами. Мне осталось лишь добавить инструменты. В будущем интеграцию между Linux-приложениями должен углубить проект LASH – см. http://savannah.nongnu.org/projects/lash .
Гармония ПО
В моем случае, Linux в деле звукозаписи имел успех. Настройка проще, чем у Windows, меньше перезагрузок и не требуется загрузка драйверов (Windows не включает драйверы и ПО в стандартную инсталляцию). А главное, не понадобилось ничего устанавливать необычным, особенным способом. Нельзя не упомянуть о жестких ограничениях на число MIDI- и аудиопортов в Windows. Зато я потерял некоторые мои любимые проприетарные программы, и мне трудно ощущать себя столь же креативным на Linux с самого начала из-за упрощенных интерфейсов и отсутствия демо-файлов для обучения.
Ядро с поддержкой приоритетов реального времени - это здорово, хотя инструмент добавки модулей не работает, и простые добавления к ядру недоступны. При этом ничто не мешает собрать собственное ядро и добавить, например, Xgl для освобождения процессора от бремени отрисовки графики, или добавить привычную программу вроде Vi (по умолчанию в 64 Studio стоит Nano). Экспериментирование - одна из прелестей свободного ПО, и вы можете поискать совета и вдохновения на http://linux-sound.org/ , http://www.linuxaudio.org/ и http://lalists.stanford.edu/ Дерзайте же - освободите внутреннее Я и возьмитесь за рукоятки.
Интервью: Дэниел Джеймс
Дэниел Джеймс -директор проекта аудио-дистрибутива 64 Studio. Он учредил 64 Studio Ltd, предоставляющую услуги по разработке независимым поставщикам и поддержку пользователям в студиях (http://www.64studio.com/ ) Кроме того, Джеймс владеет студией звукозаписи на основе Linux недалеко от дома, на острове Уайт.
Linux Format: Каково основное требование к студии звукозаписи на базе Linux? Гибкость, стабильность, скорость…?
Дэниел Джеймс: Надежность. Не просто стабильность, а полное отсутствие неполадок: необходима уверенность в том, что оснастка не подведет. При записи живой музыки второй попытки не бывает.
LXF: Сколько дорожек вам случалось записывать одновременно?
ДДж: На моей системе Opteron я еще никогда не приближался к физическому пределу аппаратуры. Сегодня количество каналов обычно ограничивается числом каналов аудиоинтерфейса, а не пределами программы или процессора. Теоретически, пользуясь Ardour и звуковой картой RME MADI, можно записывать до 64 каналов одновременно - но такое количество мало кому нужно
LXF: Насколько близки Linux-решения к своим проприетарным соперникам?
ДДж: Не всегда можно найти подходящий эквивалент, но для работы с музыкой средств вполне достаточно. В некоторых случаях, особенно в экспериментальных жанрах, именно проприетарному ПО недостает функциональности.
LXF: Можно ли монтировать фонограмму с помощью Linux?
ДДж: Легко. Имея старый компьютер со слабым процессором, можно обрабатывать дорожки по отдельности с использованием LADSPA-эффектов, например, в Audacity. Счастливые обладатели новейшего оборудования могут монтировать в реальном времени с помощью Jamin
LXF: Есть ли средства для компрессии, сглаживания и ауторинга CD по Red Book?
ДДж: Jamin обладает хорошим трехдиапазонным компрессором, а также 1,024-полосным эквалайзером с ручным подбором кривых, упреждающим ограничителем и другими инструментами. Сглаживание вывода можно делать из Ardour, Audacity или прямо из Jack. Что касается экспорта аудио в Red Book, то сегодня люди в основном отправляют WAV-файлы на CD-R дубликаторам и предоставляют им заботу об остальном, поэтому я никогда не слышал, чтобы кто-нибудь жаловался на нехватку свободного ПО для записи DDP-файлов на Exabyte-магнитофон
LXF: Вы считаете, свободное ПО вносит свой вклад в коллективизацию производства музыки?
ДДж: Определенно, хотя существует риск чрезмерно увлечься созданием инструментов и забыть о самой музыке. Правда, хорошо написанная программа красива сама по себе, а аудиосообщество Linux гораздо дружелюбнее к новичкам, чем некоторые музыкальные союзы
Полный текст интервью см. на http://www.linuxformat.co.uk/mag/james.html
Врезки
ПО для студии
В Linux имеется ПО для всех видов студийных работ. Чтобы помочь вам сориентироваться, здесь приведены Linux-эквиваленты известных программ.
ПО | Windows | Mac | Linux |
Звуковой редактор | Adobe Audition, Audacity, Sound Forge, Wave Lab | Audacity, Sound Studio | Audacity |
Многоканальная запись | Adobe Audition | Ardour, Digital Performer,
GarageBand, Logic Audio | Ardour |
MIDI-секвенсор | Cakewalk, Cubase | Cubase, Logic Audio, Metro | Rosegarden |
Ударные | FruityLoops, Reason | Doggiebox, iDrum, | Hydrogen |
Программные синтезаторы | Ableton, FruityLoops, Reason | Ableton, Reason, VirSyn | QSynth, ZynAddSubFX |
Linux-студия звукозаписи
Микширующая консоль Это центр студии, все аудиовходы проходят сквозь консоль перед передачей на Linux-машину по одному из четырех отдельных выходных каналов
Linux-компьютер При четырех входах можно одновременно записывать с микширующей консоли два стереоканала. Большее количество входов позволяет записать более широкий диапазон. Отсюда также отправляется и принимается MIDI для секвенсирования синтезатора.
Электрогитара Требует особого аудио-входа под названием high-Z, для адаптации гитарного аудиосигнала. Таким вводом располагают очень немногие звуковые карты, что вынуждает использовать микширующую консоль или вывод от специального устройства для генерации гитарных эффектов
Клавиатура синтезатора Хотя клавиатура не производит звук, она часто используется для отправки MIDI-нотных данных на Linux-машину. Если необходимо воспроизведение звука, то аудиовывод должен быть подключен либо к микшеру, либо к компьютеру.
Внешние эффекты Воспроизведение некоторых эффектов, в особенности реверберации, лучше предоставить внешним устройствам, чем программе. Используя канал отправки эффекта на микшер, можно отправить некоторое количество звука и смешать возвращенный аудиосигнал с первоначальным фрагментом
Микрофон Настоящему микрофону необходимо 48-В питание, подведенное от предуси-лителя через особый трехштырьковый XLR-разъем. Большинство микшеров оснащается несколькими предусилителями, но в комплект звуковых карт они включаются редко
Скрипты реального времени
Два скрипта для просмотра и настройки приоритетов IRQ реального времени:
check_irq_priority
#!/bin/bash chrt -p `pidof "IRQ $1"`
set_irq_ priority
#!/bin/bash chrt -f -p $2 `pidof "IRQ $1"`
Советы по звукозаписи
Чтобы упростить работу с Rosegarden, установите псевдонимы для ваших устройств в MIDI-менеджере. Некоторые распространенные устройства обладают даже банками профилей, с корректными параметрами и названиями патчей. Загрузить их можно, нажав кнопку Banks (Банки) в MIDI-менеджере. Получив работоспособную конфигурацию студии в Rosegarden, можно сохранить ее как «студию по умолчанию». В этом случае уже при загрузке Rosegarden все инструменты будут настроены автоматически. Перейдите к Composition > Studio > Save Current Document As Default Studio (Композиция > Студия > Сохранить текущий документ как студию по умолчанию). Многим нравится запускать Jack одновременно с началом сессии gnome-session. Чтобы добиться этого, просто выберите пункт Sessions (Сессии) в меню Desktop > Preferences (Десктоп > Параметры) и добавьте QjackCtl в список автозагрузки. Если вы хотите, чтобы автоматически запускался транспорт Jack, воспользуйтесь вместо этого qjackctl -s. Сохранение маршрутизации Jack для последующего использования предотвратит трудоемкую перезагрузку студийной конфигурации для каждой дорожки. Просто щелкните Save (Сохранить) в разделе наборного поля QjackCtl.
Отображение маршрутизации Jack иногда сбивается. В этом случае щелкните New (Создать) для обновления раскладки с использованием данных о текущем состоянии подключений.