Sistema de sonido abierto (OSS) | |
---|---|
| |
Tipo de | arquitectura de sonido |
Desarrollador | 4Tecnologías frontales |
Sistema operativo | multiplataforma |
ultima versión | 4.2 Compilación 2019 ( 5 de marzo de 2019 [1] ) |
Licencia | Licencia BSD / Licencia común de desarrollo y distribución / Licencia pública general GNU |
Sitio web | openound.com |
Open Sound System (OSS) es un controlador unificado para tarjetas de sonido y otros dispositivos de sonido en varios sistemas operativos similares a UNIX .
OSS se basa en el controlador de sonido de Linux y actualmente se ejecuta en una amplia gama de plataformas: Linux , FreeBSD , OpenSolaris , etc.
OSS fue creado en 1992 por el programador finlandés Hannu Savolainen . Las primeras versiones de OSS se lanzaron bajo una licencia comercial con shareware de tiempo limitado . [2]
OSS se utilizó en la rama Linux kernel 2.4. Debido a su fuente cerrada y licencia paga, OSS en Linux ahora ha sido reemplazado por ALSA .
Desde la versión 4.0 OSS también está disponible bajo licencias libres ( GNU GPL y CDDL ). [3]
/dev/dsp y /dev/audio son los principales archivos de dispositivo para aplicaciones digitales. Todos los datos escritos en estos archivos se reproducirán en el dispositivo DAC / PCM / DSP de la tarjeta de sonido . La lectura de estos archivos devuelve los datos de audio grabados desde la fuente de entrada actual (el valor predeterminado es Mic Input).
Los archivos de dispositivo /dev/audio y /dev/dsp son muy similares. La diferencia es que /dev/audio usa codificación mu-law logarítmica de forma predeterminada, mientras que /dev/dsp usa codificación lineal sin signo de 8 bits. Con la codificación mu-law, una muestra grabada con una resolución de 12 o 16 bits se representa con un byte. La única diferencia entre estos archivos es solo el formato de las muestras. Ambos dispositivos se comportan de la misma manera después de que el programa elige el formato de datos que desea llamando a ioctl (). En la práctica, solo se suele utilizar uno de los archivos del dispositivo, normalmente /dev/dsp, ya que trabaja con datos de audio en el formato PCM ampliamente utilizado .
Puede haber varios dispositivos de este tipo en el sistema al mismo tiempo, normalmente llamados /dev/dsp, /dev/dsp1, /dev/dsp2, etc.
Al leer desde /dev/dsp, obtenemos un flujo de audio sin comprimir desde el micrófono de la computadora a través de la entrada de la tarjeta de sonido . Por ejemplo, puede ejecutar el comando "cat /dev/dsp > ./wave-file.wav", que luego se puede enviar a /dev/dsp nuevamente.
Al escribir en /dev/dsp, la información grabada se trata como un flujo de audio y se envía directamente a los altavoces de la computadora a través de la salida de la tarjeta de sonido. Por ejemplo, puede ejecutar el comando "cat ./wave-file.au > /dev/dsp", sin embargo, si intenta escribir un flujo de audio en /dev/dsp en Vorbis , MP3 o en otro formato de audio en qué audio está comprimido Ocurrirá una situación similar si intenta escribir en /dev/dsp un archivo wav que no está formado en formato de 8 bits/estéreo (existe /dev/dspW, puede intentar copiar un archivo en formato de 16 bits/estéreo allí).
Algunas personas se divierten enviando varios archivos que no son de audio a /dev/dsp. Por ejemplo, el comando "cat /dev/random > /dev/dsp" envía un flujo de datos aleatorios a los altavoces. También puede escuchar una vista del archivo de configuración o del registro del servidor web .
/dev/mixer es el archivo de configuración de E/S de audio estándar de OSS. Se utiliza principalmente para acceder a los mezcladores integrados de las tarjetas de sonido. Esta unidad le permite ajustar los niveles de volumen de reproducción y grabación desde varias entradas de audio. Este archivo de dispositivo también se utiliza para seleccionar la fuente de grabación. Por lo general, un mezclador controla el nivel de salida de la reproducción de audio digital y un sintetizador FM , y los mezcla con entradas de CD , línea y micrófono .
OSS admite varios mezcladores al mismo tiempo.
El demonio OSS Proxy es un enlace intermedio entre los subprocesos de la aplicación y el controlador ALSA para garantizar que el software escrito bajo OSS funcione correctamente.