¿Por qué necesitas PulseAudio?


13

Estoy leyendo y tratando de entender por qué alguien querría usar Pulse Audio y no lo entiendo. Leí esto https://www.linux.com/news/hardware/drivers/8100-why-you-should-care-about-pulseaudio-and-how-to-start-doing-it , y todavía estoy no obteniendo una respuesta convincente. Tengo una configuración, con una tarjeta de sonido. (No necesito multiplexar sonidos desde o hacia varias tarjetas de sonido). Sé que todas las aplicaciones están escritas con diferentes API, ALSA, OSS, JACK, etc. Así que si configuro todos esos marcos para enrutar el sonido a través del pulso de audio, ¿qué beneficio obtengo, en lugar de permitir que todos esos marcos hablen directamente a la tarjeta de sonido? ¿conductor? Además, no veo que Pulse Audio tenga su propia API de aplicación. Entonces necesito elegir un marco de todos modos (como ALSA). Gracias


55
Por un lado, sé que solía tener un problema en el que si el programa A usaba la tarjeta de sonido, el programa B no podría usarla hasta que se cerrara el programa A. Incluso si el programa A ya no lo estuviera usando. En mi caso, ese tipo de cosas desapareció tan pronto como surgió pulseaudio. Quizás podría haber configurado ALSA o OSS para permitir también el acceso de múltiples programas a la tarjeta de sonido, pero nunca había descubierto cómo.
terdon

2
Ellos (pulseaudio) pensaron que la solución para los muchos sistemas de audio en Linux era crear otro sistema de audio.
Ctrl-D

Si este era un sistema que podía emular a los demás o si tenía una interfaz más simple, sería la solución. Parece que esto no se logró.
schily

Respuestas:


17

Se trata de multiplexación.

No necesito multiplexar sonidos desde o hacia varias tarjetas de sonido

Ah, pero tu si! Si desea poder reproducir audio de dos fuentes a la vez, por alguna razón, necesita multiplexación.

OSX y Windows manejan la multiplexación en el kernel (pero aún en el software), por lo que esto nunca / rara vez aparece en esas plataformas.

Sin embargo, en Linux, con software como ALSA, la multiplexación se deja a la tarjeta de sonido / implementación / controlador específico.

Desafortunadamente, no todas las tarjetas y todos los controladores realmente admiten esto de inmediato.

Ahí es donde entra en juego PulseAudio, haciendo la multiplexación en el software, independientemente de la situación de su tarjeta de sonido / controlador.

Sin esta funcionalidad, si dijera, utilizando ALSA directamente sans-PulseAudio, con una tarjeta de sonido que tenía un pobre soporte de multiplexación PCM en Linux, solo podría escuchar el sonido de una aplicación a la vez.

Por ejemplo, si tenía un video reproduciéndose en su navegador web y recibió una notificación en Pidgin, no escucharía el sonido de la notificación porque su navegador web ya tendría el control de su tarjeta de sonido.

Al enrutar todo el sonido a través de PulseAudio primero, se evita este problema.

Fuente: Una larga conversación de IRC que tuve una vez con el responsable de mantenimiento de Ubuntu para ALSA, donde les hice exactamente la misma pregunta que me están haciendo ahora.


55
Gracias @Zee! Esa es una buena respuesta! Sin embargo, leí esto alsa-project.org/main/index.php/Asoundrc y veo que puedo lograr exactamente lo mismo con las configuraciones de ALSA, usando "complementos". Lo probé y pude reproducir varias instancias de aplay al mismo tiempo. Entonces mi pregunta sigue siendo, ¿por qué necesito Pulse Audio, si puedo hacer todo esto con ALSA :)?
Michael P

55
Hola @MichaelP, encantado de ayudar. La razón por la que PulseAudio sigue siendo útil es porque puede tener múltiples servidores de audio en ejecución, no solo ALSA. Por ejemplo, si alguien está haciendo un trabajo de edición de audio, a menudo usará el servidor de audio JACK para eso, que es más adecuado para el trabajo de audio de baja latencia, pero aún usa ALSA para audio general. Es posible que eso no se aplique a usted, pero PulseAudio significa que no tiene que preocuparse por cómo funciona todo. Si lo configura solo para ALSA, tendría que configurar cada caso de uso por separado. PulseAudio funciona con Alsa y cualquier otra fuente de audio que pueda usar.
Zee Alexander

2
Dicho esto, es posible que PulseAudio no sea especialmente útil para usted específicamente, pero en general las distribuciones que no son barebones lo configuran de forma inmediata, por lo que no hay una razón real para reemplazarlo con un complemento ALSA. Si está ejecutando una distribución como Arch donde tiene que configurar todo usted mismo desde cero, utilice todos los medios el complemento ALSA.
Zee Alexander

1
Gracias @Zee Alexander, eso soluciona toda mi confusión. Gracias por la respuesta. Me gustaría que PulseAudio lo explicara bien en su sitio web.
Michael P

2

Desde la introducción de Dmix en alsa, pulseaudio resultó inútil. Al mismo tiempo, con Dmix habilitado de alguna manera en el fondo (no tengo que configurar nada) me funciona mucho mejor. Por ejemplo, no hay demoras mientras se cambia un nivel de sonido.

Simplemente desinstale pulseaudio si está usando alsa reciente y se siente bien.


1
Acabo de tener este problema emergente, desinstalé pulseaudio y ahora todo suena bien (jugar desde múltiples fuentes también funciona muy bien). Alsa driver 4.4.0-104, utils 1.1.0
klogd

1
WTaF. Entonces, ¿por qué las distribuciones siguen habilitando el demonio de multiplexación pulseaudio? ¡Es un AF lento y con errores y ha sido el culpable de demasiados problemas de sonido! Inhabilito el demonio en lugar de desinstalar todo el paquete, ya que existen dependencias con la configuración de ALSA, lo que parece que el paquete funciona bien.
Dominic Cerisano
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.