Журнал LinuxFormat - перейти на главную

LXF89:Музыкальный Linux

Материал из Linuxformat
(Различия между версиями)
Перейти к: навигация, поиск
м (шаблон)
 
Строка 1: Строка 1:
 +
{{Цикл/Музыкальный Linux‎}}
 
'''Музыкальный Linux''' Свободный инструментарий для свободного творчества
 
'''Музыкальный Linux''' Свободный инструментарий для свободного творчества
 +
 
== Краеугольный камень ==
 
== Краеугольный камень ==
 
''ЧАСТЬ 2: '''Петр Семилетов''' нехотя выпускает из рук виртуальные барабанные палочки и берется
 
''ЧАСТЬ 2: '''Петр Семилетов''' нехотя выпускает из рук виртуальные барабанные палочки и берется

Текущая версия на 23:20, 5 декабря 2008

Музыкальный Linux Свободный инструментарий для свободного творчества

[править] Краеугольный камень

ЧАСТЬ 2: Петр Семилетов нехотя выпускает из рук виртуальные барабанные палочки и берется за клавиатуру, чтобы рассказать вам о драм-машинах.

Важной частью среды обитания музыкальных программ является звуковой сервер Jack (http://jackaudio.org). Некоторые (однако не все) программы могут выводить звук только с его помощью. Что же такое Jack?

(thumbnail)
Рис. 1. Главное окно QJackCtl.

Грубо говоря – это виртуальный микшер для перенаправления звуковых потоков, исходящих от программ-клиентов. Такие клиенты могут иметь входные и выходные порты. Jack – прослойка между ними. Вы можете запустить какой-нибудь синтезатор или плейер, направить из него звук через Jack на виртуальную стойку с эффектами, а со стойки послать обработанные звуковые данные в еще какую-нибудь программу-клиент. Для управления всем этим используются графические интерфейсы, такие как QJackCtl или QJackConnect.

Однако, если вы не собираетесь заниматься таким «диджейством», а хотите просто работать с Jack и выводить на него звук из используемой вами программы (а Jack, в свою очередь, будет передавать его на выходной порт звуковой карты посредством ALSA или другой звуковой подсистемы), то достаточно просто запустить Jack – в простейшем случае это делается командой:

jackd -d alsa

Параметр -d задает тип звуковой подсистемы. В Linux это, в большинстве случаев, ALSA. Гораздо реже используется OSS – нынче разве что для профессиональных дорогущих звуковых карт. Каждой подсистеме можно передавать дополнительные параметры. Их список для ALSA вы получите, если дадите в консоли команду:

jackd -d alsa --help

Важным аспектом в использовании Jack является то, что Jack не добавляет временную задержку при перенаправлении сигнала.

(thumbnail)
Рис. 2. JackEQ, JackRack и QJackConnect

На этой иллюстрации вы видите программы: JackEQ, JackRack и QJackConnect. QJackConnect служит для того, чтобы связывать программы-клиенты Jack, соединяя их виртуальные входные и выходные порты. Виртуальная стойка с плагинами-эффектами JackRack получает звуковой сигнал с порта ALSA PCM capture (им может быть, например, порт Line-In звуковой карты). От JackRack, пройдя обработку подключенным к стойке плагинами, звуковой поток направляется на эквалайзер JackEQ, а с него – на выходной порт ALSA PCM. Отметим, что на картинке эти связи не совсем очевидны, поскольку стрелки, их представляющие, из-за прокрутки списков с портами исчезают.

Я обратился к теме Jack потому, что программы, о которых речь пойдет далее, так или иначе могут использовать Jack, а программы, о которых я расскажу в третьей части статьи, будут работать только с Jack.

В прошлый раз мы говорили о трекерах, а сегодня речь пойдет о другом классе программ, эдакой промежуточной нише между ними и навороченными цифровыми аудиостанциями (DAW – Digital Audio Workstation). Если такое сравнение допустимо, то трекеры – это холодное оружие, драм-машины и программные синтезаторы/сэмплеры/секвенсеры (не плагины) – это пистолеты-автоматы, а DAW – это уже артиллерия.

Музыку, созданную в некоторых программах «промежуточной» ниши, можно использовать как самостоятельную, либо же микшировать с партиями в других программах. Сегодня я расскажу о двух, по моему мнению – наиболее ярких представителях программ такого вот «среднего» класса.


[править] Hydrogen

Web: http://www.hydrogen-music.org

(thumbnail)
Рис. 3. Hydrogen собственной персоной.

В отличие от большинства своих Windows-аналогов, которые созданы в виде плагинов, Hydrogen – это драм-машина (барабанная машина), реализованная как отдельная, самостоятельная программа. В качестве библиотеки для графического интерфейса разработчики выбрали Qt, а своей темной цветовой гаммой интерфейс Hydrogen напоминает Adobe Premiere Pro 2 и Nuendo.

Hydrogen способен воспроизводить звук на одной из звуковых подсистем – OSS, ALSA, Jack, PortAudio. При первом запуске выбран, кажется (я давно не запускал Hydrogen впервые, так что не помню), Jack – поэтому, если вы не слышите звук, запустите предварительно Jack, или переключитесь на ALSA. На мой взгляд, Jack для вывода звука следует использовать лишь в том случае, если вы собираетесь запускать Hydrogen одновременно с какой-нибудь другой музыкальной программой.

Hydrogen поддерживает MIDI – это значит, что вы можете наигрывать мелодию с MIDI-клавиатуры, а также экспортировать песню в MIDI-файл. Другой формат вывода – WAV. Это наилучший способ работы с Hydrogen, поскольку, если вы экспортируете песню в MIDI, то MIDI-файл будет воспроиводиться MIDI-инструментами неизвестно какого качества. А в Hydrogen звуки ударных воспроизводятся с помощью наборов загружаемых пользователем звуковых банков.

В составе дистрибутива Hydrogen идут два банка: GMkit и TR808EmulationKit, дополнительные банки можно свободно скачать с сайта продукта – особенно советую вам UltraAcousticKit. Оба «стандартных» банка основаны на сэмплах из «железных» драм-машин Roland. GMkit – акустические ударные, а TR808EmulationKit больше подходит для техно и сходных стилей. Отмечу, что звучание этих банков лучше, нежели стандартные банки той программной драм-машины, которая идет в комплекте с Cubase и Nuendo.

И еще немного о банках. Hydrogen работат с сэмплами в форматах WAV и FLAC. Есть встроенный редактор инструментов. В Hydrogen вы можете сделать свой собственный банк звуков и экспортировать его во внешний файл, чтобы передать кому-либо (например, на тот же сайт Hydrogen).

Интерфейс у Hydrogen довольно прост. Композиция состоит из паттернов, в которых вы ставите точки там, где должны играть нужные вам ударные инструменты. В паттерне можно также выставить громкость звучания каждой ноты – при умелом использовании этого приема вы добьетесь относительно «живого» звучания партии ударных, если, конечно же, «живое» звучание вам необходимо. Кроме того, для очеловечивания партии, в микшере предусмотрено три регулятора – Humanize, Timing и Swing, при изменении положения которых Hydrogen начнет «ошибаться» при воспроизведении.

(thumbnail)
Рис. 4. Окно редактирования паттерна.

Для редактирования паттерна служит окно Редактор паттернов. Чтобы из него воспроизводилась мелодия (а не вся песня целиком), надо на нижней панели управления переключить режим воспроизведения с Song на Pattern. Для удобства включите там же зацикленное воспроизведение.

Если вам надо проиграть всю песню, переключитесь на режим Song. Паттерны воспроизводятся в порядке, заданном в окне Редактор композиций. У вас есть таблица, где в столбик слева записаны названия паттернов, а сверху идет временная шкала. Надо поставить в таблице квадратики в тех местах, где – а вернее, когда – должен звучать соответствующий паттерн. Несколько паттернов могут звучать одновременно.

(thumbnail)
Рис. 5. Окно микшера.

Наконец, еще одно важное окно – микшер. Кроме настройки – отдельной для каждого канала – громкости и панорамы (положения звука в стереопространстве), в мастер-секции находится кнопка FX, нажав на которую, вы получите секцию из четырех эффектов. Роль эффектов играют плагины LADSPA, которых существует великое множество. Эти плагины можно взять на http://plugin.org.uk.

Чтобы подключить плагин, нажмите кнопку Edit и в открывшемся окне нажмите другую кнопку – «Выберите FX» – а затем уж выбирайте эффект из списка. В микшере в секции эффектов рядом с каждым эффектом есть кнопка BYP (Bypass, обход). Если ее включить, звуковой сигнал будет идти в обход эффекта, то есть эффект будет временно выключен. А от регулятора Return зависит степень возврата звукового сигнала от эффекта. Чем более Return выкручен вправо, тем больше чувствуется влияние эффекта.

Для каждого канала в микшере, под регулятором панорамы, доступно четыре маленьких светло-серых регулятора. Это посылы на эффекты. Они играют примерно ту же роль, что и Return. Чем больше уровень посыла, тем больше инструмент будет обработан эффектом.

Важный практический совет. Как «подружить» Muse и Hydrogen? Muse – многофункциональная цифровая звуковая рабочая станция, о которой мы поговорим в следующей статье. В Muse вы можете записывать мелодии MIDI-инструментами, воспроизводить их виртуальными синтезаторами и банками звуков Sound Fonts. Кроме того, в Muse можно сводить живой звук, записанный с микрофона или линейного входа. Теперь представим, что мы хотим всю песню сделать в Muse, а партию ударных – в Hydrogen.

Конечно, можно вначале сделать ударные в Hydrogen, затем экспортировать их в WAV и поместить в проект в Muse. Но допустим, что нам нужно редактировать ударные по ходу правки всей композиции. Не будем же мы постоянно сохранять из Hydrogen в WAV! Нам нужно, чтобы, когда включается воспроизведение песни в Muse, начиналось воспроизведении партии ударных в Hydrogen, причем с того же момента времени, с которого начал свое воспроизведение Muse. Как это сделать? Рецепт таков:

(thumbnail)
Рис. 6. Настройки Muse
  1. Запускаем сервер Jack.
  2. Запускаем Muse и Hydrogen.
  3. В Hydrogen, на панели управления, включаем кнопку Jack trans.
  4. В Muse переходим в Настройки > MIDI-синхронизация, и в разделе «Режим синхр.» включаем «Ведущий». Теперь, если у вас есть хотя бы одна дорожка, то при включении песни на воспроизведение, автоматически будет запущена и композиция в Hydrogen.
  5. В Hydrogen создаем пустую композицию, загружаем нужный банк звуков.
  6. В Muse, идем в Настройки > MIDI-порты/Прогр. синтезаторы. Появится вот такое окно:

Для простоты примера я выбрал выходной MIDI-порт 1. Итак, этому MIDI-порту мы ставим в соответствие Hydrogen MIDI-in, выбрав этот пункт в списке Имя устройства. Hydrogen MIDI-in – это виртуальный MIDI-порт, предоставляемый Hydrogen’ом для приема MIDI-сообщений.

Теперь создаем MIDI-дорожку с ударными (правая кнопка мыши > Добавить дорожку с ударными) и указываем для нее выходной порт Hydrogen MIDI-in. Рисуем на MIDI-дорожке произвольный отрезок, выделяем его и открываем редактор ударной партии (Правка > Ударные, Ctrl-D). Редактируем партию. По-прежнему из Muse, запускаем песню на воспроизведение. Сходным образом настраивается и MIDI-синхронизации с Rosegarden (еще одна виртуальная рабочая станция).

Завершая рассказ о Hydrogen, не могу обойти вниманием некоторые другие его положительные качества. В режиме реального времени, вы можете «играть» на Hydrogen’е не только через MIDI-клавиатуру, но и с помощью обычной компьютерной клавиатуры. Для оживления звучания инструментов Hydrogen позволяет добавить коэффициент случайного изменения питча (базовой частоты) инструмента. Делается это в редакторе инструментов с помощью регулятора Random pitch. Замечу, что этот способ не следует применять к бас-барабану (kick), потому что в реальной ударной установке в бас-бочку бьют механически с помощью специальной педали с колотушкой. Вы нажимаете ногой на педаль и колотушка лупит по барабану. При этом может изменяться громкость звучания, однако, не его тон. А вот уже при игре на рабочем барабане (он же малый, он же snar) звучание зависит от того, как именно вы ударяете по нему палочкой. Тут Random pitch может пригодиться.

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


[править] LMMS

Web: http://lmms.sourceforge.net

(thumbnail)
Рис. 7. Главное окно LMMS

Своим названием LMMS подобен знаменитому плейеру XMMS, поэтому человек, впервые услышав про LMMS, может решить, что это еще один плейер. На самом же деле «LMMS» расшифровывается как «Linux MultiMedia Studio». Это программа для создания музыки, а не только барабанных партий. Я помню LMMS с первой версии, когда разработчик сообщал, что-де LMMS – это «наш ответ Cubase». Однако, на Cubase он вовсе не похож, ни внешним видом, ни функциональностью. Скорее, это свободный аналог Fruity Loops. LMMS – одна из самых красивых музыкальных программ под Linux.

Итак, что же такое LMMS? Что он дает вам как музыканту, начинающему или профи? Дорожки, на которых можно записывать музыку. Мелодия пишется либо в пианоролле (эдакая таблица, где вы прямоугольниками рисуете ноты), либо в том, что в русском переводе названо редактором ритма/лейтмотива, а в оригинале – beat+bassline editor, то есть «редактор ударных и басов». Этот последний, практически, повторяет редактор паттернов в драм-машине, то есть каждая нота инструмента/дорожки может находиться лишь в одном состоянии – включена или выключена.

Так же, как каждая квартира начинается с двери, всякая программа начинается с установки. LMMS – частый гость в дистрибутивах Linux, куда он входит в уже собранном, бинарном виде. А для установки из исходников вам понадобится Qt3. Чтобы собрать LMMS на 64-битном дистрибутиве, возможно придется немного подправить скрипт configure, дабы заменить подстроку «$QTDIR/lib» на «$QTDIR/lib64».


Кроме того, вам понадобятся заголовочные файлы библиотек вывода звука, хотя бы одной из следующих: ALSA, Jack, SDL, OSS. Также нужны библиотеки Ogg Vorbis (большинство сэмплов из комплекта LMMS идут в этом формате), libsamplerate и libsndfile. Для поддержки плагинов LADSPA исходные тексты нужно сконфигурировать с ключом --with-ladspa.

Примечательно, что в исходные тексты LMMS (и в пакетные сборки) включены сэмплы и примеры композиций, причем все это не свалено в одну кучу, а кропотливо отсортировано по тематическим папкам, которые доступны во встроенном в LMMS браузере. Кроме сэмплера, в LMMS включены также пять программных синтезаторов. Пресеты к ним в найдете в том же браузере, в папке Мои предустановки. Звучания этих синтезаторов будет более чем достаточно, если вы пишете музыку в стилях techno, trance или hip-hop, грубо говоря, все то, что можно написать в коммерческом продукте Fruity Loops, который, увы, не выпускается в Linux-версии.

(thumbnail)
Рис. 8. Вкладка сэмплов. Список «встроенных» звуков.

Тематические папки с сэмплами и пресетами доступны как вкладка эдакой панели управления, которая находится в левой части главного окна LMMS. На вкладках этой панели расположены программные синтезаторы, сэмплы, файловый браузер Мои проекты (отображающий как входящие в состав LMMS песни-примеры, так и сохраненные вами проекты) и файловый браузер общего назначения, просто отображающий вашу файловую систему (Рис. 8).

Впрочем, не обошлось и без недочетов. Нигде в LMMS вы не найдете индикатора уровня выходной громкости. Есть индикатор загрузки процессора, а над ним – осциллятор текущей волновой формы. Индикатора же громкости нет. Общей громкостью можно управлять одним-единственным ползунком, причем громкость в нем измеряется в процентах. Иными словами, правильное управление выходной громкостью сигнала отсутствует. LMMS дает возможность включить лимитер, опять-таки общий, который будет гасить перегрузку сигнала, однако никаких опций у этого лимитера нет, присутствует только кнопка в двух состояниях: включено – выключено.

Нет микшера. Громкость дорожки настраивается регулятором рядом с каждой дорожкой. Панорама дорожки доступна только в окне соответствующего дорожке сэмплера или синтезатора, причем в виде двумерного поля с надписью Surround.

Поговорим об инструментах. Любой инструмент в LMMS, будь то сэмплер или синтезатор – это плагин. Когда вы хотите сыграть определенную партию сэмплом, то это осуществляется с помощью инструмента-сэмплера Audiofile Processor (Рис. 9).

Который, к слову, обладает возможность зацикливать загруженный сэмпл, то есть создавать из него петлю. Кроме того, одним нажатием кнопки устанавливается режим обратного воспроизведения сэмпла, то есть реверс. Прочие инструменты являются синтезаторами разного назначения. Например, Plucked! Stringsynthesis предназначен для эмулирования звучания струнных. Вот как он красиво выглядит (Рис. 10).

Синтезатор Organic позволяет создавать не только звуки электро-органа, но и жесткие техно-клавиши – надо только не забывать о наличии кноба Dist (от distortion – искажение) (Рис. 11).

Еще один синтезатор – Triple Oscillator – не специализируется ни в чем, поэтому область его применения очень широка (Рис. 12).

Каждый синтезатор появляется с стандартном окне с несколькими вкладками и клавиатурой внизу, на которой можно сразу же опробовать инструмент. На первой вкладке (plugin) доступен интерфейс синтезатора. Вторая вкладка – управление фильтрами обработки сигнала, поступающего от синтезатора, а также такими его параметрами, как атака, затухание и тому подобное. Третья вкладка дает возможность включить воспроизведение аккордами и арпеджио – здесь радует огромное количество пресетов. Наконец, на вкладке MIDI можно настроить взаимодействие инструмента с MIDI-устройствами.

(thumbnail)
Рис. 13. Automation editor.

Теперь о важном касательно синтезаторов – почти каждый их параметр может быть автоматизирован, для чего служит редактор автоматизации. Чтобы вызвать его, надо нажать правую кнопку мыши на элементе управления и выбрать в контекстном меню пункт Open in automation editor (в момент написания этих строк он еще не был переведен на русский).

В этом редакторе вы можете карандашиком рисовать изменения выбранного элемента управления на временной шкале. Таким образом можно динамически изменять, допустим, громкость инструмента на протяжении нужного вам отрезка времени, либо влиять на звучание синтезируемого звука. Наличие автоматизации такого уровня говорит о высоком классе LMMS среди прочего звукового ПО, будь то для Linux, Windows или MacOS.

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

Интерфейс LMMS на первый взгляд кажется сыроватым – вероятно, из-за большого размера кнопок и некоторых других элементов управления, но потом взгляд привыкает. Кроме того, нельзя отрицать простоту использования LMMS – если, конечно, вы сталкивались ранее с подобными программами, той же Fruity Loops. Дружественность интерфейса LMMS играет очень важную роль – программу можно освоить методом «тыка». Научный «тык» необходим, поскольку за два года существования LMMS никто не удосужился написать к нему документацию. Некоторые элементы интерфейса снабжены контекстной подсказкой, но она не может заменить полноценное руководство. На сайте LMMS есть Wiki с информацией по LMMS, однако, она тоже не может претендовать на звание документации. Плохо освещены даже основные рабочие характеристики LMMS. Непонятно, какова разрядность внутреннего микширования – 16, 32, 64 бита? Как действует встроенный лимитер? Что за кнопка «высокое качество», на что именно она влияет? Где доступ к плагинам LADSPA, если я собрал LMMS с поддержкой этой технологии?

В LMMS есть импорт песен от Fruity Loops. В Wiki такая возможность заявлена как планируемая. Я нашел у себя в закромах собственные, древние композиции, написанные во Fruity Loops, и попробовал их импортировать. В самом деле, импорт некоторым образом работает – загружаются дорожки с нотами, но все дорожки (и с сэмплами, и синтезаторные) трактуются LMMS как дорожки для инструмента Audio File Processor. Кроме того, после импорта вам придется заново назначать инструментам сэмплы, но это уж не вина LMMS – ведь у Fruity Loops свои инструменты, сэмплы. А в файлах Fruity Loops хранятся, грубо говоря, только мелодии.

Еще в LMMS есть импорт MIDI, он тоже работает – сходным образом с импортом Fruity Loops, то есть после импорта вы получаете дорожки с партиями, а уж забота по распределению для них инструментов ложится на ваши плечи.


Впечатления от LMMS следующие. Разработчики мало внимания уделяют общему, однако много – частному. Частное – допустим, есть окно «Заметки» с текстовым редактором, куда вы можете добавлять какие-то свои заметки к проекту. При этом текст не простой, а с оформлением – доступно меню для его форматирования и раскраски разными цветами. Это очень здорово, но почему такая, в принципе, второстепенная для музыки штука реализована, а индикатор громкости – нет? Я понимаю, что при микшировании LMMS все равно рубит громкость на нуле децибел, но мне нужно видеть уровни громкости и иметь возможность наглядно ими управлять. Однако должен признать, что программ такого класса и возможностей, как LMMS, довольно мало. Более того, под Windows у LMMS есть только коммерческие аналоги – FruityLoops и Orion.

Что до аналогов Hydrogen под Windows, то я давно не видел в этой системе драм-машин, которые не сделаны в виде плагинов. Помню, Steinberg одно время выпускала «отдельную» программную драм-машину BBox со славным набором сэмплов. Вот Hydrogen по ощущению работы больше всего похожа на этот BoomBox, хотя возможностей у Hydrogen больше.

Остается прибавить, что следуя добрым традициям Linux, Hydrogen и LMMS распространяются под лицензией GPL, и денег за свои продукты разработчики не берут. И в какой-нибудь другой стране, где пиратства, условно говоря, нет, музыкант-любитель вполне может позволить себе работать под Linux с хорошим набором софта, не тратя на это ни одной заграничной копейки (кроме как на скачивание из Сети).

Персональные инструменты
купить
подписаться
Яндекс.Метрика