LINUX.ORG.RU

PulseAudio и JACK

 , ,


0

0

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

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

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

★★★★★

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

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

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

X-Fi не поддерживает hwmix (о чём прямо писал Takashi Iwai), про это некий Arthur просто не в курсе.

с установленным OSSv4


OSSv4, к сожалению, полумёртв, и я боюсь, что косяков в нём немеряно, учитывая что он не имеет большой распространенности в Linux.

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


Буду. Цитат не дам (личная переписка), но Takashi Iwai чётко мне говорил, что если Alsa не поддерживает hwmix, то его просто напросто нет.

И всё равно прошло больше года, прежде чем поддержка X-Fi стала доступна в альсе «из коробки». Кто ж виноват в такой слоупочности девелоперов?


Это не суть важно.

Суть важно, что почти все современные аудио карты идут без hwmix, а software sound mixing в Линуксе работает только для libasound/libpulse приложений, что меня очень печалит.

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

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

Уже прокомментировал анонимному пользователю.

Впрочем, разжую снова: хочу я порезаться в нативные HoMM3 или нативный Quake 3 - приходится убивать все приложения, которые в этот момент выводят звук через alsa/pulse, и это напрягает.

А ещё я alsa software mixing не доверяю, потому что dmix на многих дитрибутивах автоматом делает не очень качественный resampling до 48KHz, звуковая хреновым алгоритмом обратно в 44.1 - итого, лажа.

Конечно, лет через 10 это будет неактуально, потому что очередное обновление glibc/ядра/ещё чего-нить окончательно убьёт поддержку старых бинарников и всё будет работать через PA/alsa/NEXT_SEMIBROKEN_SOUND_API.

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

> X-Fi не поддерживает hwmix (о чём прямо писал Takashi Iwai), про это некий Arthur просто не в курсе.

Takashi Iwai чётко мне говорил, что если Alsa не поддерживает hwmix, то его просто напросто нет.

Все — те-кого-нельзя-называть, один Takashi Iwai — Д'Артаньян. «Если чего-то нет в ALSA, этого нет нигде»... Послать бы его куда-нибудь с такими предвзятыми заявлениями и всё.

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

OSSv4, к сожалению, полумёртв, и я боюсь, что косяков в нём немеряно, учитывая что он не имеет большой распространенности в Linux.

Большой распространённости потому и нет, что OSSv3 выкинули, а OSSv4 в дистрибутивы включать не хотят (в лучшем случае пакет представляет собой архив с исходниками и обёрткой для компиляции «на месте»). А распространённость альсы за пределами Linux вообще стремится к нулю. Получается, ALSA кривей OSSv4?

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

> Впрочем, разжую снова

Первый раз выскажешься нормально, техническим языком.

хочу я порезаться в нативные HoMM3 или нативный Quake 3 - приходится убивать все приложения, которые в этот момент выводят звук через alsa/pulse, и это напрягает.

То есть тебя не устраивает, что программы, использующие старые API времен еще OSS, не работают с программным миксингом. А сколько было пафоса - «нет _работающего_ software sound mixing»... тьфу.

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

> «Если чего-то нет в ALSA, этого нет нигде»... Послать бы его куда-нибудь с такими предвзятыми заявлениями и всё.

Увы, слишком мало народа занимается звуком для Линукса. Вы же не возьмётесь дописывать поддержку hwmix для звуковых?

Получается, ALSA кривей OSSv4?


Не могу не согласиться. :(

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

Working across all _available_ APIs :)

Уж простите, что не сказал сразу. :)

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

порезаться в нативные HoMM3 или нативный Quake 3 - приходится убивать все приложения, которые в этот момент выводят звук через alsa/pulse, и это напрягает.

padsp quake - пустит звук квейка через pulseaudio, с программным микшером.

pasuspender quake - отключит пульс и даст доступ только квейку. По завершению все вернется обратно.

И плюс в ядре специально для эмуляции /dev/dsp из юзерспейс добавили CUSE, но самой эмуляции пока что нету (возможно, что и не будет).

Исходная проблема со звуком в линуксе состоит именно в OSS API - его очень сложно виртуализировать, поскольку оно ядерное (ну вот разве что через CUSE или как padsp делает). Как в интерфейсе OSS сделать тот же bluetooth, firewire, upnp, цифровой звук в AC3? Все в ядре? Я себе это представляю с трудом, поэтому пост о том, что в BSD - ОSS и там все работает, я счел именно за троллинг (приношу извинения, если ошибся). В случае же с alsa - все реализуется пульсом прямо сейчас.

OSS должен просто тихо умереть и проблемы со звуковым API в линуксе на этом закончатся, останется только alsa (а не PA/alsa/NEXT_SEMIBROKEN_SOUND_API, основное API пульса - alsa). Может останутся проблемы с драйверами, но это уже другая история.

Конечно, лет через 10 это будет неактуально

У меня уже неактуально

$ ls /dev/dsp

ls: cannot access /dev/dsp: No such file or directory

Нет OSS - нет проблем.

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

Пожалуста, прочитай тред http://mailman.alsa-project.org/pipermail/alsa-devel/2010-January/024554.html

Сам же Takashi Iwai, на которого ты ссылался, там пишет, что у X-Fi *есть* поддержка аппаратного микширования (http://mailman.alsa-project.org/pipermail/alsa-devel/2010-January/024727.html и http://mailman.alsa-project.org/pipermail/alsa-devel/2010-January/024733.html).

И Creative-ных маркетологов пинай за то, что в под названием «X-Fi» выпускаются карты на значительно отличающихся по возможностям чипах. Самые дешёвые карты (Xtreme Audio на чипах CA0106 и CA0110) действительно не умеют аппаратное микширование, остальные же (на чипах EMU20K1 и EMU20K2) умеют. И распространять высказывания «у X-Fi нет hwmix» на всю серию не сто́ит.

anonymous
()

Непонятно вообще, зачем в PA по умолчанию включен качественный ресемплинг, жрущий уйму времени, если он ориентирован на дешевенькие встроенные звуковушки. И ведь, как я понял, его нельзя отключить вообще! То есть либо плохой звук, либо жрать проц, даже если у меня half-pro карта, которая сама все сделает. Ну и делает. Потому что я выпилил проклятый PA с концами, чтоб он мне нервы не трепал. Последний раз был вообще финиш - при работающем PA любое звуковое приложение (везде для вывода выбрана alsa) блокировало от вывода все остальные несмотря на наличие аппаратного микшера. Даже знать не хочу, что это было. Кривая поделка для дибилов потому что. А кто заикнется про чтение манов, тот дурак, потому что PA якобы для хомячков. Какие маны, что вы?

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

>Непонятно вообще, зачем в PA по умолчанию включен качественный ресемплинг, жрущий уйму времени, если он ориентирован на дешевенькие встроенные звуковушки. И ведь, как я понял, его нельзя отключить вообще!

Э? Даже тут давали ссылку на «патч» для конфига.

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

Takashi однако быстро меняет свои взгляды, сегодня нет, завтра есть :)

Спасибо за информацию, будем ждать поддержки hwmix в Alsa.

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

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

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

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

Толсто.

Нихрена он не органичивал. Он сказал, что у него нет таких притязаний

по политическим и социальным причинам, всё. Так же, как у Линуса не


было притязаний на RT, но пришли люди и начали его делать.



У Линуса были притязании на мировое господство, идеальное ядро и все что с ним связано. О чем он неоднократно заявлял и даже книгу написал. О том что люди могут приходить и делать хоть черта лысого. Люди пришли и сделали. Но тебя это похоже удивило.

Более того именно об этом я и писал в своей мессаге, которую ты успешно проигнорировал. О том что Линус не Поцеринг, о том что у Линуса этих самых политических причин всегда было и есть.

Ровно так же мог поступить Поцеринг, но не поступил. Вопрос - почему?


А нафига? Что бы удовлетворить тейлганнера? Сомневаюсь что ему это было интересно.

Ты считаешь что он должен был бросить все и заиметь эти самые политические причины которые и всегда были у Линуса? Нуну. Тебя наверное укусил какой то школьник и твой мозг под влиянием ядовитый слюны начинает менятся. :)

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

> будем ждать поддержки hwmix в Alsa

Так есть же! И я про свой десктоп говорил, и Takashi в том треде говорил не столько про саму карту, сколько про её драйвер — прочитай повнимательнее его второй ответ (http://mailman.alsa-project.org/pipermail/alsa-devel/2010-January/024733.html).

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