- PVSM.RU - https://www.pvsm.ru -

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

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

Рабочее место Niels Ott
На картинке [2] ­— рабочее место Niels Ott [3], на компьютере запущен Ardour.

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

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

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

energyXT

Скриншот energyXT [4]

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

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

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

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

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

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

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

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

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

Renoise

Скриншот Renoise [12]

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

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

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

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

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

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

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

Ardour

Скриншот Ardour

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

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

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

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

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

LMMS

Скриншот LMMS [20]

LMMS — кроссплатформенная цифровая звуковая рабочая станция, которая первоначально задмуывалась как аналог FL Studio (тогда ещё Fruityloops). Интересно, что чуть меньше 5 лет назад я уже писал [21] об LMMS на Хабрахабре. Так вот, если вы спросите, изменился ли он за это время, то я просто скажу вам скачать и посмотреть. И да, он изменился, причём кардинально. Раньше нужно было после каждой добавляемой ноты нажимать Ctrl + S — потому что иначе при очередном падении (а они были постоянно) нужно было заново восстанавливать созданную мелодию. Теперь же LMMS работает стабильно (напишите в комментариях, если всё-таки найдёте глюки — а лучше сразу отправляйте авторам), не падает, и имеет, наверно, почти всю функциональность, которая там в принципе должна быть. Безусловно, авторам всё ещё есть над чем работать, но сейчас в LMMS уже можно нормально писать что-то полноценное, не думая о прошлых ограничениях.

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

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

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

Скриншот din [24]

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

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

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

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

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

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

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

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

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

Скриншот Pianoteq [41] Есть. Pianoteq [42] — это один из лучших виртуальных инструментов в мире вне зависимости от платформы. Он имеет огромные возможности для настройки малейших нюансов звука, и, что самое главное, звук пианино генерируется динамически, средствами процессора, а не берётся из сэмплов. Обычно, когда люди в первый раз об этом слышат, они не хотят даже пробовать Pianoteq (отличная иллюстрация — обсуждение Pianoteq на linux.org.ru [43]). Тем не менее, если послушать [44] композиции, записанные с помощью Pianoteq, почитать о том, кто им пользуется [45], а также скачать пробную версию [46] и поиграть самому, то сразу же отпадают все сомнения. Pianoteq проработан настолько хорошо, что не сразу осознаёшь, что это вообще реально.

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

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

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

Скриншот Mixxx [47]

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

Итак

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

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

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

Автор: MaGIc2laNTern


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/13029

Ссылки в тексте:

[1] Гэйб Ньюэлл всерьёз настроен: http://habrahabr.ru/post/148505/

[2] картинке: http://ardour.org/node/3248

[3] Niels Ott: http://www.drni.de/em

[4] Image: http://dl.dropbox.com/u/17482399/linux_music/energyxt.png

[5] energyXT: http://energy-xt.com/

[6] в этом видео: http://www.youtube.com/watch?v=ItHeynkD-OM

[7] перекомпилировать libaam.so: http://energyxt2.wikidot.com/jack-cpp

[8] тут: https://getsatisfaction.com/energyxt/topics/crash_when_choosing_midi_in_linux_version_on_a_fresh_install_of_ubuntu_10_10

[9] спросил: https://getsatisfaction.com/energyxt/topics/xts1_for_linux

[10] этому обсуждению: http://www.kvraudio.com/forum/viewtopic.php?t=235077

[11] написали: http://www.energy-xt.com/index.php?id=1201

[12] Image: http://dl.dropbox.com/u/17482399/linux_music/renoise.png

[13] Renoise: http://www.renoise.com/

[14] MIDI mapping: http://tutorials.renoise.com/wiki/MIDI_Mapping

[15] renoise.ru: http://renoise.ru/

[16] официальный форум: http://forum.renoise.com/

[17] документация: http://tutorials.renoise.com/wiki/Main_Page

[18] Ardour: http://ardour.org/

[19] поддержка MIDI-дорожек: http://ardour.org/a3_features_midi

[20] Image: http://dl.dropbox.com/u/17482399/linux_music/lmms.png

[21] писал: http://habrahabr.ru/post/17216/

[22] форум: http://sourceforge.net/apps/phpbb/lmms/

[23] wiki: http://lmms.sourceforge.net/wiki/index.php/Main_Page

[24] Image: http://dl.dropbox.com/u/17482399/linux_music/din.png

[25] Ardour: http://ardour.org/building_vst_support

[26] Вот: http://ardour.org/node/1337

[27] в третьей версии Ardour: http://wootangent.net/2011/10/its-here-native-vst-support-in-ardour-3/

[28] linux-vst.com: http://www.linux-vst.com/

[29] на сайте KXStudio: http://kxstudio.sourceforge.net/KXStudio:Plugins

[30] DISTRHO: http://distrho.sourceforge.net/

[31] Jucetice: http://www.anticore.org/jucetice/?page_id=7

[32] Loomer: http://www.loomer.co.uk/

[33] mda-vst: http://mda.smartelectronix.com/

[34] открыт исходный код: http://sourceforge.net/projects/mda-vst/

[35] примечаниях к Renoise 2.8: http://www.renoise.com/release-notes/280

[36] din: http://dinisnoise.org/

[37] amSynth: http://en.wikipedia.org/wiki/Amsynth

[38] FluidSynth: http://en.wikipedia.org/wiki/FluidSynth

[39] ZynAddSubFX: http://zynaddsubfx.sourceforge.net/

[40] такое: http://www.youtube.com/watch?v=ZBu5H2AsqGk

[41] Image: http://dl.dropbox.com/u/17482399/linux_music/pianoteq.png

[42] Pianoteq: http://pianoteq.com/

[43] обсуждение Pianoteq на linux.org.ru: http://www.linux.org.ru/news/commercial/4952867

[44] послушать: http://www.pianoteq.com/d4_in_action

[45] кто им пользуется: http://www.pianoteq.com/references

[46] скачать пробную версию: http://www.pianoteq.com/try

[47] Image: http://dl.dropbox.com/u/17482399/linux_music/mixxx.png

[48] Audacity: http://audacity.sourceforge.net/

[49] Hydrogen: http://hydrogen-music.org/

[50] Mixxx: http://mixxx.org/

[51] Piano Booster: http://pianobooster.sourceforge.net/

[52] GNU Solfege: http://www.solfege.org/

[53] настройки: http://www.youtube.com/watch?v=0Kkvr2lCSa4