sábado, 5 de diciembre de 2009

Paseo por el sonido en GNU/Linux

El sonido siempre ha sido algo complicado tanto para el programador como para el usuario. En GNU/Linux la historia es larga y complicada pero empezaremos por Open Sound System.

OSS que nació en 1992 y que estuvo disponible en 11 de las distribuciones más populares. Escrito en C y con las librerias POSIX, OSS fue muy importante ya que a través de una interfaz del núcleo o kernel del sistema operativo consigue reproducir y capturar sonido en cualquier tipo de tarjeta de sonido aunque existan diferencias abismales. El éxito de este sistema de audio hizo que su programador Hannu Savolainen, se uniera a una empresa y cerrara el código fuente de su programa. Como resultado de esto las distribuciones abandonaron este sistema y se pasaron a Advanced Linux Sound Architecture.

ALSA es un componente del kernel de Linux que como OSS consigue configurar casi todos los dispositivos de sonido e incluso hacer trabajar varios en el mismo sistema. Nació para sustituir a OSS y está distribuido bajo licencia GPL. ALSA mejoró y añadió características para la producción de sonido como el soporte midi, mezcladores de sonido y procesos concurrentes.
También es compatible con JACK una interfaz de sonido que emplean los productores de sonido debido a su bajo nivel de ruido.
Uno de los comandos más famosos de linux, pertenece a ALSA y es el comando aplay que permite reproducir sonidos. También existe el comando alsamixer que nos permite subir y bajar el volumen de las entradas y salidas de nuestra tarjeta de sonido.
En la actualidad ALSA sigue siendo utilizado aunque poco a poco esta siendo pisado por PulseAudio.

PulseAudio o PolypAudio es software libre y es empleado actualmente en muchas de las distribuciones de Linux. Su principal cambio frente a ALSA es que se puede trabajar a través de red. Además por si fuera poco implementa un control de volumen para cada aplicación y la capacidad de enviar a otros ordenadores de red sonidos para reproducirlos directamente en sus altavoces.
Las mejoras de rendimiento y calidad de audio también son importantes y también añade soporte para dispositivos de audio bluetooth. Sin duda, es el servidor de sonido que implementa las necesidades de nuestro tiempo y que además hace de intermediario entre aplicaciones que usan ALSA o OSS.
El esquema general resulta complicado pero viene a ser un mezclador de sonidos que conmuta en una sola salida todas las peticiones.

No hay comentarios:

Publicar un comentario