Звукостудия Linux (alsa+pulse+jack).Часть 2

Опубликовано
Комментарии 0

Анти-JACK

По прошествии времени я решил продолжить тему. Много воды утекло. Agilia Linux «приказала долго жить» и это очень жаль, хороший был дистрибутив. У меня другой ноутбук (DNS, 64-битный). А вместо Agilia была Linux Mint (mate), которую несколько месяцев назад я сменил на Ubuntu Studio, специализированный дистрибутив. Мои запросы к домашней звукостудии довольно скромные. Звукозапись с помощью Ardour и Audacity, и создание музыкальных композиций с помощью секвенсора с нотным редактором (не матричным, а именно – нотным). Ну, и ещё нужна возможность подключить миди-клавиатуру, чтобы сыграть «чижика-пыжика» одним пальцем.

Установив Ubuntu Studio я поначалу радовался и даже написал хвалебную заметку. Рассинхронизаций JACK’а было минимум и они были настолько слабыми, что на качество звука (по крайней мере, на слух) практически не влияли. Я установил секвенсор Rosegarden и для создания музыки пользовался связкой QjackCtl-Qsynth-Rosegarden, а экспорт аудио из Rosegarden осуществлял в Ardour. Всё было прекрасно, но недолго. Где-то за пол-года «жизни» Ubuntu Studio ядро системы обновилось 20 раз! Наконец – о чудо! – у меня появились проблемы со звуком. JACK начал «икс-сранить» с неимоверной силой. Но это ещё пол-беды. Что-то произошло с ALSA. Появились щелчки, пропадания звука и какой странный баг, вроде эха. Допустим, певец делает паузу и во время паузы вдруг воспроизводится кусок предпоследнего слова из того, что звучало до паузы, длительностью примерно пол-секунды. Если это «эхо» попадает на последующий текст, то оно замещает часть текста. Поиски готовых ответов на этот вопрос результатов не дали. Легче снести систему и поставить другой дистрибутив – что я и сделал, установив Linux Mint.

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

Звукозапись

Редактор Ardour4 работает не только с JACK’ом, но и без него.

NOTE:
После установки редактора, при запуске нужно создать сессию. При этом, в числе прочих опций, нужно выбрать драйвер – JACK или ALSA. Если при создании первой сессии выбран драйвер JACK, то, впоследствии, создать другую сессию с драйвером ALSA почему-то не получается (во всяком случае, у меня не получается). Где, в каком файле эта конфигурация прописывается, я пока не нашёл. Самый дешёвый способ её поменять – переустановить редактор. Итак! Для того, чтобы Ardour4 работал без JACK’a, нужно при создании первой сессии выбрать драйвер ALSA.

Редактор Audacity не использует JACK.

Электронная музыка

К сожалению, до недавнего времени я не обращал внимания на программу MuseScore. А зря.

    Плюсы:
  • Этот нотный редактор не использует JACK если в настройках ввода/вывода выбрать ALSA audio.
  • Экспорт проекта осуществляется в форматах .pdf, .png, .svg, .wav, .flac, .ogg, .mp3, .mid, .xml, .mxl, .mscx (последние два – внутренние форматы MuseScore). Как очевидно, набор экспортируемых форматов гораздо больше, чем, скажем, в Rosegarden.
  • Ввод нот можно осуществлять мышью, с компьютерной клавиатуры, с помощью встроенной виртуальной фортепианной клавиатуры, с миди-клавиатуры.

Здесь я не буду описывать подробно работу с программой, статья не об этом. Добавлю только одно замечание.

NOTE:

Помимо создания нотных партитур, MuseScore можно использовать для исполнения музыки с помощью миди-клавиатуры. Для этого достаточно подключить миди-клавиатуру к компьютеру, запустить MuseScore, в настройках режима ввода нот включить MIDI-ввод, создать файл с нотоносцем (одним или несколькими), выбрать желаемый инструмент – и всё, можно играть. Если несколько нотоносцев для разных инструментов, то для того, чтобы выбрать нужный инструмент, достаточно выделить какой-нибудь из тактов на нотоносце.

Архаичный звуковой сервер JACK

Эту фразу я прочёл здесь (советую посетить), когда принялся искать отрицательные отзывы об этом «замечательном» сервере.

Немножко поговорим о достоинствах, которые приписывают JACK’у. Главное достоинство – низкие задержки в реальном времени. Это действительно так. Но имеет ли это значение теперь, когда быстродействие компьютера увеличилось многократно по сравнению… (и т.д.)? Второе преимущество – возможность коммутации разных программ между собой. Разумеется, так. Но есть программа Patchage, с помощью которой можно проделывать то же самое. Patchage при своём запуске запускает JACK, но его можно отключить в настройках. Например, можно запустить плагин yoshimi и подключить к нему миди-клавиатуру.

Теперь о мониторинге при записи аудио (пения, игры на инструментах). Якобы, при записи певец будет слышать в наушниках свой голос с задержкой, если не использовать JACK. Это очень неприятно, сбивает с ритма. Разумеется, JACK решает проблему. Но! Для того, чтобы создавать приличные аудио-записи, НЕОБХОДИМА ВНЕШНЯЯ АУДИО-КАРТА. А внешняя аудио-карта обеспечивает возможность мониторинга прямо с микрофона – при этом никаких задержек не возникает.

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

ALSA-Pulse-JACK

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

Ещё раз о JACK’е. В поиске решения проблемы, я набрёл на англоязычную страницу, посвящённую настройкам JACK’а, откуда перепостил нижеследующую таблицу. Автор, в свою очередь, скопировал её отсюда. Насколько я понимаю, фишка состоит в том, что значения задержек представлены целыми числами, без дробей, и это должно резко снизить количество xrun„ов. Разумно. Но мне это не помогло, что ни о чём ещё не говорит, поскольку вариативность условий, в которых приходится работать звуковой подсистеме Linux, просто потрясающая.

(Frames [or buffer] / Sample Rate ) * Periods = Latency in ms:

( 16 / 48000 ) * 3 = 1
( 32 / 48000 ) * 3 = 2
( 64 / 48000 ) * 3 = 4
( 128 / 48000 ) * 3 = 8
( 256 / 48000 ) * 3 = 16
( 512 / 48000 ) * 3 = 32
( 1024 / 48000 ) * 3 = 64
( 2048 / 48000 ) * 3 = 128
( 32 / 96000 ) * 3 = 1
( 64 / 96000 ) * 3 = 2
( 128 / 96000 ) * 3 = 4
( 256 / 96000 ) * 3 = 8
( 512 / 96000 ) * 3 = 16
( 1024 / 96000 ) * 3 = 32
( 2048 / 96000 ) * 3 = 64
( 64 / 192000 ) * 3 = 1
( 128 / 192000 ) * 3 = 2
( 256 / 192000 ) * 3 = 4
( 512 / 192000 ) * 3 = 8
( 1024 / 192000 ) * 3 = 16
( 2048 / 192000 ) * 3 = 32

P.S.
bq. На странице Композиции, в аудио-альбоме «Исповедь фагота» музыкальные пьески, начиная с «Вальса медвежат», написаны в MuseScore2, без Jack’а.

На этом пока всё. Спасибо за внимание smile

16 Февраль 2017




Автор

Комментарии

Нет комментариев к данной статье.

Комментарии

Поля обозначенные как * требуются обязательно. Перед постингом всегда делайте просмотр своего комментария.






RSS / Atom