LINUX.ORG.RU

Ardour, JACK и что делать с жопой под названием «звуковой стек Linux»

 ,


0

3

У меня тут вышло большое интервью с Полом Дэвисом (главный разработчик Ardour и бывший разработчик JACK) в двух частях.

Можно слушать как подкаст, можно читать отредактированную расшифровку на английском.

Первая часть: http://libregraphicsworld.org/blog/entry/podcast-ep-002-paul-davis-on-the-deep-rewrite-of-ardour-daw

Вторая часть: http://libregraphicsworld.org/blog/entry/podcast-ep-003-paul-davis-on-fixing-big-linux-audio-issues

Переводить на русский целиком я задолбаюсь, поэтому главные тезисы:

  • Некоторые пользователи не заинтересованы в ковырянии кода, они хотят чтоб как в Reaper – пишешь плагин на Lua, которые меняет вообще что угодно. Но в рипер Lua встроили явно на очень раннем этапе, сделать похожее в Ardour сейчас уже технологически сложно, поэтому покрытие API в привязках Lua хоть и расширяется, но ряд ограничений останется.

  • Последние несколько лет команда грохнула огромное количество времени на рефакторинг кода и переписывание реализации некоторых ключевых концепций в программе. На момент выпуска версии 6 остались два момента, которые отложены: более точная работа с перескоком между музыкальным временем и выборками (разработчики пока не договорились о ряде моментов в реализации) и встроенный лупинг. В остальном, переписанную часть можно больше не трогать ещё лет 10. Там есть, например, фундамент для запланированной возможности смены частоты сэмплирования на лету без перекодирования.

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

  • В последние годы проект понемногу уходит от применения GTK. Сейчас тулкит используется для всего нескольких вещей: упаковка виджетов на форме, файловые диалоги, текстовый ввод и виджет дерева (treeview). Остальное рисуется на Cairo. Если бы Пол начинал писать DAW сейчас, он бы выбрал готовый специализированный тулкит вроде JUCE. Переписывать виджет текстового ввода он, например, в принципе не возьмётся – масштаб такой работы часто недооценивается, там можно вообще концы отдать. А вот упаковка виджетов на constrained layout – в планах. На момент выхода второй части интервью уже есть ветка, где ведется эта работа.

  • Пол недавно упоминал, что общается с Мартином Кири (Tantacrul), который в прошлом году вышел на работу UX-дизайнером MuseScore (у Мартина популярный блог на ютубе, где он разбирает косяки в юзабилити программ для набора нот с применением фокус-групп пользователей). На прямой вопрос Пол ответил, что пока ничего конкретного сказать не может, но выразил восхищение работой Мартина и заметил, что нужно быть просто тупым, чтобы не хотеть слушать инсайты пользователей, которые работают с твоим софтом впервые.

  • Звуковой стек в Linux – кромешный ад, лучше CoreAudio в макоси пока ничего не придумано. Но в macOS несколько релизов назад часть функциональности убрали в user space демон. Примерно тот же принцип получается при сопряжении ALSA и PipeWire. Автор PipeWire вроде как прислушивается к тому, что ему говорят парни, пишущие звуковой софт, поэтому есть некоторая надежда сделать ситуацию не такой печальной.

  • У Пола накопился ряд претензий к JACK, который он сам же когда-то и создал. Особенно не нравится JACK2, который написан совсем другими людьми. В какой-то момент Пол сложил с себя все полномочия мейнтейнера и с тех пор пребывает в счастливом неведении, что там вообще происходит. Поддержку JACK из программы никто не выпилит, но пользователям Ardour он советует пользоваться бэкендом ALSA, при использовании которого всё просто работает.

  • OMF и AAF – хреновые форматы для обмена проектами, добавлением их поддержки в команде никто не хочет заниматься. Есть некий интерес к OpenTimelineIO, но надо смотреть более предметно.

  • VCV Rack – офигенный проект, Пол признается, что вынужден себя режимить каждый раз, когда запускает этот синтезатор, иначе может играться просто часами (в перерыве между выходами двух частей подкаста я ему с подачи @ist76 показал SOLAR 50, и Пол за полвечера накидал похожий софтовый аналог в Рэке). Сейчас модулей для Rack вдвое больше, чем LV2-плагинов, хотя проекту всего три года, а LV2 – уже больше десятка лет. Сказалась идея на старте прибить гвоздями модули к ровно одному, но очень мощному синтезатору, и убрать у разработчика сложный выбор, на каком тулките писать GUI. Перенести этот опыт на LV2 априори невозможно, но в последнее время выручают фреймворки, с которыми можно генерировать плагины в любом формате (т.е. под любой популярный API). Это заметно улучшает ситуацию со скоростью разработки и доступностью плагинов.

  • Mixbus как единственный успешный коммерческий отпрыск Ardour выжил потому, что разработчики а) на старте не имели проблем с GPL (Solid State Logic сломались уже на этом), б) приняли подход команды к разработке GUI (на этом погорели Waves Audio со своим Tracks Live), в) оказались готовыми интегрироваться в процесс разработки Ardour (тут Waves тоже нишмагли – в какой-то момент кодовые базы безвозвратно разошлись).

★★★★★

Звуковой стек в Linux – кромешный ад

У Пола накопился ряд претензий к JACK

пользователям Ardour он советует пользоваться бэкендом ALSA, при использовании которого всё просто работает

Ардур с джеком у меня нормально работает наверно один запуск из 10. То он с сервером не может соединиться, то просто звук не играет, то не видит что сервер запущен, то еще какая-нибудь фигня. При том что взаимодействие с джеком то примитивное, какой-нибудь ecasound, которому уже больше 20 лет, все делает без проблем. Не говоря уж о других программах - все что угодно может в jack, кроме этого ардура. Я не знаю что там можно разрабатывать если вы блин не можете подружить программу для редактирования аудио с единственным нормальным "профессиональным" бэкендом.

Сейчас модулей для Rack вдвое больше, чем LV2-плагинов, хотя проекту всего три года, а LV2 – уже больше десятка лет.

И в lv2-плагины умеет кто угодно, а этот рэк я так понял к ардуру прибит.

на старте не имели проблем с GPL

Какие проблемы с GPL?

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

micronekodesu ★★ ()
Ответ на: комментарий от micronekodesu

И в lv2-плагины умеет кто угодно

Из популярного софта LMMS не умеет, например.

а этот рэк я так понял к ардуру прибит

Ты понял неправильно :)

Какие проблемы с GPL?

Лицензионные.

Ну типа такие простые вещи как перемаппить миди-контроллер на управление daw'кой это что-то на столько неочевидное, что я вообще не уверен что там такое можно.

А очевидно — это как?

AP ★★★★★ ()

Твой ангельский скорее напоминает мой татарский…

А вообще спасибо, слушаю.

Если бы Пол начинал писать DAW сейчас, он бы выбрал готовый специализированный тулкит вроде JUCE.

А чем он лучше-то?

Остальное рисуется на Cairo.

Очепятка.

В остальном, переписанную часть можно больше не трогать ещё лет 10.

Ну да, ну да…

Oberstserj ()
Ответ на: комментарий от Oberstserj

Твой ангельский скорее напоминает мой татарский…

У меня много письменной практики и преступно мало устной.

А чем [JUCE] лучше-то?

Из расшифровки я подвырезал эту часть объяснения. Пол там рассказывает, что GTK не рассчитан на применение паттерна Model-View-Control, поэтому нормально работает для среднестатистических десктопных приложений, но не очень годится для сложных типа Ardour. Ну и были проблемы с готовыми канвасами, пока они не написали свой. JUCE же изначально написан для аудиософта, там всё сразу есть.

Очепятка.

Не вижу там никакой опечатки.

AP ★★★★★ ()

выразил восхищение работой Мартина

подозреваю, что я тупил, запустив MuseScore впервые, но так и не понял, как там двигать паузу

kott ★★★★★ ()
Ответ на: комментарий от kott

выразил восхищение работой Мартина

Подразумевается именно его канал на тытрубе и тестирование всякого софта фокус-группами, а не едва начавшаяся работа над MuseScore. По которой, кстати, заметно, сколько идей он хочет притащить из Dorico.

как там двигать паузу

Мышкой? :)

имхо сравнивать LV2 и VCV Rack неправильно, второй - ограничен и сугубо специфичен, и вообще в CV domain

Ну как бы в тексте и написано про это :)

AP ★★★★★ ()

лучше CoreAudio в макоси

Даже лучше ASIO и даже после всех обновлений в последних макосях?
Чтож, ещё одна причина, почему в студия маки, а не линуксы.

ist76 ★★★★★ ()
Последнее исправление: ist76 (всего исправлений: 1)

Поясните, пожалуйста: я неоднократно слышал, что со звуком в линксе плохо, но как пользователь этого совсем не ощущаю. Это проблемы с которыми сталкиваются люди профессионально работающие со звуком либо просто с хорошим оборудованием? Или я чего-то не понимаю?

Napitok ★★ ()
Ответ на: комментарий от Napitok

я неоднократно слышал, что со звуком в линксе плохо

Я слышал, что земля плоская, а коронавирус не существует. Все три утверждения – ложны.

Это проблемы с которыми сталкиваются люди профессионально работающие со звуком либо просто с хорошим оборудованием?

Суть проблемы такова: есть куча звуковых серверов, и под сугубо профессиональную работу подходит только JACK, т.к. минимальные задержки. Но его ещё поди настрой, особенно если «линукс» вчера поставил впервые в жизни.

С другой есть PulseAudio, которые работает «искаропки», настройка максимально дружелюбна, но в самом начале он работал препаршиво. Прозвище «ПшшПшшАудио» неспроста появилось. Сейчас, слава Абдулю, с ним всё хорошо, разве что задержки высокие, до 10мс.

Korchevatel ★★★ ()
Ответ на: комментарий от kott

С asio от производителя нормального железа (типа RME и UAD) или с asio4all и AC97 от cmedia?
Что-то я миллионов страдающих пользователей RME не наблюдаю.
Revo5.1, Juli@, Emu0404, Clarett 2 - все они отлично у меня работали и работают в ASIO, а в Jack даже банальная 0404 не завелась.

ist76 ★★★★★ ()
Ответ на: комментарий от micronekodesu

все что угодно может в jack, кроме этого ардура

Никогда проблем не было.

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

Так вперде! Что-то мешает?

deep-purple ★★★★★ ()
Ответ на: комментарий от ist76

Да было такое. Асио. Звук есть, а потом вдруг херак и нету. И неот чего не зависит. Интервалы всегда разные, может и неделю нормально, апотом каждые 5-30 минут вырубаться. Помогал только рестарт винды.

deep-purple ★★★★★ ()
Ответ на: комментарий от ist76

а надо миллион собрать, чтобы ты признал, что бывают проблемы?
у меня вот в алсе (соотв. в джеке) тоже все прекрасно работает

С asio от производителя нормального железа (типа RME и UAD) или с asio4all и AC97 от cmedia?

какие-то крайности, я встречал жалобы на юсб девайсы и дрова к ним

kott ★★★★★ ()
Ответ на: комментарий от deep-purple

В чятике ардура, кстати, есть один предпенсионный австриец, который пишется на кассетный таскам. Он ваще интересный персонаж — в молодости, говорит, подрабатывал звукооператором у Falco :)

AP ★★★★★ ()
Ответ на: комментарий от kott

а надо миллион собрать, чтобы ты признал, что бывают проблемы?

Смотри, домашних музыкантов под виндой раз в 100 больше чем под Линуксом. В лучшем случае. А может и в 1000. Но что больше на порядки - это, мне кажется, ты спорить не станешь.

Значит и жалоб должно быть больше на те же порядки, если уж «с ASIO народ спотыкается не реже, чем в линупсе с джеком и прочим». Причём, всё-таки, не жалоб уровня «раз в час звук пропал» или «проект с 50-ю дорожками тормозит» а уровня «запускаю рипер, а звука нет». Потому что с джеком в линуксе случается - именно так. Запускаешь, а оно не падает, не тормозит, а просто не работает. Вообще.

какие-то крайности, я встречал жалобы на юсб девайсы и дрова к ним

RME, UAD, MOTU это не крайность, а рабочие лошадки. В том числе, USB-версии. И что-то вороха жалоб на форумах не видно. Да, иногда проблемы бывают. Иногда они бывают везде и у всех. Но вот прямо так утверждать, что «с ASIO народ спотыкается не реже, чем в линупсе с джеком» как-то очень смело. Лично мне кажется, что пореже.

ist76 ★★★★★ ()
Ответ на: комментарий от ist76

Значит и жалоб должно быть больше на те же порядки, если уж «с ASIO народ спотыкается не реже, чем в линупсе с джеком и прочим». Причём, всё-таки, не жалоб уровня «раз в час звук пропал» или «проект с 50-ю дорожками тормозит» а уровня «запускаю рипер, а звука нет». Потому что с джеком в линуксе случается - именно так. Запускаешь, а оно не падает, не тормозит, а просто не работает. Вообще.

не уловил последовательности

Запускаешь, а оно не падает, не тормозит, а просто не работает.

причина, как правило, «я не знаю как запустить джек»

если уж придираться к статистике - то относительную я не соберу, а если тупо в численной - чем не выборка по части кривых дров?

RME, UAD, MOTU это не крайность, а рабочие лошадки.

да, но ты сопоставил с asio4all+cmedia
понятно, драйверы для этих карт пишут не абы как
но полно и других: то частота сэмплирования не выставляется, то «звук не пашет пока не ребутнусь» - почему это «не те» проблемы?

kott ★★★★★ ()
Ответ на: комментарий от ist76

Потому что с джеком в линуксе случается - именно так. Запускаешь, а оно не падает, не тормозит, а просто не работает. Вообще.

Да там максимум настроить выходное устройство, рил-тайм и всё. И это не проблема присоединения к Джеку. Т.е. ардоурщики могут гнать только на свои кривые грабли вместо рук. Т.к. там всё элементарно. И обработку ошибок прикрутить можно просто.

anonymous ()
Ответ на: комментарий от anonymous

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

Iron_Bug ★★★★ ()
Ответ на: комментарий от micronekodesu

пользователям Ardour он советует пользоваться бэкендом ALSA, при использовании которого всё просто работает

И как мне через голую Alsa соединять к входу Ardour выход других приложений? Или как, например, без jackd обеспечить сетевую прозрачность, которую так любят хвалить фанаты Х11? Под jackd есть хотя-бы netjack и jacktrip

gtk3 ★★ ()

Да, читал, лёжа под нарькозом :)

Я бы послушал бы его, бы, если бы он сам бы написал бы вменяемый редактор миди. Да, старый проект этот Ардор, написанный по старинке, жоска, нерасширяемо. Так может пришло время переписать всё, а не смотреть как тебя куркуренты по флангам обходят?

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

И джек ужасен. Как в 2003 году было невозможно работать вообще без засечек, так и теперь, на оборудоввании в тритцать раз мощнее.

ChekPuk ★★ ()
Ответ на: комментарий от kott

но полно и других: то частота сэмплирования не выставляется, то «звук не пашет пока не ребутнусь» - почему это «не те» проблемы?

Это у каких производителей частота сэмплирования массово не выставляется? Ну кроме помоечного нонейма с алиэкспресса, конечно.

причина, как правило, «я не знаю как запустить джек»

Так его ещё и как-то по-особенному запускать надо? Т.е. просто запустить DAW и записывать музыку, как в венде и какоси нельзя, надо опять в конфиги лезть.
Но это, конечно, не проблема звуковой подсистемы, да. Это просто неправильные пользователи попались. А так-то подсистема хорошая, удобная, дружественная.

не уловил последовательности

последовательность элементарная: раз ASIO такая же граблёвая, что и JACK, но ASIO пользуются в 1000 раз чаще, то и жалоб должно быть в 1000 раз больше. Т.е. жалобы должны быть вообще везде и постоянно. А их мало.

ist76 ★★★★★ ()
Ответ на: комментарий от anonymous

Теперь его место занял Thunderbolt
На нём, при прочих равных, у одной и той же карты и правда задержка поменьше (порядка 2,5 против 3,5 мс)
Вот только матерей с ним мало и дорого

ist76 ★★★★★ ()
Ответ на: комментарий от anonymous

Для дома пока даже USB2 более-менее хватает, пока проект не очень тяжелый
Скорее важна начинка интерфейса и драйвера. Про RME все пишут что стабилен и шустр, а берингер и китайские поделия - лотерея, в которой единственный победитель, это китайцы.

ist76 ★★★★★ ()
Ответ на: комментарий от ist76

Для дома пока даже USB2 более-менее хватает, пока проект не очень тяжелый

Ну так на USB2 вполне себе SDR работают (и даже в дуплексе) правда с 5Msps-10Msps и 12bit на семпл.

anonymous ()
Ответ на: комментарий от ChekPuk

время переписать всё

А ты точно уже вышел из-под наркоза? :)

Тут один деятель уже 10 лет свой векторный редактор переписывает, а релиза всё нет.

куркуренты по флангам обходят

А кто у него конкурент? Не умеющий писать аудио лммс? Простоватый кутрактор? Падучие zrythm с tsunami?

AP ★★★★★ ()
Ответ на: комментарий от ist76

Это у каких производителей частота сэмплирования массово не выставляется? Ну кроме помоечного нонейма с алиэкспресса, конечно.

видимо, ты не понял о чём я:

https://www.google.com/search?client=firefox-b-d&q=The+ASIO+sample+rate+is+not+supported+by+one+of+the+USB+interfaces%21

Так его ещё и как-то по-особенному запускать надо? Т.е. просто запустить DAW и записывать музыку, как в венде и какоси нельзя, надо опять в конфиги лезть. Но это, конечно, не проблема звуковой подсистемы, да. Это просто неправильные пользователи попались. А так-то подсистема хорошая, удобная, дружественная.

хочешь - запускай по-особенному, хочешь - вообще не запускай для работы с DAW, как я например

я не топлю люто за джек, но и веровать в божественные драйверы для ASIO не намерен: https://www.zoom-na.com/sites/default/files/products/downloads/pdfs/H_and_F_Series_cannot-output-sound-on-Windows-PC_en_6.pdf

kott ★★★★★ ()
Ответ на: комментарий от kott

Ну поиском по гуглу можно найти даже человека у которого в 2012ом году не работала чугунная кувалда. Мир большой, в нём много разного.

я не топлю люто за джек, но и веровать в божественные драйверы для ASIO не намерен

Они не божественные, они хотя бы есть и от производителя.
Обидно отдать за аудиоинтерфейс тысячу баксов, вставить - а он не бе, ни ме.
В небожественной венде хотя бы понятно куда жаловаться.

ist76 ★★★★★ ()
Ответ на: комментарий от ist76

что дров тонет и джек тут не причем, я уже писал

Ну поиском по гуглу можно найти даже человека у которого в 2012ом году не работала чугунная кувалда. Мир большой, в нём много разного.

тем не менее)

kott ★★★★★ ()