Написание музыки в Linux: что есть прямо сейчас

/www/pages/modesco/ubuntovod

Недавно я прочитал о том, что Гэйб Ньюэлл всерьёз настроен на то, чтобы перенести хорошие и качественные игры в Linux. Как он считает, это именно то, чего не хватает, и что на данный момент ограничивает развитие платформы. Безусловно, он прав. Тем не менее, лично для меня есть и другая область, которая мне даже намного важнее, чем игры - это музыка. Если без игр я могу обойтись, то музыка для меня необходима - как, впрочем, и для многих других людей.

Моя жена тоже музыкант, и когда она увидела, какие секвенсоры и синтезаторы есть в Linux - она даже не стала пытаться в них разобраться, просто вернувшись к своим Cubase и Reason. На её ноутбуке есть Windows 7, и когда она пишет музыку, она просто перезагружается туда и запускает там эти программы.

Я же, пользуясь Linux уже около 10 лет, не могу так просто отказаться от того, чтобы хотя бы пробовать имеющиеся программы. В принципе, могу точно сказать, что за 10 лет всё очень сильно изменилось в лучшую сторону. И всё же то, что сейчас есть под Linux для написания музыки, очень далеко от идеала. Давайте вместе разберёмся, почему бо́льшую часть музыки всё ещё пишут на Mac OS X или Windows.

Давайте прежде всего рассмотрим DAW (digital audio workstation) - цифровые звуковые рабочие станции. Поскольку мы говорим о написании музыки (а не только о записи), нас интересуют те DAW, которые могут работать как MIDI-секвенсор.

energyXT

energyXT

Из коробки energyXT представляет из себя довольно обычную цифровую звуковую рабочую станцию, которая, впрочем, довольно хорошо работает, доступен для Linux, Mac OS X, Windows и iOS, позволяет сразу загружать музыку на SoundCloud, обладает вполне удобным интерфейсом и имеет набор встроенных инструментов и эффектов, а также поддерживает VST-плагины. Ещё вместе с energyXT идут лупы от Loopmasters.

Если хочется посмотреть подробнее, то, например, в этом видео показан процесс создания dubstep-композиции:

У energyXT я замечал два больших минуса:

1. В поставке по-умолчанию не подключить MIDI-контроллер (например, MIDI-клавиатуру). То есть опция-то такая есть, но реально попытка подключения приводит к падению программы. Пишут, правда, что есть решение - можно самостоятельно перекомпилировать libaam.so (вот тут обсуждение).

Но с другой стороны не совсем понятно, почему разработчик коммерческой программы (я покупал её за €39, но они пишут, что это со скидкой, а так €59) не включится в процесс и не решит проблему самостоятельно (известно о ней уже больше года).

Недавно они, кстати, выпустили свой виртуальный инструмент под названием XTS1, и в спецификациях к нему написали "Windows/Mac OS X compatible". Про Linux вообще ни слова. Впрочем, когда я спросил у них об этом на getsatisfaction, они ответили, что выпустить версию под Linux они планируют.

2. Без JACK energyXT не работает с моей звуковой картой ESI Juli@. А также, судя по этому обсуждению, с M-Audio Audiophile 2496). Соответственно, известно, что программа не работает на звуковых картах на snd_ice1724 и snd_ice1712. Впрочем, судя по всему, реально всё будет работать, если использовать JACK.

Но, опять же, просто "взять и включить" JACK нельзя (как это делается, например, в Renoise и LMMS). По какой-то причине разработчики не добавили опцию переключения между ALSA и JACK, а только написали, как скомпилировать поддержку JACK самостоятельно.

Тем не менее, в целом energyXT очень даже неплох, особенно на ноутбуке (у него довольно низкие требовния к ПО), так что имеет смысл скачать демонстрационную версию (до покупки работают все возможности, кроме сохранения) и попробовать.

Renoise

Renoise

Когда-то давно, когда мне было лет 5, мой старший брат постоянно писал музыку в FastTracker 2 и, вероятно, ещё в чём-то подобном. Всё это было ещё в то время, когда на компьютерах обычно стоял DOS с каким-нибудь Norton Commander`ом (или часто Volkov Commander`ом - тоже файловый менеджер от украинского программиста). Один раз я сел за компьютер, за котором он делал музыку, и стал что-то нажимать, менять ноты, и так далее. Когда пришёл мой брат, он удивился тому, насколько интересная мелодия у меня получилась. Решил, что если правильно раскидать её по каналам, то будет очень красиво.

Потом я возвращался к трэкерной музыке и в более позднем возрасте (в 8-10 лет, когда я уже начал программировать, у меня был QBasic и так далее). На винчестере всё время было много музыки в .it, .mod и .xm. Много чего осталось и по сей день. В ней есть какой-то свой, особый шарм. А маленький размер файлов (вплоть до нескольких кибибайт - зависит от размера сэмплов и прочего) всегда был неотъемлемым преимуществом, особенно когда дело касалось медленного Интернета, или компьютерных игр, которые не должны были выходить за пределы определённого размера.

Renoise - это полноценная цифровая звуковая рабочая станция, в основе которой лежит трэкерный подход к написанию музыки - в противовес более традиционному на данный момент подходу с использованием piano roll`а.

То есть если обычно в секвенсорах мы видим вертикально сориентированную клавиатуру пианино, справа от которой расположена матрица с нотами (по вертикали в ней, соответственно, высота тонов, а по горизонтали - их временно́е расположение и, соответственно, длительность), то в Renoise, как и в трэкерном ПО, есть каналы (которые могут относиться к разным инструментом), и на каждом канале по вертикали расположены, опять же, названия нот (при этом, например, "отпускание" ноты обозначается специальным словом "OFF" - соответственно, длительность ноты можно понять по расстоянию до этого слова).

Какой подход лучше - решать вам. Я, например, не могу однозначно сказать, что удобнее. Пожалуй, это зависит сразу от много: какую именно музыку вы пишете, насколько хорошо вы владеете компьютерной клавиатурой, какими программами вы пользовались раньше. Но точно можно сказать, что попробовтать Renoise стоит. Потому что играть мелодии вы можете и с MIDI-клавиатуры, а вот настолько проработанный интерфейс пока что можно встретить мало у каких DAW в Linux.

Преимуществ у Renoise полно - это и хороший, удобный микшер, и продвинутая работа с сэмплами, и отличный интерфейс для указания automation (автоматизации изменения тех или иных звуковых параметров по мере проигрывания трэка). Также есть простой MIDI mapping: выбираете какой-либо параметр и крутите на своём MIDI-контроллере какую-нибудь ручку (или fader), чтобы назначить её для этого параметра. Кроме того, в Renoise хорошая поддержка звуковой системы в Linux и довольно большое сообщество (есть даже сайт renoise.ru, и, конечно, есть официальный форум).

Ещё важным для многих может являться то, что у Renoise есть хорошая и подробная документация.

Ardour

Ardour

Ardour - ещё одна цифровая звуковая рабочая станция, у которой уже довольно большая история (первый релиз был в 2005 году) и весьма неплохой набор возможностей. Ardour является свободным ПО, позволяет создавать неограниченное количество звуковых дорожек, использовать возможности редактирования без разрушения оригинала (с неограниченным количеством возможных операций undo), автоматически компенсировать задержку в записываемом трэке в случае записи с синхронным прослушиванием других дорожек, а также имеет ещё много приятных особенностей.

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

JACK - вообще очень полезная вещь. Круг задач, которых можно решить с помощью JACK, очень велик.

Поэтому если вы видите какую-то аудиопрограмму, которая не поддерживает JACK, то, скорее всего, с этой программой лучше не связываться - потому что совершенно непонятно, как авторы могли не добавить поддержку настолько полезного и нужного инструмента.

Что касается Ardour, несмотря на то, что все основные возможности проработаны очень профессионально, поддержка MIDI-дорожек появилась только в третьей версии, которая пока что находится в разработке (хотя уже вышла 5-я бета-версия, так что можно загружать и пробовать).

LMMS

LMMS

LMMS - кроссплатформенная цифровая звуковая рабочая станция, которая первоначально задмуывалась как аналог FL Studio (тогда ещё Fruityloops).

LMMS поддерживает импортирование MIDI-файлов, а также файлов FLP (проектов FL Studio). Встроенные инструменты позволяют использовать имеющиеся у вас SoundFont2 и GUS Patches, плюс есть различные синтезаторы.

Также у LMMS есть форум и wiki с неплохой документацией на разных языках.

Плагины, VST(i), синтезаторы

Плагины, VST(i), синтезаторы

Итак, с DAW разобрались, перейдём к плагинам и синтезаторам. Вообще, в Linux есть следующие стандарты аудиоплагинов: LADSPA, DSSI, LV2, VST и VSTi.

При этом LV2 - это простой, но расширяемый стандарт, являющийся потомком LADSPA (и исправляющий ограничения LADSPA, которые уже не подходят для современных аудиопрограмм) и заменяющий DSSI.

Интересным фактом также является то, что в Linux бывает поддержка VST(i) двух разных типов. В одном варианте это родные VST(i)-плагины, специально скомпилированные для Linux (имеют расширение .so). А в другом варианте - это плагины VST(i), которые предназначены для работы в Windows. Поддержка вторых реализована, например, в LMMS (с помощью VeSTige) и в ArdourВот, кстати, ещё тема на их форуме, где обсуждалось, нужно ли вносить поддержку родных плагинов (там же есть советы по альтернативным вариантам запуска Windows-плагинов). Родные же плагины поддерживаются в Renoise, energyXT, и теперь уже также в третьей версии Ardour. Про родные VST(i)-плагины для Linux есть информация на linux-vst.com и на сайте KXStudio. На данный момент самые интересные плагины предоставляют проекты DISTRHOJucetice и Loomer.

Также есть весьма хорошие плагины под названием mda-vst. У них открыт исходный код и есть бинарные файлы для 64-разрядного Linux.

Кстати, про архитектуру - на данный момент удобнее всего работать на 32-разрядной архитектуре, хотя лично я всё равно предпочитаю 64-разрядную.

Упирается всё, конечно же, как раз в плагины. Если вы используете плагины, которые имеют только 32-разрядные версии, то вам придётся использовать 32-разрядный хост. Если вы будете использовать 32-разрядный хост, то его не получится связать с 64-разрядным JACK, и так далее. В примечаниях к Renoise 2.8, правда, указывается, что теперь можно использовать 32-разрядные плагины с 64-разрядным Renoise, но когда я это проверял, то плагины не работали (возможно, они не реализовали это конкретно под Linux).

Так что, если пользуетесь 64-разрядным Linux, то, возможно, самое простое будет поставить дополнительно какой-нибудь 32-разрядный. Ну, а если все плагины доступны под x86_64 - то тем лучше: это, разумеется, намного удобнее.

Что касается синтезаторов, которые прежде всего работают как отдельные приложения - любителям нойза обязательно понравится din. Ещё есть amSynth, для использования SF2 хорошо подойдёт FluidSynth (очень часто используется вместе с GUI - ­Qsynth). И, конечно же, не стоит забывать про ZynAddSubFX. Появившись ещё в 2002 году, сейчас этот синтезатор стал уже культовым. Про него есть много статей, есть patches и sound banks, и прочее. Этот синтезатор обязательно стоит попробовать. Если с ним разобраться, то может получиться что-то такое.

А есть ли что-нибудь с реалистичным звуком пианино?

Pianoteq

Есть. Pianoteq - это один из лучших виртуальных инструментов в мире вне зависимости от платформы. Он имеет огромные возможности для настройки малейших нюансов звука, и, что самое главное, звук пианино генерируется динамически, средствами процессора, а не берётся из сэмплов. Обычно, когда люди в первый раз об этом слышат, они не хотят даже пробовать Pianoteq (отличная иллюстрация - обсуждение Pianoteq на linux.org.ru). Тем не менее, если послушать композиции, записанные с помощью Pianoteq, почитать о том, кто им пользуется, а также скачать пробную версию и поиграть самому, то сразу же отпадают все сомнения. Pianoteq проработан настолько хорошо, что не сразу осознаёшь, что это вообще реально.

Разумеется, Pianoteq является платным (от €99 за самую простую версию Pianoteq 4 Stage и намного больше за более продвинутые варианты, расширения и прочее), но, к сожалению, никакого другого способа создать такую программу, похоже, нет (учёные и программисты, которые над ним работали, просто так столько работать не стали бы).

Объём загрузки, кстати, составляет 20 MiB. Те, кто работал с другими профессиональными синтезаторами пианино, понимают, насколько это маленький размер.

А какие ещё есть хорошие программы?

Mixxx

Если нужно просто что-то записать, без особых ухищрений, то отлично подойдёт Audacity. Составить партию ударных можно в Hydrogen - там достаточно много возможностей, и легко добавлять дополнительные библиотеки ударных. Самая лучшая DJ-программа - безусловно, Mixxx. Неплохая аудиоигра (помогает учиться играть на пианино) - Piano Booster. Тренажёр слуха - конечно же, GNU Solfege.

Итак

Мы видим, что в Linux можно и нужно писать музыку. С DAW всё, фактически, в порядке, есть хорошая поддержка VST(i)-плагинов. И, тем не менее, всё-таки количество доступных плагинов и синтезаторов пока что очень небольшое. Под Linux нет Omnisphere, нет Nexus, нет Vanguard. Давайте скажем прямо - пока что авторы профессиональных аудиоплагинов попросту игнорируют Linux. Стало ли лучше за последние несколько лет? Да, безусловно - но для того, чтобы можно было действительно чувствовать себя свободно в написании музыки, нужно гораздо больше. Поэтому самым интересным будет тот момент, когда Linux наберёт достаточно пользователей, чтобы его воспринимали более серьёзно в качестве платформы для настольных компьютеров и ноутбуков. Не исключено, что появление хороших компьютерных игр приведёт к увеличению количества пользователей, а следом и за улучшениями в поддержке Linux в других областях, в том числе и в музыке.

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

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

Делаете дизайн для сайта? Тогда качайте иконки и векторная графика для веб-дизайна на сайте design-web.com.ua.

Dmitrii
2012-08-13 22:36:00
Взято с Хабра http://habrahabr.ru/post/149477/
Sk8er
2012-08-13 22:47:00
да ну? а я прям и не знал! в каждом репосте находится умник, который даёт ссылку. а в конце поста я для кого указываю откуда статья и кто автор?
Zmicier
2012-08-14 03:46:00
спасибо. С прямой ссылкой действительно удобнее :)
Денис Елисеев
2012-08-14 12:04:00
ну так там же мелким шрифтом и не броско ссылка лежит, а у нас народ такой что даже не всегда дочитывает
Sk8er
2012-08-14 16:23:00
нет, если бы) ошибка была
Dmitry Sushkov
2012-08-15 16:21:00
ещё одна статья ни о чём. Даже скрины поленился сделать, Ardour картинка с оффсайта под маком с плагинами WAVES. Главная суть работы с музыкой в линуксе это то, что сама ось выступает в роли хоста для аудиоприложений и предоставляет им реалтайм приоритет, в JACK запускается, коммутируется и синхронизируется любое количество клиентов, что в других осях как правило либо невозможно либо не так удобно.