Utilizar programas OSS en PulseAudio

Open Sound System fue, tal vez, el primer sistema de audio popular en entornos Linux (1992), suplantado después por Advanced Linux Sound Architecture (1998) y, recientemente, por PulseAudio (2004).

Durante muchos años era habitual que las distribuciones Linux soportasen varios de estos sistemas de sonido en paralelo. Por ejemplo, mi antigua Ubuntu 10.04 proporcionaba un dispositivo /dev/dsp correspondiente a OSS, aunque su sistema de sonido nativo era PulseAudio.

Hoy en día, para bien y para mal, el mundo Linux se ha estandarizado en torno a PulseAudio. Existen programas antiguos, no obstante, que dependen de OSS (o, incluso, programas modernos que emplean OSS por ciertas capacidades convenientes) y que son incompatibles con las distribuciones Linux modernas porque han dejado de incluir esas capas de compatibilidad. Hoy en día o hablas PulseAudio o no funcionas.

Afortunadamente PulseAudio incluye algunas utilidades para facilitar la transición.

Por ejemplo, podemos lanzar una aplicación OSS de forma que su uso del dispositivo /dev/dsp se convierta automáticamente a PulseAudio:

$ padsp PROGRAMA PARÁMETROS

El manual de padsp dice:

padsp starts the specified program and redirects its access to OSS com‐ patible audio devices (/dev/dsp and auxiliary devices) to a PulseAudio sound server.

padsp uses the $LD_PRELOAD environment variable that is interpreted by ld.so(8) and thus does not work for SUID binaries and statically built executables.

Equivalent to using padsp is starting an application with $LD_PRELOAD set to libpulsedsp.so

Esta descripción nos indica qué hace padsp y también cómo lo hace.

El programa padsp podemos encontrarlo, por ejemplo, en Ubuntu en los paquetes pulseaudio-utils y osspd.

Bibliografía