LINUX.ORG.RU

PulseAudio и JACK

 , ,


0

0

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

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

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

★★★★★

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

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

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

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

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

Вот именно «отвяжитесь» - он не раз говорил, собственно лозунг «I will break your audio» - говорит именно это.

Ну а насчет приказали - а что оставалось делать? С тем, что централизация звука была нужна, ты кажется не споришь. JACK делать этого не хотел. ESD не справлялся и умирал. Другого ничего не вырисовывалось. Пришлось делать что-то свое, с другими целями и задачами. Вот эти цели и задачи, и их отличие от целей JACK и описано в этой статье. Продукт есть, он работает, довольно хорошо, та же нокия в мобилу его запихала, а Леннарт даже и не знал, то есть без всякой поддержки с его стороны.

А сабжевая статья чисто техническая, про политику в ней говорить как-то не в тему, тем более технарю, да и конференция там чисто техническая. А то, что технари общий язык найдут, так вот обсуждение этой статьи с автором JACK - http://comments.gmane.org/gmane.comp.audio.jackit/21771. Нормальный себе разговор, да и вообще они друг на друга никогда не наезжали, каждый делает свое, а здесь обсудили интеграцию.

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

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

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

Зачем заставлять их? Леннарту/RH это надо было - пусть бы и пилили, но почему не в рамках Jack? тем более, что он уже работал «suprisingly well there».

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

Вот именно «отвяжитесь» - он не раз говорил

Блин. Акцент не на «отвяжитесь», а на «приказали это чсделать». Т.е. приказали написать сервер с нуля.

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

Да ладно вам на провокации вендотролля поддаваться.

А вообще, pulseaudio - зло. Лучше работать напрямую с alsa, oss и jack. И да, oss далеко не RIP. А для асинхронной работы со звуковой картой (т.е. не для звука) oss - единственное удобное решение.

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

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

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

Ответь на вопрос - кто будет перепсывать jack под эту задачу? Авторам jack насрать. Ну и ели напишут - а нафига их патчи для решения ДРУГОЙ задачи в апстриме jack.

Выход из этого - форк. а если все равно форк, тогда может сразу делать что нужно ЭТОМу коммунити - линуксовым казуальным десктопщикам. Со своей инфраструктурой, гномамми, кде и дистрибутивами бубунту.

Ну в том и вопрос - Поцеринг ровно никак не обосновал точку зрения

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


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


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



Ты каким то не тем местом читал? Он там пишет как минимум что PA это инты асинхронные а jack это флоаты и синхронные. И статья то не про конкретности API и тонкости их реализации, а в общем виде описание.

Что бы получить тот уровень аргументации что нужен *тебе* нужна другая статья с совершенно другими трудозатратами написанная к тому же консилиумом специалистов. Хочешь такую? Ну пиши :)

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

> но почему не в рамках Jack?

В цитате автор jack сказал что ему не интересен jack решающий подобные задачи. Не хотели десктопшики быть second class citezen. Не хотели и все.

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

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

> Ты каким то не тем местом читал?

Тем. И внимательно. И не только материал по ссылке в топике.

В цитате автор jack сказал что ему не интересен jack решающий подобные задачи

А Линус говорил, что ему не интересно ядро с поддержкой RT. Напомнить, что из этого вышло?

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

>А Линус говорил, что ему не интересно ядро с поддержкой RT. Напомнить, что из этого вышло?

У Линуса десктопно-ориентированный подход, как и у этого аудиотролля. Они готовы пожертвовать маленьким рынком профессионалов, ради огромного рынка домохозяек, которым не нужно ни RT, ни jack.

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

> А Линус говорил, что ему не интересно ядро с поддержкой RT.

Напомнить, что из этого вышло?


А что, современный линукс это полноценный RT(против которого и был Линус)? Не гони. Это раз.

Два - Линус так же всегда говорил что у него есть «формальный процесс»(уже смешно, да) имени Линуса Торвальдса. Основа его очень простая - если народу реально нужно(список критериев) и если есть команда(список критериев) готовая сопровождать код по стандартам ядра. В этом случае Торвальдс включает в ядро. На сколько я понимаю это как минимум пропихнуть у дистромейджоров, переписать весь код с целью интеграции и добиться согласия лейтенантов.

В общем Линус а) тру б) штатно обрабатывает ситуацию «не хочу но народу надо» в) делал это около 15 лет. Столп опенсорса и гарант прависвобод.

А вот автор jack не Линус. И конкретно ограничил степень притязаний *всего проекта* профессиональным звуком.

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

> А что, современный линукс это полноценный RT(против которого и был Линус)? Не гони

Утипути. Лекцию по истории ведра читать не буду, уж извини.

А вот автор jack не Линус. И конкретно ограничил степень притязаний *всего проекта* профессиональным звуком.

Нихрена он не органичивал. Он сказал, что у него нет таких притязаний по политическим и социальным причинам, всё. Так же, как у Линуса не было притязаний на RT, но пришли люди и начали его делать. Ровно так же мог поступить Поцеринг, но не поступил. Вопрос - почему?

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

> Вот например современная звуковая карта от Creative PCI Express X-Fi Titanium

Идиот, она не поддерживает аппаратное микширование звука.

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

> Ибо есть у них костыль ASIO :)

Вы не поверите, но этот костыль стоит у меньшинства.

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

> Да ладно вам на провокации вендотролля поддаваться.

Ваши способности к провидению и дедукции - нулевые, у рабою исключительно с Linux уже больше 10 лет.

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

>> Да ладно вам на провокации вендотролля поддаваться.

Ваши способности к провидению и дедукции - нулевые, у рабою исключительно с Linux уже больше 10 лет.

Проверь лучше свои способности к логическому мышлению. То, что ты работаешь исключительно с Linux, никак не связано с тем, за какую ОС ты троллишь.

И да, насчет «10 лет исключительно в Linux» ты можешь банально врать.

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

Если вы знали мой настоящий nickname, вы бы не стали опять падать лицом в грязь. :)

В общем и по существу на мои комментарии никто ничего ответить не может, со звуком в Линуксе всё не очень хорошо, на этом закончим.


Adiós

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

>Для PCI-E нет ни одной звуковой карты с аппаратным микшированием звука.

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


НИ ОДНОЙ.


EMU 0404 PCIE

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

Вопрос - почему?

А зачем? Тем, кто использует jack, сто лет не нужны всякие быдлоподелки вроде pulseaudio.

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

> Если вы знали мой настоящий nickname

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

со звуком в Линуксе всё не очень хорошо

Боян.

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

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

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

Анонимус, пиши ещё :)

И поищи вместе с tailgunner PCI-E карты в этом списке http://www.alsa-project.org/main/index.php/Matrix:Tag-HWMIX ценой не больше $50.

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

ЛОР как всегда в своём духе - с пеной у рта будем доказывать то, в чём очень мало разбираемся, сидя ... на пиратской Windows 7 Ultimate :)

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

И поищи вместе с tailgunner PCI-E карты в этом списке

А вы купили себе уникальную материнскую плату без PCI-разъемов? Тогда ССЗБ и платите в 3-5 раз больше за аналогичную ЗК на PCI-E.

P.S. И не говорите, что PCI скоро канет в лету. С ISA-слотами до сих пор материнки делают. И будут делать (потому что очень много промышленного железа только на ISA). Точно так же не будут снимать с производства материнские платы с PCI, т.к. очень уж много железа существует только под эту шину: нормальные звуковые карты, TV-тюнеры, CAN-контроллеры и т.п.

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

> И поищи вместе с tailgunner PCI-E карты в этом списке http://www.alsa-project.org/main/index.php/Matrix:Tag-HWMIX ценой не больше $50.

Недоработки альсы не являются признаком недостатков железа, не? Поддержка X-Fi в ALSA появилась не так уж давно (до этого — OSSv4 или кривоватый оф. драйвер) и даже статьи с описанием альсовского драйвера для X-Fi ещё нет.

Причём ни раньше с OSSv4, ни сейчас с ALSA никаких проблем с одновременным воспроизведением звука несколькими приложениями не наблюдается (ничего не настраивалось — поставил OSS/ALSA «и вперёд»). Даже OSSv4 пофичастее — например, «из коробки» даёт возможность независимо от приложений менять громкость идущего от них звука.

В слоупочности разработчиков альсы Creative не виновата.

пиратской Windows 7 Ultimate :)

Мой Debian не любит, когда его так называют. :)

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

Эдик, сколько пользователей ради хорошего звука будут идти против течения^W прогресса? :)

Сколько пользователей будут заморачиваться сто лет снятыми с производства звуковыми картами?

Всё, надоело дискутировать с теоретиками.

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

Впрочем, справедливости ради отмечу, что на десктопе у меня PCI-ная X-Fi Fatal1ty Pro. У совсем уж low-end-овых XtremeAudio другой чип, и хз как там.

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

Я буду. У меня две SBLive5.1 (вторая на случай внезапной смерти основной), и я буду их использовать до тех пор, пока обе не сгорят. А потом придется, наверное, выкладывать 200-400 баксов на аналогичную звуковую карточку на PCI,PCI-E,USB или FireWire (т.к. SBLive уже вроде бы сняли с производства - во всяком случае, третью запасную найти не смог, а стоили всего лишь 500р).

надоело дискутировать с теоретиками.

И не такой уж я теоретик: у меня все работает :)

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

>ЛОР как всегда в своём духе - с пеной у рта будем доказывать то, в чём очень мало разбираемся

А не сам ли только недавно орал, пуская пузыри, что НЕТ НИ ОДНОЙ КАРТЫ НА PCIE с микшированием? А теперь значит тебе уже надо обязательно дешевле 50$. Вобщем слив засчитан.

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

Покажите мне PCI-E карты с аппаратным микшированием.

И скажите В СТО ПЕРВЫЙ РАЗ сколько людей покупает карты за $200 для дома.

Ban/kick/ignore me, lameasses.

Windows works (tm). Linux (right now) does NOT or requires some UNAFFORDABLY expensive hardware.

You're making me laugh.

Really, farewell, this is my last message here in this thread.

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

Вроде «звездатый», а такой толстый тролль...

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

[английский текст поскипан]

Бирди, ты? Хотя тот вроде не из Нижнего был...

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

> You're making me laugh.

Продлеваем тебе жизнь.

Ничо не понимаю. У меня X-Fi Titatnium, сколько она мне стоила два года назад уже не помню, но про ужасные $200 речи точно не было. Для меня нормальная стоимость звуковухи, чтобы слушать музыку в наушниках, $70-$100, откуда взялся предел $50?

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

>Покажите мне PCI-E карты с аппаратным микшированием.

Ты наркоман штоле? Я тебе парой постов выше написал EMU 0404 PCIE. Для шибко ФГМнутых поясню: это аудиокарта, она втыкается в PCI-Express слот и умеет аппаратное микширование. И стоит она 99$.

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

> У меня X-Fi Titatnium

Который не поддерживает HWMix, как и вся серия X-Fi ;)

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

From here: https://bugs.launchpad.net/ubuntu/+source/alsa-lib/+bug/375993

I have E-MU 0404 USB locked to the 44100 on hardware level (but my problem isn't frequency dependent). This card has no hardware mixer, so I'm trying to get «working» software mixer, but with no luck.


http://ubuntuforums.org/showthread.php?t=441946&page=14

Re: EMU 0404 USB driver progress

The reasons that the driver doesn't support hardware mixing.



Eagerly awaiting your comments :)

But it seems like you are lying. :)

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

kranky, вы ей владеете?

У вас есть возможность выполнить простой тест?

$ cat < /dev/urandom > /dev/dsp &
$ cat < /dev/urandom > /dev/dsp &

Или запустить две копии любой программы, которая использует /dev/dsp (читай OSS).

tempuser002 ()

Вот ещё что прочитал, и почему звук для Линукса в печальном положении:

http://www.mail-archive.com/alsa-user@lists.sourceforge.net/msg19058.html


Re: [Alsa-user] Recommendation for «high end» hardware mixing PC soundcard?

Arthur Marsh
Sun, 18 Feb 2007 04:18:32 -0800

Vladimir Mosgalin wrote, On 18/02/07 09:52:

Hi Peter!



On 2007.02.17 at 22:45:32 +0100, Peter wrote next:




0) linux people don't care about hardware mixing [why? software mixing in

linux is a big building site and was never capable to provide me the


comforts


and possibilities I got with hardware mixing on the emu10k1 based cards.]




The truth is, «hardware mixing» isn't the hot thing right now. Just like


hardware MIDI synth, it's more or less deprecated. Low-end (like


integrated ones) sound cards don't support it because they must be


cheap. High-end professional cards for musicians don't need it because


it's better to have practically unlimited amount of streams that you can


mix in software with 32-bit precision on any sampling rate than to be


limited in number of streams, sampling rate and mixing/resampling


conversion quality. This doesn't applies to all high-end devices though,


software processing is preferred now, still there is some use for


hardware processors, but these devices are rare and expensive. As about


middle-ranged cards, they are either about delivering higher quality


sound than onboards cards (models from M-Audio, Terratec) - they don't


need hardware mixing because software works very well nowadays, or about


gaming (Creative cards) - the only ones that truly need hardware mixing,


to unload mixing big amount of streams off processor.




In other words, if you really desire hardware mixing, buy creative card.


Audigy 2, Audigy 4, then X-Fi.. well you know where it leads. So I


suggest you to rethink, maybe you don't need hardware mixing that much


after all.




As a former Live! 5.1 and Audigy 2 ZS user that now uses M-Audio


Audiophile USB, I can tell you that problems with software mixing in


linux aren't that big. If you don't need exceptional sound quality, just


use onboard card; if you do, buying Creative card is wrong.



As previously discussed here, I'm tending towards an Audigy 4 Pro while
I can still get one in Australia - I don't have the free PCI slots or
fast enough PC to use another solution whilst keeping hardware synth and
mixing.

Regards,

Arthur.

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

Производители звуковых выкидывают (точнее уже выкинули) hw mixing и hw synth, а в Линуксе до сих пор нет _работающего_ software sound mixing.

Печально.

Многими презираемая здесь FreeBSD поддерживает software mixing из коробки на уровне прямого доступа к /dev/dsp (т.е. для всех приложений).

Почему, ну почему разработчики Линукса наплевали на эту возможность?

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

к сожалению у меня только audigy2, и в ближайшие лет 5 я врятли куплю PCIE звуковуху. Да и OSS у меня уже много лет как нету в системе.

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

Потому что миксеру в ядре делать нечего, это кривая архитектура. И я очень рад, что во «многими презираемой здесь FreeBSD» она кривая.

Все остально слишком толсто, чтобы комментировать.

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

Т.е. работающий software mixing в Windows/FreeBSD - говно, куда лучше неработающий зато такой родной Линукс ...

Мда, ЛОР в лучших традициях.

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

>Таким образом, про EMU вы наврали.

А можно цитату, где я наврал? Ты просил PCIE карту с аппаратным микшированием, я показал. А то, что оно в линуксе не работает сейчас - так это ты тоже доказать не можешь.

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

В линуксе он работающий, cтатья как раз про это и рассказывает, а ты просто тролль.

И да, твоя любимая виндовз тоже родила наконец-то звуковой сервер (причем сделала это ПОЗЖЕ, чем pulseaudio), и вообще большинство звука в ней перенесено в юзерспейс. Прежде чем троллить выучи уже матчасть.

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

> а в Линуксе до сих пор нет _работающего_ software sound mixing.

У меня на одну звуковуху (встроенная дешевая HDA) вполне выводится звук из разных программ. Одновременно. Получается, ты лжешь?

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

> $ cat < /dev/urandom > /dev/dsp &

$ cat < /dev/urandom > /dev/dsp &



Или запустить две копии любой программы, которая использует /dev/dsp (читай OSS).



Ещё вопросы?


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

> В линуксе он работающий, cтатья как раз про это и рассказывает, а ты просто тролль.

vga, ты идиот забань меня и больше тут не пиши.

Ты несёшь законченный бред.

Software sound mixing идеально работает в Windows с 1999 года (Windows 2000 release).

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

Твои слова:

не поддерживает HWMix, как и вся серия X-Fi

Слова из приведённой тобой цитаты:

... if you really desire hardware mixing, buy ... X-Fi

Взаимоисключающие параграфы, не?

И ещё:

вы честно проверяли что HWMIX работает? Я не придираюсь - просто в Alsa Matrix HWMix для этой звуковой не заявлен.

Вопрос был не ко мне, но повторюсь: на X-Fi XtremeGamer Fatal1ty Pro (правда, для обычного PCI и сейчас именно эту модель уже не делают) с установленным OSSv4 несколько приложений без проблем работали с /dev/dsp (в прошедшем времени потому, что снёс OSS и поставил альсу — OSSv3 устарел, OSSv4 «признавать» не хотят и выкидывают поддержку OSS из приложений). Можешь и по Википедии посмотреть, что из всей линейки X-Fi аппаратное микширование не поддерживают только совсем уж low-end-овые Xtreme Audio.

К тому же, надеюсь, ты не будешь отрицать, что «отсутствие поддержки HWMIX в альсе» != «отсутствие поддержки HWMIX у чипа/карты»?

Разработчикам ALSA была предоставлена документация по картам (даже в ALSA Matrix чёрт знает сколько у драйвера для X-Fi был статус «доки есть, дрова будут»), они могли посмотреть в GPL-ные исходники OSSv4 и оф. драйвера от Creative. И всё равно прошло больше года, прежде чем поддержка X-Fi стала доступна в альсе «из коробки». Кто ж виноват в такой слоупочности девелоперов?

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

>> Или запустить две копии любой программы, которая использует /dev/dsp (читай OSS).

Ещё вопросы?

Да. Почему нужно делать именно так? Программный миксинг позволяет двум программам выводить звук одновременно на одну звуковую карту (а не в специальный файл /dev/dsp). Звук из двух программ выводится одновременно, чем тебя это не устраивает?

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