LINUX.ORG.RU

PulseAudio и JACK

 , ,


0

0

Основной разработчик PulseAudio Леннарт Пёттеринг опубликовал в своём блоге статью по мотивам собственного выступления на конференции Linux Audio Conference 2010. В статье подробно расписывается разница между потребительскими и профессиональными звуковыми серверами и объясняется, почему объединение PulseAudio и JACK — излюбленная тема обсуждения на форумах — не имеет особого смысла. Вашему вниманию предлагается русский перевод это публикации.

Видеозапись выступления Леннарта (60 минут) можно скачать по этой ссылке. На странице с программой конференции можно найти удобный список остальных выступлений на конференции со ссылками на слайды и видеозаписи.

>>> Перевод статьи

★★★★★

Проверено: svu ()

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

> Не хотят ковыряться - чемодан, вокзал, из^W

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

Когда ты закончишь вуз, если ты в него уже поступил, то внезпно обнаружишь, что времени вдруг стало очень мало. Ну т.е. совсем мало. А сделать хочется много. Вот тогда ты, может быть, и начнёшь ценить время, а вместе с ним — и решения, призванные его экономить.

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

> Мне нужно разговаривать по sip-телефону, обрабатывая голос (тащемта, то же шумоподавление+компрессор-лимитер). Ни одного SIP-телефона с поддержкой jack я не нашёл

Хочешь, я расскажу тебе про конвейеры в GStreamer?

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

>> А можно объяснить, как PulseAudio (по сути - демон, системная служба) помогает делать удобные интерфейсы пользователя?

Лёгкое перенаправление звука со встроенной звуковушки на юсб наушники или синезубую гарнитуру.

О рекламных материалах пульсы я не спрашивал.

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

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

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

> ЕМНИП, Леннарт этого делать не собирается, и первичная причина в том, что консюмерских карточек с аппаратным микшером просто нет сейчас уже, а лепить костыли для пары человек, причем не имея этого железа - его ж с работы выгонят.

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

Andrew-R ★★★ ()

>Леннарт Пёттеринг
Дарья Донцова в мире линукс

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

> Pathetic trolls are so pathetic

В Windows с 1999 года есть 100% рабочий, работающий во всех программах software audio mixing.

В Linux в 2010 году нет ничего подобного.

Для примера запустите на любой новой звуковухе приложение a-la Amarok/Audacious/whatever via PA/Alsa

и

Quake3 или любую другую игру, которая требует mmap на */dev/dsp

Теперь поплачьте и больше не выпендривайтесь.

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

> В Windows с 1999 года есть 100% рабочий, работающий во всех программах software audio mixing.

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

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

Так и в ALSA dmix есть давно (2003-03-02 - 0.9.0 release candidate #8), но по-дефолту сначала был не включен, потом были проблемы с дефолтными конфигами и багами. Не похоже, что на win при переходе от одного аудиоинтерфейса к другому (oss -> alsa) случилось бы чудо. Сейчас есть отдельный проект, http://lwn.net/Articles/308590/ (Re: [ANNOUNCE] OSS Proxy using CUSE) . Вносить ресэмплинг в ядерный драйвер, вообще в пространство ядра сильно не хотели и не хотят по причине использование fp/sse (а иначе - тормоза). А звуковой сервер типа PA только по-необходимости ещё и микширует, иначе не создать виртуальные pcm каналы с независимым контролем, как я понимаю, да и сетевая прозрачность - не уровень alsa-lib. Наверное, это действительно уровень сервера.

Andrew-R ★★★ ()

Hello, my name is Lennart Poettering, and I'll tell you why shhhhh... pkh.....

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

>Ога, с кривой архитектурой

Иксперт по сборке генту^W^W^W в треде, все в машину!

из-за которой есть ощутимая и неустранимая задержка, да ещё и звук замыленный...

Ох уж эти сказки, ох уж эти сказочники.

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

>Когда ты закончишь вуз, если ты в него уже поступил, то внезпно обнаружишь, что времени вдруг стало очень мало. Ну т.е. совсем мало. А сделать хочется много. Вот тогда ты, может быть, и начнёшь ценить время, а вместе с ним — и решения, призванные его экономить.

Самое экономное по времени (а чаще и по затратам электроэнергии) - купить готовое программно-аппаратное решение aka «железка», способное удовлетворять потребности «из коробки», я об этом уже писал.

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

Студенческие времена уже давно в прошлом :). И экономить время -это верное решение - сам пытаюсь склонить к нему некоторых знакомых. Но должен быть баланс между экономией времени, ресурсов, возможностей и пр.. Потому, например, у меня стоит дебиан. И jack, который помогает МНЕ быстро и качественно решать разнообразные задачи со звуком.

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

>У меня есть на emu10k1, как раз второй будет. Придется учиться варить пульс ....

А зачем на emu10kX вообще нужен пульс? Емнип, там отлично всё работало без него.

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

> Ох уж эти сказки, ох уж эти сказочники.

Не случайно же для фубара есть плагин Kernel Streaming для вывода звука в обход микшера.

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

>Это в ASIO задержка? Чего-то ты гонишь.

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

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

> ути-пути, ты посмотри что можно сделать в Jack, пульс по сравнению с ним - полная херня

А почему ж тогда джек до сих пор не заменил пульс?

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

У них будет свой Пульс с блекДжеком и девушками!

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

ASIO с 1999 года в винде работает? Какие новости.

Interface support is normally restricted to Microsoft Windows, since other operating systems (e.g. Apple's Mac OS X or Linux) do not have such mixer latency problems

'nuff said.

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

Оно работает? Работает ! Поэтому какие могут быть претензии ?

Это только в лялехе принято придумывать архитектурно красивые решения, которые на деле не работают.

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

>которые на деле не работают.

Ну и что у тебя, лялихсоида, не работает?

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

> - Зачем нужна зубная паста?

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

tailgunner ★★★★★ ()

По логике автора, пульс тоже объединяет в себе необъеденимое.

Для телефонов важна надежность, простота и небольшая задержка. Приложений в телефоне не так много и они пишутся целевым образом, как и профессиональный софт.

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

И что теперь, писать пульс-для-телефонов и другой пульс для десктопов?

И его сентенция про миллионы компьютеров с пульсом ничего, кроме раздражения не вызывает. Эта истеричная бабья ложь ясно указывает, что автор - гей.

AVL2 ★★★★★ ()
Ответ на: комментарий от Andrew-R

Так и в ALSA dmix есть давно

Зачем? Если можно купить за ~500р вменяемую звуковую карту с качественным звуком и аппаратным микшированием. Я, честно говоря, вообще не понимаю людей, которые используют встроенные «звуковые карты». Хотя, кстати, и не могу придумать ситуаций (кроме записи звука с параллельным воспроизведением фанеры), когда понадобилось бы одновременно проигрывать несколько источников.

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от tailgunner

> Я не спрашивал, зачем нужна пульса.

Я и ответил, как она позволяет улучшить пользовательский интерфейс. Или ты думаешь, что пользовательский интерфейс - только внешний вид приложений? :)

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

>Я, честно говоря, вообще не понимаю людей, которые используют встроенные «звуковые карты»

Для ноутбука не так просто купить нормальную звуковую карту.

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


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

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

Для ноутбука не так просто купить нормальную звуковую карту.

...

люблю поиграть в дэтхматч

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

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

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

Очень даже удобно. Попробуй потаскай стационарный комп в другую комнату, или на диван :)

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

> Его единственный нормальный аргумент - «вот пульса хоть кое-как заработала, ну нет сил это интегрировать с Jack». Тема целесообразности существования пульсы не раскрыта.

Тут думаю ты прав.

Недостатки Jack-с-точки-зрения-непрофи, хотя и есть, но с виду вполне могут быть компенсированы достаточно простым кодом. Т.е. если в конфиге задано что-то типо all=auto, то выбирается низкая загрузка проца, низкое потребление памяти, ... исходя из максимально допустимой латентности; «хулиганящий клиент» вероятно тоже может быть достаточно просто обнаружен и урезан в правах.

Разные оптимальные структуры данных и алгоритмы тоже, вероятно, не являются проблемой — уж сто лет есть ООП, где можно написать 2 реализации одного интерфейса.

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

* Разные (для про и не-про режимов) оптимальные структуры данных и алгоритмы

www_linux_org_ru ★★★★★ ()

Интересная статья, узнал много нового. Спасибо за публикацию на ЛОР-е.

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

> Для пользования шеллом нужно очень многое знать.

Да прощу я себя за оффтопик, но когда 13 лет назад я начинал осваивать UNIX (SCO OpenServer 5), то кроме команды man я ничего не знал. Это помогло мне через неделю разбираться в шелле лучше, чем местный системный администратор. Чьим помошником я тут же и стал :)

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

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

Верно! Именно поэтому, у меня нет ни пульсы, ни джека, всё через альсу.

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

> Кто-нибудь использует этот JACK

Все, кто занимается работой со звуком в линух, используют JACK.

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

> Для десктопов (бытовуха) не так важна задержка, как универсальность, ресемплинг и удобство интерфейса, апи.

Ага, аргумент убийственный. Если-когда у меня вдруг будет заикаться звук на моей E8500/8Gb RAM, я серьёзно задумаюсь о что, что в консерватории что-то не так.

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

> Хотя, кстати, и не могу придумать ситуаций (кроме записи звука с параллельным воспроизведением фанеры), когда понадобилось бы одновременно проигрывать несколько источников.

Очень просто. У меня жена может смотреть кино на телевизоре, когда я работаю и слушаю музыку, чтобы не слышать телек и вообще от обстановки отключиться. Да, кино с моего компа. TV-Out отдельно от десктопа, звуоковой поток кино отдельно от плеера.

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

> то есть: никакой разницы по сути,

Ты фундаментально архинеправ :)

Разница в *аудитории*. Ты мыслишь как чистый техник, а надо мыслить с учетом того что все процессы все равно определяются людями.

Собственно большая часть «загадок» ЛОР (вроде «зачем пульс» или «почему линукс непопуляен - виноват ЗОГ») берется от того что ответы лежат не в технической а в социотехнической области. Причем социо в социтехническом специально впереди.

В FOSS создание любого софта управляется коммунити, то есть конкретными группами потребителей. А сделать «для всех» еще мало того что почти неосуществимо социмально, еще труднее это сделать технически.

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

А возникнет это не потому что нельзя в принципе делать одновремено для тех и тех а потому что расходы на создание такой вундервафли непропорционально возрастут.

По этому собственно статья и резюмирует что jack для профессионалов, для просто юзеров PA.

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

> уж сто лет есть ООП, где можно написать 2 реализации одного

интерфейса.


Для этого еунужно придуматиь интерфейс хороший как одинаково так и просто хороший для тех и дургих алгоритмов.
Не считая того что все это надо будет тестировать в 2 рза больше. Для этого надо будет в два раза больше программистов, грубо говоря, но результат программистов в зависимости от их количества растет отнюдь не линейно. Мифический человекомесяц во весь рост.

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

> Ты мыслишь как чистый техник

Я и есть техник.

а надо мыслить с учетом того что все процессы все равно определяются людями.

Мне показалось, или кто-то проинес «NIH syndrome»? %)

сделать «для всех» еще мало того что почти неосуществимо социмально, еще труднее это сделать технически.

Ну в том и вопрос - Поцеринг ровно никак не обосновал точку зрения «добавить возможности PA в Jack было бы труднее, чем написать PA с нуля». Вместо этого он многозначительно двигает телегу «вы лохе, вы ничего не понимаете в потребительском аудио».

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

>Зачем? Если можно купить за ~500р вменяемую звуковую карту с качественным звуком и аппаратным микшированием. Я, честно говоря, вообще не понимаю людей, которые используют встроенные «звуковые карты».

ноуты, субноуты, планшеты.

Хотя, кстати, и не могу придумать ситуаций (кроме записи звука с параллельным воспроизведением фанеры), когда понадобилось бы одновременно проигрывать несколько источников.

1) разговор по телефону + звонок от другого абонента. 2) звуковые системные уведомления. не надо, но и о

3) бывает, запуск следующего трека наползает на окончание предыдущего. доли секунды и вот уже мплейер пишет no audio...

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

> Для примера смешайте фруктовый компот с тонко покрошенными сардельками и сельдереем и попробуйте всё это сожрать. Теперь поплачьте и больше не выпендривайтесь.

fixed

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

> Вместо этого он многозначительно двигает телегу «вы лохе, вы ничего не понимаете в потребительском аудио».

А ты не пробовал разнообразия ради хоть раз в год не приписывать людям то, чего они не заявляли? :)

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

> Зачем? Если можно купить за ~500р вменяемую звуковую карту с качественным звуком и аппаратным микшированием.

Почему на ЛОРе столько идиотов? Для PCI-E нет ни одной звуковой карты с аппаратным микшированием звука. Подобные звуковые выпускались последний раз в 2004-5 годах (SB Audigy 2 ZS).

Для тех, кто плохо видит или понимает:

НИ ОДНОЙ.

PCI разъём исчезнет из матерей в к 2011 году вообще.

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

Для идиотов повторю дважды, dmix и пр. говно работает в userspace, поэтому приложения, использующие /dev/dsp, в пролёте.

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

> Ога, с кривой архитектурой, из-за которой есть ощутимая и неустранимая задержка, да ещё и звук замыленный...

То-то абсолютное количество звукозаписывающих студий работают на WinXP.

Расскажите это профессионалам.

Идиоты на ЛОРе, серия 4328.

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

Спасибо, забавный патч. Самое интересное, что то что выкладывают в инете по оптимизации РА этих строк не содержит.

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

«добавить возможности PA в Jack было бы труднее, чем написать PA с нуля»

От разработчика Ardour и JACK

I'm not going to fix other libraries - I have my hands full with JACK and Ardour, which I've worked on for nearly 10 years now.

и вот.

JACK has never been promoted as the next API to use - JACK has always been targetted at a specific niche market (pro-audio and music creation software) precisely because neither the OSS nor ALSA API provide the necessary functionality by themselves. PulseAudio might never have been started if, in fact, us JACK developers had been more willing to promote JACK as the «next API», but we were not and are not. This is not because of the technology, but the political/social issues with trying to get unified use of an API on the linux platform.

Взято из комментов отсюда - http://insanecoding.blogspot.com/2009/06/state-of-sound-in-linux-not-so-sorry.html

А если разработчики JACK не хотели и не хотят, то очень трудно. Леннарт взялся и сделал, обосновывать - это не к нему, он тоже техник, и делал это на работе.

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

Почему на ЛОРе столько идиотов?

Если ты так думаешь, то ты - глава этой стаи.

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от vga

> JACK has never been promoted as the next API to use - JACK has always been targetted at a specific niche market (pro-audio and music creation software) precisely because neither the OSS nor ALSA API provide the necessary functionality by themselves. PulseAudio might never have been started

Ага. И еще вот это: «It is not aimed at desktop and/or consumer situations (although it can work suprisingly well there too).»

Леннарт взялся и сделал, обосновывать - это не к нему, он тоже техник, и делал это на работе.

Если бы он сказал «отвяжитесь, мне приказали это сделать», то вопросов не было бы.

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