JACK в Linux: настройка
Пора приступить к настройкам. В примерах буду делать упор на qJackCtl, потому что в ней быстрее и «перекоммутировать» порты и настроить параметры сервера, если вас не устраивают текущие. Кроме того, qJackCtl умеет «сидеть» в области уведомлений — по умолчанию она этого не делает, но можно включить в настройках (на вкладке Misc). Главное окно qJackCtl — по-спартански простое (см. рисунок выше).
Кнопка «Загрузить» запускает сервер с текущими настройками, «Остановить» — останавливает его. Кнопка «Сообщения» открывает либо закрывает окно с подробным логом работы сервера. Кстати, особенность программы в том, что большинство кнопок главного окна действуют как переключатели видимости соответствующих кнопкам окон. Кнопка «Статус» показывает текущие настройки сервера и некоторые другие полезные сведения. Кнопка Connect — открывает окно для управления звуковыми портами; через это окно вы можете связывать JACK-клиенты между собой, перенаправляя звуковые потоки как угодно. Под кнопкой Patchbay скрывается утилита для ручной правки виртуальных разъемов сервера и создания из них наборов, ко-торые можно сохранять и потом загружать. Для загрузки такого набора при запуске qJackCtrl укажите имя файла набора в «Настройки — Параметры — Соединения — Активировать постоянный patchbay». Есть также информационная панель, а под ней — общий для всех JACK-клиентов «транспорт», то есть панель управления с кнопками воспроизведения и перемотки.
И наконец, под «Настроить» скрывается окно настроек, которое нам сейчас и важнее всего. На задержку влияют в основном два параметра: «Периодов на буфер» и «Выборок в буфере». Последний перевод неточен — правильно будет «Кадров в буфере». Чем больше кадров и чем больше периодов, тем больше задержка, но тем стабильнее звук, без щелчков. Снизу справа в отдельном поле пишется задержка с текущими настройками. Меняйте значения, пробуйте сервер с новыми настройками — одним словом, устанавливайте опытным путем, что вам больше подходит.
В главном окне, на дисплее статуса работы, вы можете заметить слева два числа: одно без скобок, другое в скобках. Они отображают количество так называемых xrun’ов — когда JACK не успевает вовремя обработать буфер, что вызывает потерю данных при их передаче. Буква X в слове xrun означает under или overrun, в зависимости от возникшего положения. Overrun — это когда возникает попытка заполнить буфер данными, превышая его размер. Underrun — когда обработка сигнала не завершилась, однако подошло время что-то проиграть на выход — в этом случае в выходной буфер помещается тишина либо случайные сэмплы. Overrun’ы обычно случаются, когда звуковая карта не успевает вовремя выводить получаемые данные. На underrun влияет уже задержка обработки звука внутри вашей звуковой программы. Число без скобок — последнее обна-руженное количество xrun’ов, а в скобках — накопительный счетчик, их общее количество со времени запуска сервера. Отсутствие xrun’ов и маленькая задержка — явления, противоречащие друг другу. Если один xrun возникает раз в несколько секунд при небольшой задержке — это приемлемо. Но если речь идет о десятках и даже сотнях xrun’ов в секунду — это перебор! Увеличивайте буферы и количество периодов — пускай растет задержка.
Прежде чем играться с настройками буферов, выберите драйвер — звуковую подсистему, с которой будет взаимодействовать JACK. Там есть список, он так и называется — «Драйвер». Для большинства Linux-систем надо выбрать ALSA. Далее, список «Интерфейс» (в командной строке сервера за это отвечает ключ —device) — надо выбрать один из портов звуковой карты (карт). Более точно входной и выходной порты задаются через списки «Устройство входа» и «Устройство выхода».
Теперь о других важных настройках. Частота дискретизации — какую установить? Не пускаясь в долгие рассуждения, скажу, что если вы делаете музыку для альбома, то выбирайте 44100 герц, а если для видео — 48000. Список «Звук» — выбирайте в нем значение «Дуплекс», тогда вы можете одновременно и записывать звук, и воспроизводить. Только старые звуковые карты не умели работать в таком режиме, либо работали с различными оговорками. Параметр «Сглаживание» — опять неточный перевод, в подлиннике dither. Сглаживание — это, скорее, interpolation. А dither — или, как говорят наши звуковики, дизер — это очень тихий случайный шум, который добавляется к звуку, чтобы при переводе сигнала из высокой битовой глубины в более низкую (например, из 32-битного плавающего формата в целочисленный 16-битный) потери уровней динамического диапазона были менее ощутимыми на слух. И вот в списке можно выбрать либо типы этого дизера, либо ничего.
«Аппаратный мониторинг» (он же «Прямой мониторинг») — прямое перенаправление входа звуковой карты на выход, фактически с нулевой задержкой. Если, конечно, аппаратный мониторинг поддерживается звуковой картой. Есть еще программный мониторинг (обычно он и работает) — в нем звуковой поток сначала копируется со входа в буфер, а потом из буфера, обработанный, уже идет на выход. Задержка при этом, конечно, увеличивается — в зависимости от микшерного движка программы и плагинов.
qJackCtrl по умолчанию записывает настройки сервера (в виде готовой командной строки его запуска) в файл $HOME/.jackdrc. По идее разработчиков JACK, если какой-то JACK-клиент запускается до запуска самого сервера, то клиент пытается загрузить сервер именно с этими настройками. На практике эта благая задумка не получила распространение. Клиенты либо предоставляют свой интерфейс настройки и запуска JACK, либо просто пишут, что у вас, кажется, не запущен JACK! Наиболее удобный, на мой взгляд, запуск уже настроенного сервера — через qJackCtl, с галкой «Запускать звуковой JACK-сервер при старте программы» на вкладке Misc окна настроек. На вкладке Настройки можно, кстати, выбирать пресеты — там есть список. Для тяжеловесных программ годятся одни настройки, для небольших могут быть удобнее другие. Конечно, вы сами должны создать эти предустановки, исходя из своего опыта.
Источник
Nix Daily
Обзоры Linux программ, решения и эксперименты.
вторник, 26 октября 2010 г.
Настройка JACK Audio Connection Kit
Мне пришло много писем, по поводу настройки сей в большинстве случаев необходимой штуки и я набросал небольшой, вводный how-to как быстро всё настроить и приступить к работе.
Для тех кто ещё не в курсе что это такое — http://ru.wikipedia.org/wiki/JACK_Audio_Connection_Kit
В качестве подопытных были взяты Debian, Linux Mint и звуковая карточка Sound Blaster X-Fi Xtreme Audio
Для начала установим
sudo apt-get install jackd qjackctl
Во время установки вас спросят про realtime, если в двух словах то это сокращение задержки за счёт отдачи максимума процессорного времени, если процессор у вас хороший то можно попробовать.
*К слову сказать даже на Pentium4 1.8 Ghz работать в реалтайме весьма приятно.
Стоит упомянуть что связка rt-jack|rt-kernel является весьма эфективной в плане производительности, но не всегда при такой комбинации получается достичь надёжности. Я бы советовал использовать её только после чательных тестов.
После установки подправим конфиг
@audio — rtprio 99
@audio — memlock unlimited
@audio — nice -19
Также понадобится добавить себя в группу audio
sudo gpasswd -a username audio
(где username — ваш логин в систему)
После всего вышеперечисленного понадобится перелогинится в систему.
Приступим к настройке через gui
(ниже приведён пример конфига который работает у меня)
Внимание! Если вы отказались от использования real-time, то соответствующую галочку нужно снять!
На этом всё, в следующий раз я постораюсь рассказать о jack подробнее.
Источник
Как мы создавали сингл на Ubuntu Studio 13.10
наш гитарист-звукарь постигает прелести работы с JACK
Авторы дистрибутива Ubuntu Studio создали его для творческих людей. Музыка, графика, видео. Всё необходимое ПО включено в дистрибутив и должно работать из коробки.
Концепция группы ограничивает нас в ПО. Только лицензия, в приоритете — свободное. Поэтому было решено использовать Ubuntu Studio.
Записывали и сводили дома. Для полного счастья выпустили результат под лицензией Creative Commons (BY-SA 4.0).
Послушать или скачать все три трека можно тут:
soundcloud.com/muzgruppa/sets/tyopl-lamp
UPD извините, не ожидал такого количества посетителей на этот сайт и наш аккаунт там пока заблокировали (для бесплатных действуют ограничения). Держите вот ссылки на гуглодиск
ссылка 1,
ссылка 2
UPD 2 аккаунт снова доступен. Видимо, просто сервис лагал. Ссылки на гуглодиск на всякий случай оставлю. И вот вам ещё ссылка на сингл на Jamendo — там никаких ограничений по прослушиванию и скачиванию нет. www.jamendo.com/en/list/a130636/tjoplyj.-lampovyj
1. Что использовалось
1.1. Список ПО
- Ubuntu Studio 13.04
- Ardour 3.5.74
- сервер JACK (ну куда ж без него)
- наборы LADSPA-плагинов Calf и TAP
- драм-машина Hydrogen
- Linux Multimedia Studio
- sf2-бас Naturally Decaying B-Guitars
- библиотека ударных BigMono
1.2. Оборудование
- системный блок:
- тип ЦП QuadCore AMD Athlon II X4 640, 3000 MHz 4 ядра
- системная плата Biostar A770L3
- системная память 8192 МБ 2×4096
- отображение:
- видеокарта XFX Radeon HD 6850 1Гб
- монитор BenQ EW2430 24″
- монитор Samsung SyncMaster 191T 19″
- внешняя звуковая карта — Focusrite Scarlett 2i2
- наушники Sony MDR-V55
- гитарный комбо-усилитель Marshall Valvestate 8020
- педаль перегруза OmniDrive
- микрофоны
- Behringer ULTRAVOICE XM1800S
- винтажный Shure SM’57 (USA)
- Октава МК-319 (Россия)
- синтезатор Yamaha PSR-295
- гитара — Aria Pro II SL420
- звучки: Seymour Duncan Distortion Mayhem Set
- отдельное спасибо электрогитаре Stagg (ритм) за мягкий, плавающий строй.
При сведении очень пригодились рекомендации с сайта записьальбома.рф. Большое спасибо его авторам!
Теперь давайте перейдём непосредственно к процессу.
2. Туц-туц-туц или водородный ударник
Ударника у группы не было изначально — сразу было решено выступать под фонограммы, сделанные на драм-машине Hydrogen (русскоязычный сайт). Самая лучшая из дефолтных библиотек (на мой взгляд) UltraAcoustick. Однако мы использовали библиотеку BigMono от Analogue Drums.
2.1. Описание библиотека BigMono от Analogue Drums
Плюсы:
- значительно превосходит дефолтные библиотеки по звучанию;
- бесплатна.
Минусы:
- весит в 15-20 раз больше (185 мб);
- несвободна;
- не настроена (придётся настраивать громкость и панорамирование).
По лицензии скачать её можно только с этой страницы (версии для Hydrogen там нет), выкладывать её на другие ресурсы запрещено. Поэтому я не имею права выложить здесь ссылку на нашу сборку. И не буду советовать поискать библиотеку на сайте hydrogen-music.org в разделе Downloads. Модифицировать тоже запрещено, поэтому я вам про ride side и крэши из UltraAcoustick не говорил. И не вздумайте попросить у меня через почту rtnsl@yandex.ru готовую библиотеку с инструкциями (>: |). Но поделиться нашими настройками я могу.
2.2. Наши настройки библиотеки
Можете скачать файлик drumkits.xml и закинуть его в папку . /drumkits/Big Mono (вместе с Wave) или настроить по изображениям:
Порядок инструментов HiHat (на изображении не видно):
- HiHat Closed(LH)
- HiHat Closed(RH)
- HiHat Open
- HiHat Semi-Open
- HiHat Pedalled
Закрытые хэты показались нам недостаточно закрытыми, поэтому их громкость настроена с учётом того, что мы понижаем силу каждого удара по ним одно деление (в среднем).
Общая громкость в микшере всегда выставлялась на максимум (даже так получалось тиховато).
Недостающие семплы возьмите в библиотеке UltraAcoustick.
3. Во всём виноват басист
Басиста у нас тоже нет, поэтому использовали Naturally Decaying Bass Guitars в формате SF2.
SF2 Player входит в состав LMMS в качестве инструмента. В свойствах SF2 Player нужно указать файл бас-гитары и выбрать Naturally Finger Bass в свойстве Patch. В LMMS пока плохо реализована поддержка сервера JACK, поэтому в Ardour бас-партия добавлялась стандартно через экспорт/импорт wave. Эффектами обрабатывали только в Ardour.
4. Теперь о сведении.
Сведением занимался гитарист группы. Он не планирует заводить аккаунт на Хабре, потому просто расписал мне основные моменты своей работы над синглом.
Изначально планировалось использовать Ubuntu Stidio 12.04 (LTS), которая установилась и работала из коробки лишь с незначительными проблемами. Но тут вокалу потребовался экссайтер (он позволяет добавить вокалу гармоник, сделав звучание лучше), однако этот плагин присутствует только в актуальной версии Calf. Которая из-за зависимостей так и не поставилась на 12.04. С тяжёлым сердцем решили поставить 13.10. Опыт не обманул. Мы вернулись к тёплым ламповым падениям Ardour, JACK и другого ПО, зато получили Ardour 3 и желанный экссайтер.
4.1. Настройка сервера JACK
JACK Audio Connection Kit (JACK)— звуковой сервер-демон, позволяющий с низкой задержкой соединять между собой поддерживающие эту технологию аудио-программы. Он требуется для работы Ardour.
В поставке Ubuntu Studio идёт графическая утилита qjackctl. Хорошо весь процесс настройки описан здесь.
После запуска qjackctl следует выбрать параметры и поставить галочку (если она не стоит) напротив пункта «Режим реального времени» (Realtime). Раз использовался мощный компьютер, частота дискретизации — 96000, периодов на буфер 3. Параметр «интерфейс» отвечает за выбор аудиоустройства. Звук (Audio) — дуплекс.
С параметром «Выборок в буфере» (Frames/Period) возникли проблемы. При значении выше 1024 Ardour отказывался экспортировать, поэтому 1024 и оставил. Можно использовать и меньшее значение.
4.2. Ardour 3.5.74
В отличие от Ubuntu 12.04, в репозиториях Ubuntu 13.10 присутствует Ardour 3. Наш гитарист решил синхронизировать фейдеры и прочие крутилки midi-клавиатуры с настройками дорожек в Ardour. Обнаружил, что интерфейс Mackie работает некорректно (двигается только Master Volume) и пересобрал Ardour из исходников. Для корректной работы Mackie пришлось поправить в исходниках (/libs/surfaces/mackie/surface.cc), в конструкторе класса «Surface::Surface (MackieControlProtocol& mcp, const std::string& device_name, uint32_t number, surface_type_t stype)». «, _active (false)» нужно заменить на «, _active (true)».
После первого запуска Ardour нужно указать имя проекта и папку (домашняя по-умолчанию). К серверу JACK он подключился сам. Если нужно включить синхронизацию c джеком, найдите между кнопками управления транспортом и тайм-кодом кнопку Internal («внутренний»). После нажатия её значение поменяется на JACK: синхронизация Ardour и JACK включена.
Порадовали широкие возможности (при учёте бесплатности). Так же в плюс эффекты до фейдера (очень часто в программах они после).
4.3. Эффекты
Плагины Calf уже называли на хабре лучшими из LADSPA. Мы добавим к ним ревербератор из набора TAP (TAP Reverberator). Однако и здесь не обошлось без проблем и поисков решения. Большинство эффектов TAP и некоторые другие пришлось исключить. Скажем, Calf Equalizer * Band добавлял в бас хрипы, особенно в низы. А Pitch Shifter-ы просто — ужасны. Если возникают большой импульс в начале/конце трека, треск на дорожках либо другие подобные проблемы — наверняка поможет отключение какого-нибудь эффекта. К счастью, основные типы эффектов предоставлены в нескольких вариантах.
Для гитары существуют отдельный набор плагинов Guitarix. Перегруз из этого набора — лучший среди LADSPA по нашему мнению. Однако в данном случае он не понадобился, так как использовались перегрузы комбоусилителя и педали.
4.4. Сведение ударных
Порадовало наличие шин — объектов, в которых можно соединять несколько дорожек для использования одинаковых эффектов. При сведении ударные обрабатывались в Ardour эффектами следующим образом:
- партия каждого инструмента экспортировались в wave;
- все эти дорожки добавлялись в Ardour;
- на каждую навешивался компрессор;
- создавалось 4 шины: большой барабан, малый барабан, томы, и тарелки ;
- на каждую шину навешивался эквалайзер;
- добавлялись шины «большой барабан+малый барабан», «всё», и Master;
- эти шины обрабатывались согласно рекомендациям записьальбома.рф/сведение/барабаны-и-бас.
Hydrogen поддерживает экспорт композиции в несколько аудиофайлов (отдельному на каждый инструмент). Так же его можно подключать напрямую к Ardour через JACK. Но для экономии ресурсов компьютера лучше использовать стандартный экспорт/импорт wave.
5. Подготовка сингла к публикации.
Для экспорта в форматы flac и mp3 использовался soundconverter. Для добавления тегов использовались EasyTag и Kid3-Qt. Обложку нарисовал в Gimp знакомый дизайнер. Шрифт для обложки позаимствовали с webfont.ru. Презентационные версии песен(первый куплет+припев) были созданы с помощью Audacity.
6. Итоги
Люди с тонкой и чувствительной ушой (sic!) независимо вынесли однозначный вердикт: чувствуется, что записывалось небрежно (на дешёвый микрофон и максимум с 3го дубля), однако сведение хорошее и итоговая запись — демо терпимого качества. Поставленная задача выполнена, и в дальнейшем мы продолжим использоваться тем же ПО. Надеемся, что в Ubuntu Studio 14.04(LTS) будет работать так же стабильно, как 12.04. Именно этого пока не хватает текущей версии дистрибутива.
Хотелось бы, чтобы спустя некоторое время профессиональный звукорежиссёр опубликовал опыт работы на Ubuntu Studio со студийным оборудованием.
UPD:
Не включил полезные ссылки на весьма полезные, пусть и старые обзоры музыкального ПО из-под Linux — 7 статей:
Обзор всего ПО(2008)
Про Ardour и JACK (2009)
Ещё раз упомяну про самоучитель по Hydrogen — я бы поставил ему среднее между 3 и 4 по пятибальной шкале, однако кому-нибудь может помочь набрать базу.
1) Если вы используете ubuntu — можно обратить внимание на репозитории KXstudio.
Там вы найдете свежие сборки Ardour3 Для ubuntu 12.04 LTS и есть такие полезные вещи как свежайшие версии, например, набора плагинов Calf прямо из репозитория. Они с тегом -git. Там же вы найдете патченное ядро для низкой задержки (Jack сможет работать с задержками меньше 1 мс).
http://kxstudio.sourceforge.net/
Настоятельно рекомендую отказаться от использования сборки Ubuntu Studio.
Я остановился на Kubuntu 12.04 LTS. На данный момент это лучшее что есть именно для мультимедиа.
2) Есть очень классный хост для плагинов — Carla. В нем встроенная удобная панель для соединения виртуальными проводками.
И управлять им можно по сети через протокол OSC. Есть готовый клиент, но под архитектуру x86.
3) На сайте KXStudio вы можете встретить инструкции по тюнингу системы для достижения стабильности при записи
http://wiki.linuxaudio.org/wiki/kxstudio_manual
Ну и частоту процессора лучше задать максимальную и запретить смену.
Потому что на перестройку тратится драгоценное время и от этого появляется джиттер.
Источник