Какова связь между звуковой архитектурой ALSA и PulseAudio?

40

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

Но почему в панели alsamixer есть панель управления PCM. Это действительно изменяет громкость, управляя чипом на звуковой карте? Если нет, то почему это не работа PulseAudio'a?

Какова связь между звуковой архитектурой ALSA и PulseAudio?

Кевин Донг
источник
Хороший ответ на этот вопрос доступен по адресу superuser.com/questions/144648/…
Адриано Риволли,

Ответы:

47

PulseAudio в основном располагается поверх ALSA и использует его для внутреннего использования. ALSA сама по себе не может использоваться несколькими приложениями, поэтому PulseAudio предоставляет эту функцию среди других.

Обобщенная:

  • ALSA - занимается аппаратным обеспечением, в основном владеет им
  • PulseAudio - программный прокси, обеспечивающий дополнительные функции (микширование, эквалайзер) между вашим приложением и подсистемой ALSA / OSS

Эта диаграмма взята со страницы Википедии PulseAudio:

PulseAudio операционная схема

meskobalazs
источник
Не могли бы вы быть так добры и написать, где в этой модели находится петлевое устройство ALSA? (тот, который устанавливается sudo modprobe snd-aloop)?
Адам
Я думаю, что это на площади водителя ALSA / OSS HW. AFAIK это в основном звуковая карта, полностью реализованная в программном обеспечении.
meskobalazs
Google только что привел меня сюда, но «ALSA не может быть использована несколькими приложениями» не соответствует действительности. Он просто работал по умолчанию со времени выхода alsa 1.0.9 ... в 2005 году.
Адам Д. Руппе
@ AdamD.Ruppe AFAIK dmixплагин обеспечивает микширование, поэтому я сказал «сам по себе».
Мескобалазс