Sistema de sonido abierto - Open Sound System

Sistema de sonido abierto
Autor (es) original (es) Hannu Savolainen
Desarrollador (es) Corporación NCR
Lanzamiento estable
4.2 compilación 2019/5 de marzo de 2019 ; Hace 2 años ( 05-03-2019 )
Sistema operativo Multiplataforma
Escribe Audio
Licencia BSD-2-Clause
CDDL-1.0
GPL-2.0-only
Propietario (anteriormente)
Sitio web www .opensound .com

El sistema de sonido abierto (OSS) es una interfaz para hacer y captación de sonido en Unix y Unix-como sistemas operativos. Se basa en llamadas al sistema de dispositivos Unix estándar (es decir , lectura , escritura , ioctl , etc. POSIX ). El término también se refiere a veces al software en un kernel Unix que proporciona la interfaz OSS; se puede considerar como un controlador de dispositivo (o una colección de controladores de dispositivo) para el hardware del controlador de sonido . El objetivo de OSS es permitir la escritura de aplicaciones basadas en sonido que sean independientes del hardware de sonido subyacente.

OSS fue creado por Hannu Savolainen y se distribuye bajo cuatro opciones de licencia , tres de las cuales son licencias de software libre , lo que hace que OSS sea software libre .

API

La API está diseñada para utilizar el marco Unix tradicional de open (), read (), write () y ioctl (), a través de dispositivos especiales. Por ejemplo, el dispositivo predeterminado para la entrada y salida de sonido es / dev / dsp . Ejemplos usando el shell:

cat /dev/random > /dev/dsp # plays white noise through the speaker
cat /dev/dsp > a.a # reads data from the microphone and copies it to file a.a

Gratis, patentado, gratis

El proyecto era inicialmente software gratuito , pero tras el éxito del proyecto, Savolainen fue contratado por la empresa 4Front Technologies y convirtió en propietario su soporte para los dispositivos de sonido más nuevos y las mejoras . En respuesta, finalmente la comunidad de Linux abandonó la implementación libre de OSS incluida en el kernel y el esfuerzo de desarrollo cambió a la Arquitectura de sonido avanzada de Linux (ALSA) de reemplazo . Algunas distribuciones de Linux, como Ubuntu , han optado por deshabilitar la compatibilidad con OSS en sus núcleos e ignorar cualquier error presentado en los paquetes OSS4 (aunque la compatibilidad con OSS puede volver a habilitarse en Ubuntu).

A pesar de esto, varios sistemas operativos, como FreeBSD , continuaron distribuyendo versiones anteriores de OSS y continúan manteniendo y mejorando estas versiones.

En julio de 2007, 4Front Technologies lanzó fuentes para OSS bajo CDDL-1.0 para OpenSolaris y GPL-2.0 solo para Linux .

En enero de 2008, 4Front Technologies lanzó OSS para FreeBSD (y otros sistemas BSD ) bajo la cláusula BSD-2 .

Otras implementaciones

FreeBSD contiene una implementación desarrollada independientemente de la API de OSS, que incluye, entre otras cosas, remuestreo, mezcla (vchans), ecualizador, sonido envolvente y control de volumen independiente para cada aplicación. También es compatible con el modo de bits perfectos.

NetBSD y OpenBSD admiten un modo de compatibilidad para la API de OSS, proporcionando el soundcard.harchivo de encabezado y la libossaudiobiblioteca, que operan internamente utilizando la interfaz de audio nativa similar a Sun.

Solaris y OpenSolaris utilizan una bifurcación de OSS4 llamada Boomer. Combina el marco OSS4 (audio y mezclador) junto con la API SADA (/ dev / audio) anterior de Sun.

OSS / 3D

OSS / 3D es un complemento para reproductores de música que actúa como motor de posprocesamiento de audio. Los reproductores compatibles incluyen Winamp , Windows Media Player (9 o posterior), musicmatch, Sonique , Foobar2000 , JetAudio , XMMS . Está adaptado a las plataformas Windows y Linux. A diferencia del OSS, es shareware .

4Front OSS3D pasó a llamarse posteriormente Joesoft Hear.

OSS en relación con ALSA

En el kernel de Linux , históricamente se han utilizado dos API de sonido uniformes. Uno es OSS; el otro es ALSA ( Arquitectura de sonido avanzada de Linux ). ALSA está disponible solo para Linux, y como solo hay una implementación de la interfaz de ALSA, ALSA se refiere igualmente a esa implementación y a la interfaz en sí.

OSS fue la única API de audio en Linux hasta la serie 2.4 de kernels oficiales de Linux (kernel.org). ALSA se agregó comenzando con 2.5, y en esas versiones, los autores del kernel de Linux marcaron OSS como obsoleto. 4Front continuó desarrollando OSS fuera del kernel de Linux.

ALSA proporciona un modo de emulación OSS opcional que aparece a los programas como si fuera OSS. De manera similar, hubo un modo de emulación ALSA en la implementación de Linux de OSS.

OSS tanto como API como como software ha sido criticado por algunos desarrolladores, como Paul Davis (de JACK Audio Connection Kit ) y Lennart Poettering (de la competencia PulseAudio ). La mayoría de estas críticas eran específicas de la implementación de Linux y no de la API de OSS en sí, o se han abordado en la versión 4 de OSS.

Ver también

Referencias

enlaces externos