stringtranslate.com

Sistema de sonido abierto

El sistema de sonido abierto (OSS) es una interfaz para crear y capturar sonido en sistemas operativos Unix y similares . Se basa en llamadas estándar del sistema de dispositivos Unix (es decir, POSIX read , write , ioctl , etc.). El término también se refiere en ocasiones al software en un núcleo 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 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 el OSS sea software libre . [3]

API

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

cat /dev/random > /dev/dsp # reproduce ruido blanco a través del altavozcat /dev/dsp > aa # lee datos del micrófono y los copia al archivo aa

OSS implementa la interfaz /dev/audio . Se proporciona acceso detallado a los dispositivos de sonido individuales a través del directorio /dev/oss . OSS también tiene soporte MIDI en /dev/sequencer , /dev/music (ambos heredados) y /dev/mini . [4] [5]

En Linux, OSS4 también puede emular ALSA , su reemplazo de código abierto. [6]

Historia

OSS era originalmente "VoxWare", un controlador de sonido del núcleo Linux de Hannu Savolainen. Savolainen puso el código a disposición bajo licencias de software libre , GPL para Linux y BSD para distribuciones BSD. Entre noviembre de 1993 (y Linux 1.00) [7] y 1997, OSS fue la única opción de sistema de sonido en FreeBSD y Linux. Esto cambió cuando Luigi Rizzo escribió un nuevo controlador "pcm" para FreeBSD en 1997, y cuando Jaroslav Kysela comenzó Advanced Linux Sound Architecture en 1998. [8]

En 2002, Savolainen fue contratado por la empresa 4Front Technologies y convirtió en privativo el futuro OSS 4, que incluye soporte para dispositivos de sonido más nuevos y mejoras . En respuesta, la comunidad Linux abandonó la implementación OSS/libre incluida en el núcleo y el esfuerzo de desarrollo se trasladó al reemplazo Advanced Linux Sound Architecture (ALSA). FreeBSD en ese momento había cambiado a un proyecto "newpcm" iniciado en 1999 y no se vio afectado. [8]

En julio de 2007, 4Front Technologies publicó fuentes para OSS bajo la licencia CDDL-1.0 para OpenSolaris y GPL-2.0-only para Linux . Los controladores para algunas tarjetas de sonido permanecieron en código cerrado y no se incluyeron en la versión. [3] En enero de 2008, 4Front Technologies publicó OSS para FreeBSD (y otros sistemas BSD ) bajo la cláusula BSD-2 . [9]

Estado de adopción

Código

OSS4 existe ahora principalmente como un software independiente, no integrado en el código fuente del núcleo. La excepción son Solaris y OpenSolaris , que utilizan una bifurcación de OSS4 llamada Boomer. Combina el marco de OSS4 (audio y mezclador) junto con la API SADA ( /dev/audio ) anterior de Sun. [10]

Aunque las distribuciones de Linux como Ubuntu hicieron que OSS4 estuviera disponible como un paquete de software después de que se convirtió en software libre, decidieron ignorar cualquier error detectado contra estos paquetes. [11]

API

La API de OSS ha seguido siendo influyente a pesar de la oscuridad de la biblioteca original. La documentación de NetBSD la describe como "la API preferida en FreeBSD y Solaris". [12]

FreeBSD contiene una implementación de la API OSS desarrollada independientemente, que incluye, entre otras cosas, remuestreo en el núcleo, mezcla (vchans), ecualizador, sonido envolvente y control de volumen independiente para cada aplicación. También admite el modo bit-perfect. [13] Evolucionó gradualmente a partir del reemplazo "newpcm" escrito en 1999 y alcanzó a la API OSS4 alrededor de 2005. [8]

NetBSD admite un modo de compatibilidad para la API OSS, al proporcionar el soundcard.harchivo de encabezado y la libossaudiobiblioteca, que funcionan internamente utilizando la interfaz de audio nativa similar a la de Sun. El reemplazo se vio por primera vez en NetBSD 1.3 de 1998. [12]

Como ya se ha dicho, Linux ha pasado a la arquitectura de sonido de Linux avanzada desde 2003 (kernel 2.6). ALSA ofrece un modo de emulación de OSS opcional, dentro del kernel, que aparece ante los programas como si fuera OSS. [14] ALSA también tiene un programa de espacio de usuario aoss que funciona interceptando llamadas de sistemas dirigidas a los archivos de dispositivos OSS. [15]

OSS/3D

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

Posteriormente, 4Front OSS3D pasó a llamarse Joesoft Hear. [16]

Crítica

El OSS, tanto como API como software, ha sido criticado por algunos desarrolladores, como Paul Davis (de JACK Audio Connection Kit ) y Lennart Poettering (de su competidor PulseAudio ). [17] [ verificación fallida ] [18]

Véase también

Referencias

  1. ^ OSS v4.2 build 2019 , consultado el 10 de mayo de 2019
  2. ^ "Registro de descarga de OSS".
  3. ^ ab 4Front Technologies publica el código fuente de un sistema de sonido abierto, Linux PR, archivado desde el original el 25 de julio de 2011 , consultado el 8 de enero de 2012
  4. ^ "Referencia de API de OSS v4.x - Conceptos básicos de la API de OSS". manuals.opensound.com .
  5. ^ "Guía del programador de Open Sound System (3.x)" (PDF) . 2000. Consultado el 22 de febrero de 2023 .
  6. ^ "Consejos y trucos - Sistema de sonido abierto". ossnext.trueinstruments.com .
  7. ^ "Linux 0.99 patchlevel 14 - Diff - 75bb5836a8a8c0ee44ffd60a51f357b9568f1381^! - pub/scm/linux/kernel/git/nico/archive - Git en Google". kernel.googlesource.com . Consultado el 22 de marzo de 2024 .
  8. ^ abc "Sonido - Wiki de FreeBSD". wiki.freebsd.org .
  9. ^ 4Front Technologies lanza OSS para FreeBSD bajo la licencia BSD, opensound.com , consultado el 8 de enero de 2012
  10. ^ Blog de Hannu » Boomer, 4front-tech.com, archivado desde el original el 2012-03-16 , consultado el 2012-01-08
  11. ^ Documentación de Ubuntu: OpenSound, ubuntu.com , consultado el 8 de enero de 2012
  12. ^ ab "ossaudio(3) - Páginas del manual de NetBSD". man.netbsd.org .
  13. ^ sonido, Freebsd.org, 13 de julio de 2009 , consultado el 8 de enero de 2012
  14. ^ Emulación OSS, archivado desde el original el 5 de junio de 2012 , consultado el 7 de julio de 2012
  15. ^ "aoss(1) — Páginas del manual de Arch". man.archlinux.org .
  16. ^ · Referencia de producto obsoleta, Yohng.com , consultado el 8 de enero de 2012
  17. ^ "Un tutorial sobre el uso de la API de audio de ALSA".
  18. ^ "Entrevista con Lennart Poettering (LinuxFR.org) [LWN.net]". lwn.net .

Enlaces externos