Слугин Владимир
До недавнего времени меня сильно интересовал вопрос о создании музыки в системах Linux, но все попытки что-либо написать в них кончались крахом. Оказалось что у меня просто мало информации про основы звукозаписи в linux.
С помощью товарищей gumanoed-a и aceler-a была добыта нужная информация и проделаны необходимые эксперименты, на основании которых я приобрел некоторый опыт, которым хотел бы поделится в данной статье...
Когда я начал изучать возможности linux в плане создания музыки, мне
не хватало статейки из разряда "для особо одаренных... среди
чайников :)", в которой было бы подробно рассказано что к чему.
Такой статьи мне под руку не попадалось, поэтому я решил написать её
сам. Так как большинство людей пишут музыку в windows - излагаться все
будет в сравнении с оной системой.
Я при работе в windows использовал формат семплов SF2, поэтому естественно мне захотелось работать с ними и в этой ОС - это реально. Если просто есть желание поиграть без записи, просто на клавиатуре (о них ниже) - то нужно поставить приложение Qsynth. Пакет называется так же как и приложение.
Установка:
aptitude install qsynth
Но это приложение функционирует под управлением звукового сервера jack. Сервер позволяет соединить миди-порт мидиклавиатуры с миди-портом синтезатора Qsynth и выходной звуковой порт этого синтезатора со входным звуковым портом звуковой системы ALSA, надстройкой над которой является сервер jack.
И вот мы добрались до самой главной части всей системы - музыкального сервера jack. Это программа, представляющая пользователю удобный графический интерфейс, в котором он может следить за подключением миди и аудио портов. Управление аудио и управление миди выполнены на разных вкладках. Для установки сервера (в системе Ubuntu!, т.к. в ubuntustudio он уже установлен) нужно выполнить
aptitude install jack
aptitude install qjackctl
Осталась последняя базовая вещь, без которой собственно запись и редактирование невозможны - сексенсор
Мне достаточно хорошо известны два секвенсора - RoseGarden и Museоба в принципе ничего, но Muse мне более симпатичен. Уж больно он напоминает Cakewelk Pro Audio 9.0 Плюсами Muse является наличие встроенных в него синтезаторов, освобождающих пользователя от перетыкивания портов вручную в интерфейсе управления сервером jack - qjackctl. Аналог того же Qsynth встроен в Muse и носит название fluidsynth. Есть еще fluid, но при его использовании возникает проблема с сохранением проекта - после открытия проекта он не видит SF2 банков, которые ему были указаны. Есть мнение, что это из-за не оптимизации Muse под оболочку Gnome.
ВЫШЕ ЭТОЙ СТРОЧКИ БЫЛ ОПИСАН МИНИМУМ ПРОГРАММ, КОТОРЫЙ НУЖЕН ДЛЯ ТОГО ЧТОБЫ НАЧАТЬ ТВОРИТЬ НЕЧТО, ПОХОЖЕЕ НА МУЗЫКУ В LINUX :)
Итак идем далее - программы, функции которых более или менее изучены мной и, на мой взгляд, могут пригодиться:
Это весь перечень программ, который удалось вспомнить... Но думаю,
для первого знакомства и так слишком много непонятных слов. На самом
деле все просто :-)
Честно говоря, когда начинал изучать весь этот софт, боялся, что
будут проблемы с миди-контроллером, что нужно будет как нибудь хитро
настраивать сий инстрУмент. Оказалось все намного проще. Game-порты
компьютера итак видны для программы qjackctl(это интерфейс, позволяющий
работать с сервером jack), а контроллеры, подключаемые по USB видны как
миди-порты ввода уже через несколько секунд после первого подключения.
Итак, создаем новый проект в ubuntustudio или ubuntu 7.04 с использованием семплеров SF2
ВАЖНО! Работа а ubuntustudio или ubuntu 7.04 отличается лишь тем, что в ubuntu 7.04 все приложения, о которых пойдет речь ниже, нужно запускать из кансолей. Для этого удобнее всего открыть несколько вкладок в терминале - для 7каждой программы отдельно, в каждой из вкладок нужно зайти под рутом, то есть
$ sudo su
#
Ниже будет описан порядок запуска, а в квадратных скобках будет описан альтернативный вид запуска приложения,
который свойственен системе ubuntu 7.04
Приложения - Аудио и видео - JACK Control, в появившемся окне жмем Setup
Далее приемлемы следующие параметры:
Server Path: jackd
Driver: alsa
Realtime=enable; Priority:0
Frames/Period:512
Soft Mode=enable; Periods/Buffer:2
Остальные параметры=disable(это значит не выбраны)
Dither: None
Audio: Duplex
Input и Output device выбираются исходя из параметров звуковой карты, обычно это интерфейс hw:0,0...,
но тут можно поиграться с выбором. Все остальные параметры должны иметь значение 0.
Можно сохранить эти параметры, чтоб не забыть
[Приложения - Стандартные - Терминал, в окне терминала набираем
lamaster@MusicWorkstation:~$ sudo su
root@MusicWorkstation:/home/lamaster#
root@MusicWorkstation:/home/lamaster# qjackctl
далее запускается Jack Control, действия с которым описаны выше ]
ИТАК, ЗАПУЩЕН ЗВУКОВОЙ СЕРВЕР JACK Если нажать кнопку Connect, то на вкладке Audio мы увидим входные и выходные порты alsa_pcm, а на вкладке Midi, среди прочих миди интерфейсов мы видим подключенную мидиклавиатуру (если Вы её конечно подключили), кстати если последней по каким-либо причинам не имеется, то можно воспользоваться виртуальной клавиатурой - это приложение vkeybd(выше я о нем упоминал) и играть на клавиатуре компьютерной :-)
В процессе запуска различных секвенсоров, синтезаторов и т.д. среди аудио и миди портов будут появляться дополнительные соответствующие порты запущенных программ. В принципе их можно соединять между собой мышкой, но, как правило это делается на уровне секвенсора автоматически или при помощи пользователя.
Приложения - Аудио и видео - MusE
[Так как терминал, в котором запущен сервер, занят его закрытие приведет к падению сервера, поэтому создадим новую
вкладку в терминале и запустим оттуда секвенсор MusE. Не забудем это сделать из-под рута.
lamaster@MusicWorkstation:~$ sudo su
root@MusicWorkstation:/home/lamaster#
root@MusicWorkstation:/home/lamaster# muse
После запуска Mus-а работаем в нем не обращая внимания на сервер JACK(естественно предварительно он должен быть запущен)
Настройки - MIDI-порты/Прогр. синтезаторы, появится окно "Настройка программного синтезатора".
В нем в низу выбираем fluidsynth и жмем кнопку "Добавить ипостась", в правом нижнем окне "Ипостаси"
появится ипостась под именем fluidsynth-0.
Сверху в окне "MIDI-соединения" на полюбившийся МИДИ-порт вешаем добавленную ипостась (тык на "Имя
устройства"),чтобы вызвать интерфейс синтезатора - щелкаем на белый кружочек соответствующего порта с надписью GUI.
В появившемся интерфейсе загружаем полюбившиеся в виндовсе sf2 инструменты и разбрасываем их по каналам, номера
которых впоследствии можно будет присвоить миди-трекам, которые соответственно заиграют определенными каналами
инструментами. После распределения инструментов по каналам, а синтезаторов по МИДИ-портам окна с их настройками
можно закрыть (ну или переместить на какой-либо из рабочих столов)...
Переходим в основное окно секвенсора для работы с миди-треками.
- ПКМ - Добавить МИДИ-дорожку
- слева выбираем МИДИ-порт, на который только что повесили синтезатор.
-чуть ниже вибираем выходной канал для МИДИ-трека - это один из 16 каналов семплера fluidsynth (который висит на
первом МИДИ-порту), на которые можно распределить все 16 инструментов исходя из собственных вкусов. Причем!
Все равно на какой канал ставить ударные.
Допустим мы добавили две миди-дорожки, тогда вых. канал 1-ой дорожки будет - 1, а второй - 2, подразумевая, что на 1 и 2 выходных каналах синтезатора(семплера) есть инструменты, которыми можно играть. И так далее... Если мало 16 каналов - никто не мешает добавить новую ипостась и получить ещё 16 каналов уже на другом МИДИ-порту, например на втором.
Ещё немаловажно - не забудьте подключить миди-контроллер (хоть железный, хоть виртуальный). Это делается так же:
Настройки - MIDI-порты/Прогр. синтезаторы, появится окно "Настройка программного синтезатора", здесь тыком в "Имя
устройства" на свободном МИДИ-порту (я обычно выбираю 16 порт) выбираем имя миди контроллера, или MPU-401 (если
миди-устройство подключено посредством game-порта). Готово, можно начинать запись.
Закрываем или перетаскиваем на другие рабочие столы ненужные окна, оставляем лишь главное окно Mus-а :-) Сейчас начнется самое интересное.
- Жмем красный кружочек на треке, на который будет производиться запись, слева на панели сразу под надписью "Инфо о
канале" тыком мыша выбирается конкретный патч из банка, загруженного на номер миди-канала в синтезаторе (семплере)
- Жмем кнопку записи, затем кнопку плэй - запись начата
- Кнопка стоп - запись завершена
- Далее аналогично полюбившимся программам windows и mac
Можно также вынести панель транспорта, тут она называется "Панель пульта управления", вызывается клавишей F11
Метроном настраивается в: Настройка - Метроном
- Чтобы сохранить файл проекта нужно сохранить его с расширением med через меню Файл
- Чтобы сохранить в формат wav нужно поставить метки по тактам (причем левая метка ставится нажатым скроллом мыша,
а правая - нажатой ПКМ), звук которых должен входить в конечный waw файл, затем перейти в меню "Звук" и "Свести в
файл" указав путь для сохранения...
СОХРАНЕНИЕ МАТЕРИАЛА В ФОТМАТ WAV, К СОЖАЛЕНИЮ, ИДЕТ В РЕАЛЬНОМ ВРЕМЕНИ :(