Articulo de referencia

Sistema de sonido abierto

{{citation |url=http://ossnext.trueinstruments.com/forum/viewtopic.php?f=19&t=5876 |title=OSS v4.2 build 2019 |access-date=2019-05-10 |archive-date=2022-09-25 |archive-url=https...

El Open Sound System (OSS) es una interfaz para crear y capturar sonido en sistemas operativos Unix y similares . Se basa en las llamadas al sistema estándar de Unix (como POSIX read , write , ioctl , etc.). El término también se refiere a veces al software del núcleo de Unix que proporciona la interfaz OSS; puede considerarse como un controlador de dispositivo (o un conjunto de controladores) para el hardware de control de sonido . El objetivo de OSS es permitir el desarrollo de aplicaciones de sonido independientes del hardware 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 convierte a OSS en 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 usando el intérprete de comandos:

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

OSS implementa la interfaz /dev/audio . El acceso detallado a los dispositivos de sonido individuales se proporciona 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 kernel de Linux creado por 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 inició Advanced Linux Sound Architecture en 1998. [ 8 ]

En 2002, Savolainen fue contratado por la empresa 4Front Technologies e hizo que la próxima versión OSS 4, que incluía soporte para dispositivos de sonido más nuevos y mejoras, fuera propietaria . En respuesta, la comunidad Linux abandonó la implementación OSS/libre incluida en el kernel y el esfuerzo de desarrollo cambió a la arquitectura de sonido avanzada de Linux (ALSA) de reemplazo. FreeBSD para entonces ya había cambiado a un proyecto "newpcm" iniciado en 1999 y no se vio afectado. [ 8 ]

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

estado de adopción

Código

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

Aunque las distribuciones de Linux como Ubuntu pusieron OSS4 a disposición como un paquete de software después de que se convirtiera en software libre, han optado por ignorar cualquier error reportado en estos paquetes. [ 11 ]

API

La API de código abierto ha mantenido su influencia a pesar de la poca popularidad 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 desarrollada de forma independiente de la API OSS, que incluye, entre otras cosas, remuestreo en el kernel, 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 se actualizó con la API OSS4 alrededor de 2005. [ 8 ]

NetBSD admite un modo de compatibilidad para la API OSS, proporcionando el soundcard.harchivo de cabecera y la libossaudiobiblioteca, que internamente operan utilizando la interfaz de audio nativa tipo Sun. El reemplazo se vio por primera vez en NetBSD 1.3 de 1998. [ 12 ]

Como se mencionó anteriormente, Linux adoptó la arquitectura Advanced Linux Sound Architecture (ALSA ) en 2003 (núcleo 2.6). ALSA proporciona un modo de emulación OSS opcional dentro del núcleo que se presenta a los programas como si fuera OSS. [ 14 ] ALSA también cuenta con un programa de espacio de usuario llamado aoss que funciona interceptando las llamadas al sistema dirigidas a los archivos de dispositivo OSS. [ 15 ]

OSS/3D

OSS/3D es un plugin para reproductores de música que funciona como motor de postprocesamiento de audio. Entre los reproductores compatibles se incluyen Winamp , Windows Media Player (versión 9 o posterior), musicmatch, Sonique , Foobar2000 , JetAudio y XMMS . Está disponible para Windows y Linux. A diferencia de OSS, es shareware .

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

Crítica

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

Véase también

Referencias

  1. OSS v4.2 compilación 2019 , archivado del original el 25/09/2022 , recuperado el 10/05/2019
  2. "Registro de descarga de OSS" .
  3. 1 2 4Front Technologies publica el código fuente del sistema de sonido abierto , Linux PR, archivado del original el 25 de julio de 2011 , recuperado el 8 de enero de 2012.
  4. "Referencia de la API OSS v4.x - Conceptos básicos de la API OSS" . manuals.opensound.com . Archivado del original el 24 de marzo de 2023. Consultado el 22 de febrero de 2023 .
  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 . Archivado del original el 29/12/2009 . Consultado el 31/12/2009 .
  7. "Linux 0.99 patchlevel 14 - Diff - 75bb5836a8a8c0ee44ffd60a51f357b9568f1381^! - pub/scm/linux/kernel/git/nico/archive - Git en Google" . kernel.googlesource.com . Archivado del original el 22 de marzo de 2024. Consultado el 22 de marzo de 2024 .
  8. 1 2 3 "Sonido - Wiki de FreeBSD" . wiki.freebsd.org . Archivado del original el 29-03-2023 . Recuperado el 22-02-2023 .
  9. 4Front Technologies lanza software de código abierto para FreeBSD bajo la licencia BSD , opensound.com, archivado del original el 25/09/2010 , recuperado el 08/01/2012.
  10. Blog de Hannu » Boomer , 4front-tech.com, archivado del original el 16/03/2012 , consultado el 08/01/2012 
  11. Documentación de Ubuntu: OpenSound , ubuntu.com , consultado el 8 de enero de 2012
  12. 1 2 "ossaudio(3) - Páginas del manual de NetBSD" . man.netbsd.org .
  13. sonido , Freebsd.org, 13 de julio de 2009, archivado del original el 4 de marzo de 2016 , recuperado el 8 de enero de 2012.
  14. Emulación OSS , archivado del original el 5 de junio de 2012 , recuperado el 7 de julio de 2012.
  15. "aoss(1) — Páginas del manual de Arch" . man.archlinux.org . Archivado del original el 25 de mayo de 2022. Consultado el 22 de febrero de 2023 .
  16. · Referencia de producto obsoleto , Yohng.com , consultado el 8 de enero de 2012
  17. "Tutorial sobre el uso de la API de audio ALSA" . Archivado del original el 11 de septiembre de 2013. Consultado el 17 de septiembre de 2013 .
  18. "Entrevista con Lennart Poettering (LinuxFR.org) [ LWN.net ] " . lwn.net . Archivado del original el 14-09-2016 . Recuperado el 21-07-2016 .
  • Sitio web oficial
  • Construyendo el sistema de sonido abierto desde cero
  • El estado del sonido en Linux no es tan lamentable después de todo.