¿Cómo puedo saber si estoy usando alsa o pulse-audio por defecto? (Cambio a i3-wm)

52

Es posible que no entienda el concepto central, en cuyo caso corríjame si me equivoco.

Ubuntu viene con dos servidores de reproducción de audio diferentes, pulse y alsa. ¿Es Alsa una capa intermedia para pulsar? Esencialmente necesito saber cuál estoy usando.

La razón por la que necesito saber es que estoy intentando cambiar de la unidad a i3-wm. Al configurar i3 descubrí que no tenía audio y encontré este hilo . Especifica varias opciones para vincular las teclas de subir y bajar el volumen de mi computadora portátil a su funcionalidad y después de jugar con algunas de las opciones obtuve un audio muy áspero, por eso (supongo) necesito saber qué estoy usando realmente.

Paul Nelson Baker
fuente

Respuestas:

83

Ubuntu usa ALSA y Pulseaudio para controlar la entrada y salida de sonido.

ALSA

ALSA sirve como un sistema basado en el núcleo para conectar su hardware de sonido al sistema operativo. Todas las tarjetas de sonido en su sistema se controlarán usando controladores y configuraciones específicas de la tarjeta. La mayor parte de esto se hace bajo el capó sin necesidad de que los usuarios interfieran.

Además, ALSA ofrece bibliotecas y herramientas para controlar nuestro sistema de sonido. La herramienta que la mayoría de nosotros podría haber encontrado puede ser la alsamixer, una aplicación de terminal semi-gráfica para controlar el volumen del sonido y el estado de silencio de todas las tarjetas y perfiles en nuestro sistema.

Podemos dar sonido a nuestra tarjeta de sonido simplemente usando ALSA sin la necesidad de PulseAudio ni ningún otro servidor de sonido.

Audio de pulso

Además de la base ALSA, el servidor de sonido PulseAudio proporciona más herramientas para controlar mejor nuestro sistema de sonido. Esto se hace con módulos para definir niveles de volumen, perfiles de tarjetas de audio, sumideros de salida o fuentes de entrada, y más para facilitar el acceso desde la mayoría de las aplicaciones de Ubuntu.

Al igual que ALSA, PulseAudio también está diseñado para ejecutarse con la menor cantidad posible de interacciones del usuario. Siempre que necesitemos cambiar el volumen, el balance o los dispositivos de entrada / salida, es un módulo o aplicación PulseAudio que nosotros o nuestra aplicación llamamos.

Una alternativa profesional a PulseAudio es el servidor de audio JACK con más opciones para interactuar con nuestro hardware de sonido y un mejor soporte de baja latencia. Solo unas pocas aplicaciones de producción musical esperan que JACK se ejecute, lo que se puede hacer en paralelo a PulseAudio.

Integración de aplicaciones / escritorios

El sistema de sonido Ubuntu se puede controlar aún más desde aplicaciones que se ejecutan desde el escritorio de Unity / GNOME, como un applet de control de volumen.

Donde una aplicación dada hace uso del control de sonido dependerá de los desarrolladores de la aplicación. Algunas aplicaciones solo usarán ALSA, algunas necesitan PulseAudio, algunas necesitan JACK.

Por lo tanto, cada vez que instalemos otro administrador de escritorio sobre Ubuntu, podemos perder las aplicaciones específicas de escritorio para controlar el sonido, pero ALSA y PulseAudio se ejecutarán en segundo plano para controlar el sonido.

Es posible que tengamos que instalar paquetes adicionales como, por ejemplo , pavucontrol Instalar pavucontrol , la aplicación de control de volumen basada en GTK de pulseaudio.

¿Se está ejecutando ALSA o PulseAudio?

Tanto ALSA como PulseAudio vienen con aplicaciones de línea de comandos para imprimir el estado de nuestro sistema de sonido.

  • PulseAudio:

    pactl list
    
  • ALSA

    aplay -l
    

Ambos darán un error si el sistema de sonido no está funcionando. ALSA se cargará con el núcleo, PulseAudio se iniciará más tarde. Si este no fuera el caso, podemos iniciar PulseAudio manualmente desde la terminal con:

pulseaudio [options]  ## option -D starts the daemon

En caso de que tengamos problemas de audio, recomiendo leer la publicación escrita por David Henningsson sobre cosas que no debemos hacer antes de ir más allá para depurar nuestro problema de audio .

Takkat
fuente
1
@Takkat explicación increíble, muchas gracias. Llevo bastante tiempo intentando obtener la comprensión básica del sistema de audio en Linux y Ubuntu.
AlexN
En mi sistema raspberry pi, "lista de pactl" devuelve "Conexión rechazada", pero "pactl --server 127.0.0.1 list" funciona. exportar la variable de entorno "PULSE_SERVER = 127.0.0.1" permite que los clientes pulseaudio se conecten correctamente. ¿Alguna idea de lo que me estoy perdiendo? Esto está en una frambuesa pi.
Joao Costa