Архитектура звуковой системы linux?

Всем доброго.
Подскажите где почитать более плотно про архитектуру звуковой подсистемы линух вообщем и кед в частности. Перегуглил весь интернет. Есть описание на отдельные элементы, а принцип их взаимодействия не ясен. Gstreamer, xine-lib, alsa, phonon, pulseaudio и т.д. надстроек много развелось а кто за что отвечает и как проходит цепочка вывода звука ясности нет. Интересуюсь с целью настройки домашнего медиацентра на максимальное качество, что-бы не было перекодирования, перемены частоты квантования и т.д.
для максимального качества лучче использовать mpd, тогда и необходимость разбирацо в надстройках отпадает самособой, к томуже он легко управляется скриптами и с пульта. имхо лучче покопаться в http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki, чем во всякой шляпе типа гстримера
Главное - звуковая карта с поддержкой 44.1 кГц. А это значит, прощай Creative. Увы, пока вынужден пользоваться их карточкой.
alsa - драйвера, которые непосредственно работают с устройством (kernel-space) и библиотеки (user-space) для доступа к устройствам, что бы каждый раз свой код не городить для доступа к какому нить /dev/mixer. alsa-oss враппер, которые создает прослойку эмулирующую старую звуковую подсистему oss.

все остальное, что ты назвал, это различные фрейм-ворки, уровни абстракции над физическими устройствами вывода и/или унификации доступа к различным медийным форматам. Так, например, пульсаудио:
* несколько приложений используют его для вывода
* сервер пульса получает все данные, микширует и выводит на какое-то устройство, а оно может быть: удаленным компом, звуковухой на этом (тогда используется alsa/oss или ещё что) или ещё чем. Если грубо - эдакий навороченный аналог ESD или Arts :-)

xine-lib, gstreamer больше для декодирования и выплевывания уже куданить на тот же пульс или алса или… кстати, пульс может использоваться и не совсем явно - alsa может его юзать через плагин :-)

В общем, если не нужно воспроизводить физически на другом компе, лучше пульс выпилить, больше проблем создает, а вские xine-lib/gstreamer уже будут использоваться, в зависимости от архитектуры конкретного приложения

про фонон не скажу, не разбирался, вроде как звуковая подсистема в Qt4 теперь, т.н. набор абстракций, для упрощения создания кроссплатформенных мультимедийных приложений для декодирования использует что-то системное, типа gstreamer или xine-lib а вывод… наверное далее по цепочке :)
systemd должен умереть.
Спасибо за информацию. Но хочется более детально. Например есть кде 4.х запускаем проигрыватель и воспроизводим какой нибудь файл. А дальше самое интересное - кто декодирует - далее кто регулирует уровень громкости - кто подмешивает звук от других процессов и не происходит ли смена частоты дискретизации на каком-то из этапов?. В настройках кде есть выбор gstreamer или xine-lib. Я понимаю что половина цепочки зависит от самого проигрывателя, для примера подойдёт любой.
ну дальше уже сам покури :) просто почитай про каждый из них, есть даже в педивики. Если KDE4, скорре всего фонон, собственно выбор xine/gstreamer - выбор одного из бекэндов для него, а фонон потом уже на алсу кидает.
systemd должен умереть.
Ну судя по тому, что кедовый Kmix рулит напрямую Alsa'ой, значит phonon в неё звук выдает, и микширует звук уже она. Это логика, на верность не претендую.
Примеры:
Amarok -> Phonon -> Gstreamer -> Alsa
Amarok -> Phonon -> xine -> alsa
Mpd -> Alsa
Moc -> Jack -> Alsa
и т.д.

p.s. Для извращенцев особых ценителей: Amarok -> phonon -> gstreamer -> pulseaudio -> (тут еще можно jack попробовать впихнуть) -> alsa
phonon тут просто библиотека по сути, точнее интерфес, в том же mpd для декодирования ffmpeg/audifile/libmodplug/libmad и прочее что у него в зависимостях, просто они дергаются напраямую, а фонон предлагает унифицированный интерфейс (который в грамотно написанных прогах так же есть, по крайней мере внутри). Я не думаю что в этих цепочках добавится каких-то дополнительных декодирований, просто, допустим в случае с phonon - выбрать наиболее подходящий по звучанию бакэнд
systemd должен умереть.
Спасибо за помощь. Ситуация немного прояснилась. Вобщем у меня в качестве медиацентра стоит XBMC. Он работает напрямую с alsa. Погрузившись немного в дебри выяснил что DMIX. часть alsы которая отвечает за смешивание звуков из разных источников, в любом случае производит преобразоваание звукового потока что в итоге отражается на качестве звука. Здесь более подробно http://forum.xbmc.org/showthread.php?t=59877 . Перенастроил ALSу в соответствии с описанием по ссылке. Сейчас обкатываю. Правда теперь звук идёт только с одного приложения и регулировка громкости в KDE не работает, чего и следовало ожидать..
 
Зарегистрироваться или войдите чтобы оставить сообщение.