Arquitectura de sonido avanzada de Linux


Advanced Linux Sound Architecture ( ALSA ) es un marco de software y parte del kernel de Linux que proporciona una interfaz de programación de aplicaciones (API) para controladores de dispositivos de tarjetas de sonido .

Algunos de los objetivos del proyecto ALSA en sus inicios fueron la configuración automática del hardware de la tarjeta de sonido y el manejo elegante de múltiples dispositivos de sonido en un sistema. ALSA se publica bajo GPL-2.0-o-posterior y LGPL-2.1-o-posterior . [5]

En Linux, los servidores de sonido, como sndio , PulseAudio , JACK (edición y mezcla de audio de nivel profesional de baja latencia) y PipeWire , y las API de nivel superior (por ejemplo , OpenAL , SDL audio , etc.) funcionan sobre ALSA y su sonido controladores de dispositivo de tarjeta. ALSA sucedió al antiguo puerto Linux del Open Sound System (OSS).

El proyecto para desarrollar ALSA fue dirigido por Jaroslav Kysela y se basó en el controlador de dispositivo Linux para la tarjeta de sonido Gravis Ultrasound . Comenzó en 1998 y se desarrolló por separado del kernel de Linux hasta que se introdujo en la serie de desarrollo 2.5 en 2002 (2.5.4–2.5.5). [6]

En la versión 2.6, reemplazó al sistema anterior, Open Sound System (OSS), por defecto (aunque existe una capa de compatibilidad con versiones anteriores). [7]

ALSA tiene una API más grande y compleja que OSS, por lo que puede ser más difícil desarrollar una aplicación que utilice ALSA como tecnología de sonido. Si bien ALSA puede configurarse para proporcionar una capa de emulación OSS, dicha funcionalidad ya no está disponible o no está instalada de forma predeterminada en muchas distribuciones de Linux.


La API de Linux se compone de la interfaz de llamada al sistema del kernel de Linux, la biblioteca GNU C (de GNU ), libdrm , libalsa y libevdev (de freedesktop.org ).
ALSA es parte del kernel de Linux , mientras que PulseAudio es middleware, una parte de los niveles inferiores de la pila de escritorio. Así es SDL .