LINUX.ORG.RU

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

 ,


2

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 тоже нишмагли – в какой-то момент кодовые базы безвозвратно разошлись).

★★★★★

Последнее исправление: AP (всего исправлений: 3)

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

— лажу сразу слышно

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

— Можно кидать барабанные и клавишные дороги по миди на нормальные сэмплеры/синты, так что звук подложки сразу будет как надо.

Барабанные миди партии в гитарпро по сравнению с паттернами из супериора настолько убогое днище, что даже обсуждать нечего
Да и синты.
Пианоролл гибче и мощнее

я предпочитаю записываться под полноценные партии

Под миди-суфлера, за которым кажется, что всё хорошо

Ты поди найди этого живого барабанщика на каждое изменение в песне.

На записи чистовика желательно записывать чистовик, а не сочинять

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

Лажу сразу слышно, когда записываешь под метроном без всего

ну вообще-то нет, ушёл в соло в другой лад, отдельно-то хорошо звучит, а в пачке - ОПА, не туда

ну и самое главное - слышишь ритмические нюансы всех инструментов

Барабанные миди партии в гитарпро по сравнению с паттернами из супериора настолько убогое днище, что даже обсуждать нечего Да и синты.

ты про звучание или про забивание партий?

Под миди-суфлера, за которым кажется, что всё хорошо

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

На записи чистовика желательно записывать чистовик

А я не считаю, что даже черновик обязан звучать как говно. И вообще, гораздо рациональнее делать итеративно:

Зафигачил черновую та́бу (которую в любой момент можно подправить, да), подрубил к DAW, настроил виртуальные инструменты, сидишь, перезаписываешь то, что нужно, по одной дорожке, недостаточно хорошие барабаны? Записываешь в миди-дорожку DAW, редактируешь динамику и всё такое в пианоролле.

а не сочинять

Pink Floyd смеются тебе в лицо, бумер

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

Да что PF, в современном мире продакшн музыки стал настолько доступным, шо я аж завидую современной молодёжи.

Приличные гитары и оборудование можно купить за копейки, куча DAW, плагинов и банков инструментов вообще забесплатно. Главное - руки и уши из правильного место.

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

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

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

Так и вижу: обдолбанный Сид Баррет пишет карандашиком в нотной тетради табы под чистовую запись барабанов Мейсона.

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

Ваще я с трудом представляю себе сочинение музла табами в редакторе при наличии гитары в радиусе десяти метров.

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

Не, можно. В самом начале так делал.
Но потом оказалось, что включить запись и просто сыграть гораздо быстрее и продуктивнее.

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

Так и вижу: обдолбанный Сид Баррет пишет карандашиком в нотной тетради табы под чистовую запись барабанов Мейсона.

речь шла о «На записи чистовика желательно записывать чистовик, а не сочинять», так что сарказм слегка не в тему

Ваще я с трудом представляю себе сочинение музла табами в редакторе при наличии гитары в радиусе десяти метров.

придумал на гитаре, забил в табы/ноты, шо не так?

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

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

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

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

речь шла о «На записи чистовика желательно записывать чистовик, а не сочинять», так что сарказм слегка не в тему

Когда студия на полгода оплачена, а материала нет, тогда можно ещё и не так

придумал на гитаре, забил в табы/ноты, шо не так?

Лишние пункты вижу я

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

О, кстати, вспомнил, Лекс Плотников в интервью на вопрос «какой миди-клавиатурой пользуетесь обычно для сочинения» ответил как-то «да я как-бы мышкой всё больше»

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

Когда студия на полгода оплачена, а материала нет, тогда можно ещё и не так

а в случае с домашней записью даже оплачивать не надо

Лишние пункты вижу я

ммм, какие из?

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

Коллеги по группе глухие и без табов в гитарпро играть не в состоянии? Душераздирательно.

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

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

Лишнее - куда-то что-то забивать

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

при обмене с коллегами по группе - тональности не видно нихрена,

Я как бывший абсолютник испытываю смешанные чувства по поводу этого примера.

Лекс Плотников

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

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

Если отвёрткой в ушах поковырять
Я тебе там ещё один профиль скинул и глюк нашел: если буфер нестандартный, типа 192,212 семпла, то звук плагина ломается

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

А почему бывший? Это что, проходит?

Да, с возрастом притупляется, особенно если, как я, филонить по 20-25 лет.

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

Вот спасибо!

Буфер должен быть кратен 64 из-за все того же zita-convolver. Учитывая что делается fft от этого буфера, сделать поддержку некратных буферов довольно нетривиально.

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

Я как бывший абсолютник испытываю смешанные чувства по поводу этого примера.

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

Не знаю я героев современной молодежи.

Может прекратим старпёрствовать и сарказмировать уже? Mechanical Poet все свои альбомы записал больше 10 лет назад.

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

Это что, проходит?

вот я тоже удивился, да

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

Подожди. Буфер 192 семпла, и буфер 212 семплов? 192 по идее должно работать, надо мне проверить. 212 работать не будет точно.

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

Это не точно, я потом посмотрю
192 ,может, и норм

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

и под сугубо профессиональную работу подходит только JACK, т.к. минимальные задержки.

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

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

а в линуксах надо чтобы программа поддерживала этот ваш JACK.

а вот это образец так называемого вранья, есть(и были) алса бриджи, пульсобриджи, но jack transport-а не будет, да

Но виндовый Virtual Audio Cable в этом плане круче

так в нём синхронизации тоже нет, есть ReWire, но он, внезапно, тоже требует поддержки от программы

Он никак не может уменьшать задержек по сравнению с вариантом, когда программа напрямую общается с ALSA,

увеличивать, впрочем, тоже не будет

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

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

Это они ещё покомпилять генту не советовали )) После недели компиляния 50мс задержек будут вообще казаться ерундой.

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

увеличивать, впрочем, тоже не будет

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

Почему он негодует по поводу JACKD2, не понимаю, работает же лучше. NIH синдром? Оригинальный джек всегда тупил: часто крашился, через какое-то время мог начать трещать и сыпать xrun’ами и т.д. Jackd2 гораздо стабильней и быстрей (за счёт многопоточности или хз).

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

Ага, дополнительные костыли к костылю.

чем они отличаются от костыля в виде Virtual Audio Cable?

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

Mechanical Poet все свои альбомы записал больше 10 лет назад.

Предполагается, что я знаю, кто это? Вынужден разочаровать: понятия не имею. DDG подсказывает, что какие-то российские металлисты. Ну, ок. Что там делал их клавишник — это показатель?

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

Почему он негодует по поводу JACKD2, не понимаю, работает же лучше.

Каждый день в канале #ardour происходит диалог примерно следующего вида:

— У меня нет звука в колонках! Как исправить?
— JACK?
— Да.
— Роутить звук из другого приложения надо?
— Нет.
— Попробуй с ALSA.
— Во, теперь топчик!

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

Т.е. де-факто музыканты все неосиляторы.

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

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

С чего б нет, когда Джек фунициклирует в реалтайме. Да ещё и вырубив остальные звуки. Планировщик ОСи даёт ему карт-бланш на всё. А приложение-Альса – обычное приложение и обычная Альса. Любая перделка и системное уведомление её подвинет.

Вообще-то задержки имеют значение в играх, а т.н. професиональные музыканты, которые якобы слышат разницу в 10 мс просто олени. То как они не попадают в ритм это не исправит.

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

Ты устарел. Сейчас это так https://www.youtube.com/watch?v=CKfv034yxyI

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

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

Главное - руки и уши из правильного места

Но лучше, конечно, из разных мест.

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

Вообще-то задержки имеют значение в играх, а т.н. професиональные музыканты, которые якобы слышат разницу в 10 мс просто олени. То как они не попадают в ритм это не исправит.

Так и запишем: профессиональный лоровский анонимус в жизни, из музыкальных инструментов, играл только на пипиське. Не факт, что на своей.

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

Так и запишем: профессиональный лоровский анонимус в жизни, из музыкальных инструментов, играл только на пипиське. Не факт, что на своей.

Если шаришь за искусство, то должен понимать, что сейчас эпоха a’La пост-модерн и идеальное исполнение просто никому не нужно. Спроси хоть nobody.one. Его там пара старпёров слушает и то, потому что дёшево и сходить больше некуда. А вот грязный звук, расстроенная гитара и непопадание в ритм катит.

P.S. или ты хотел похвастать, что свою письку раз в 10мс дёргаешь, прости сразу не понял

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

Давно пора уже гугл-нейроконплюхтер заставить сочинять музыку и слушать её.

Уже есть в Яндекс.Музыке.

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

Если шаришь за искусство, то должен понимать, что сейчас эпоха a’La пост-модерн и идеальное исполнение просто никому не нужно.

Востребованные музыкальные направления помимо электроники и говнарства существуют — я гарантирую это.

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

Востребованные музыкальные направления помимо электроники и говнарства существуют — я гарантирую это.

Среди музыкантов, кто имеет отличный слух – очень мало. Среди слушателей так вообще почти нету. Т.е. корячиться чтобы что-то там родить, что заценит лишь пара-тройка таких же задротов – сомнительная тема.

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

Скажи там Хендриксу, чтобы не трогал снотворное, а то помрет раньше времени.

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

https://www.youtube.com/watch?v=jTQai8VB-pU

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

профессиональный лоровский анонимус в жизни, из музыкальных инструментов, играл только на пипиське. Не факт, что на своей.

Каждый играет на чём умеет. Было бы чего плохого.

https://imgur.com/a/CFrNUCF

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

какие-то российские металлисты

ох, мистер зануда, всё вам надо разжёвывать

"Mechanical Poet was a Russian metal band formed in Moscow in 2002. The band released concept albums in post-prog and symphonic progressive metal genres with orchestral arrangements and heavy use of keyboards.

клавишник

он же басист, гитарист, и автор практически всего материала

Ну и как бы творчество Лекса не ограничивается MP и металлом

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

Так и запишем, Nickelback, у которого выровнено и вычищено на записи вообще всё - никто не слушает, кроме пары задротов. 50 платин они себе сами накрутили ботами. А слушать надо Табачникова, у него «грязный звук, расстроенная гитара и непопадание в ритм», благодаря которым, скоро ему дадут Гремми. Уже вот-вот.

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

Барабанные миди партии в гитарпро по сравнению с паттернами из супериора настолько убогое днище, что даже обсуждать нечего

он пишет про миди из туксгуитара, а не про аудио из гуитарпро

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

Т.е. корячиться чтобы что-то там родить, что заценит лишь пара-тройка таких же задротов – сомнительная тема.

Не вижу смысла продолжать этот спор. У тебя какая-то своя особая правда.

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

«Mechanical Poet was a Russian metal band formed in Moscow in 2002. The band released concept albums in post-prog and symphonic progressive metal genres with orchestral arrangements and heavy use of keyboards.

Я читал эту статью в Педивикии, но не понимаю, почему я должен восторженно реагировать на митолистов. Это какая-то навязанная анонимами обязанность современного культурного человека?

Пусть хоть на ксилофоне партии для бас-гитары сочиняет. Мне с того что?

AP ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.