Зачем вам PulseAudio?

13

Я читаю и пытаюсь понять, почему кто-то хочет использовать Pulse Audio, и я не понимаю. Я прочитал это https://www.linux.com/news/hardware/drivers/8100-why-you-should-care-about-pulseaudio-and-how-to-start-doing-it , и я до сих пор не получить убедительный ответ. У меня есть настройка, с одной звуковой картой. (Мне не нужно мультиплексировать звуки с или на несколько звуковых карт). Я знаю, что все приложения написаны с использованием различных API, ALSA, OSS, JACK и т. Д. Поэтому, если я настрою все эти платформы для маршрутизации звука через импульсный звук, какую выгоду я получу, если буду позволять всем этим средам общаться непосредственно со звуковой картой? Водитель? Кроме того, я не вижу, чтобы у Pulse Audio был свой собственный API приложений. Так что мне все равно нужно выбирать рамки (например, ALSA). Благодарность

Майкл П
источник
5
Во-первых, я знаю, что у меня была проблема, когда если программа A использовала звуковую карту, программа B не могла бы использовать ее, пока программа A не была закрыта. Даже если программа A больше не использовала его. В моем случае подобные вещи исчезли, как только появилось pulseaudio. Возможно, я мог бы настроить ALSA или OSS, чтобы разрешить доступ к звуковой карте нескольким программам, но я так и не понял, как это сделать.
Terdon
2
Они (pulseaudio) думали, что решение для многих аудиосистем в Linux заключается в создании еще одной аудиосистемы.
Ctrl-D
Если это была система, которая могла эмулировать другие, или если у нее был более простой интерфейс, это решение. Кажется, что это не было достигнуто.
Шил

Ответы:

17

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

Мне не нужно мультиплексировать звуки с или на несколько звуковых карт

Ах, но вы делаете! Если вы хотите иметь возможность воспроизводить звук из двух источников одновременно, по любой причине, вам необходимо мультиплексирование.

OSX и Windows обрабатывают мультиплексирование в ядре (но все еще в программном обеспечении), поэтому на этих платформах такое редко встречается.

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

К сожалению, не все карты и все драйверы действительно поддерживают это из коробки.

Вот где приходит PulseAudio, выполняя мультиплексирование в программном обеспечении, независимо от ситуации с вашей звуковой картой / драйвером.

Без этой функциональности, если вы скажете, используя ALSA напрямую sans-PulseAudio со звуковой картой, которая имеет плохую поддержку мультиплексирования PCM в Linux, вы сможете услышать звук только из одного приложения за раз.

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

Во-первых, эта проблема устраняется путем направления всего звука через PulseAudio.

Источник: длинная беседа IRC, которую я когда-то имел с сопровождающим Ubuntu для ALSA, где я задал им тот же вопрос, который вы задаете сейчас.

Зи Александр
источник
5
Спасибо @Zee! Это хороший ответ! Однако я читаю этот alsa-project.org/main/index.php/Asoundrc и вижу, что могу добиться того же с конфигурациями ALSA, используя «плагины». Я протестировал его и смог воспроизвести несколько экземпляров aplay одновременно. Так что мой вопрос все еще остается, зачем мне Pulse Audio, если я могу сделать все это с помощью ALSA :)?
Майкл П
5
Привет @MichaelP, рад помочь. Причина, по которой PulseAudio по-прежнему полезен, заключается в том, что у вас может быть запущено несколько аудиосерверов, а не только ALSA. Например, если кто-то выполняет работу по редактированию звука, он часто использует для этого аудиосервер JACK, который лучше подходит для работы с аудио с низкой задержкой, но все же использует ALSA для обычного звука. Это может не относиться к вам, но PulseAudio означает, что вам не нужно беспокоиться о том, как все это работает. Если вы настроите его только для ALSA, вам придется настраивать каждый вариант использования отдельно. PulseAudio работает с Alsa и любым другим источником звука, который вы когда-либо могли использовать.
Зи Александр
2
При этом PulseAudio может быть не особенно полезен для вас, но, как правило, дистрибутивы non-barebone настраивают его для вас «из коробки», поэтому нет реальной причины заменить его на плагин ALSA. Если вы работаете с таким дистрибутивом, как Arch, где вам нужно все настроить самостоятельно, во что бы то ни стало, используйте вместо этого плагин ALSA.
Зи Александр
1
Спасибо @Zee Александр, это решает все мое замешательство. Спасибо за ответ. Я бы хотел, чтобы PulseAudio объяснила это так хорошо на их сайте.
Майкл П,
2

Начиная с введения Dmix в alsa, pulseaudio оказался бесполезным. Голая alsa с Dmix каким-то образом включена глубоко внутри (мне не нужно ничего устанавливать) работает намного лучше для меня. Например, при изменении уровня звука задержки отсутствуют.

Просто удалите pulseaudio, если вы используете последнюю версию alsa и чувствуете себя хорошо.

user4674453
источник
1
Просто была эта проблема с всплывающими окнами, удалено pulseaudio, и теперь все звучит нормально (отлично работает и игра из нескольких источников). Alsa драйвер 4.4.0-104, утилиты 1.1.0
klogd
1
WTaF. Тогда почему дистрибутивы по-прежнему включают демон импульсно-звукового мультиплексирования? Это медленный, глючный автофокус и был причиной многих проблем со звуком! Я отключаю демон, а не удаляю весь пакет, поскольку есть зависимости с конфигурацией ALSA, которые пакет, похоже, делает хорошо.
Доминик Черизано