Sistema audio aperto - Open Sound System

Sistema audio aperto
Autori originali Hannu Savolainen
Sviluppatore/i NCR Corporation
Rilascio stabile
4.2 build 2019 / 5 marzo 2019 ; 2 anni fa ( 2019-03-05 )
Sistema operativo Multipiattaforma
Tipo Audio
Licenza Clausola BSD-2
CDDL-1.0 Solo
GPL-2.0
Proprietario (precedentemente)
Sito web www .opensound .com

L' Open Sound System (OSS) è un'interfaccia per creare e catturare suoni nei sistemi operativi Unix e Unix-like . Si basa su chiamate di sistema standard dei dispositivi Unix (es. POSIX read , write , ioctl , ecc.). Il termine a volte si riferisce anche al software in un kernel Unix che fornisce l'interfaccia OSS; può essere pensato come un driver di dispositivo (o una raccolta di driver di dispositivo) per l' hardware del controller audio . L'obiettivo di OSS è quello di consentire la scrittura di applicazioni basate sul suono che siano indipendenti dall'hardware sonoro sottostante.

OSS è stato creato da Hannu Savolainen ed è distribuito con quattro opzioni di licenza , tre delle quali sono licenze di software libero , rendendo così OSS software libero .

API

L'API è progettata per utilizzare il framework Unix tradizionale di open(), read(), write() e ioctl(), tramite dispositivi speciali. Ad esempio, il dispositivo predefinito per l'input e l'output del suono è /dev/dsp . Esempi utilizzando la 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

Libero, proprietario, gratuito

Il progetto è stato inizialmente di software libero , ma dopo il successo del progetto, Savolainen è stato contratto dalla società 4Front Technologies e ha fatto il suo supporto per i dispositivi audio più recenti e miglioramenti proprietarie . In risposta, alla fine la comunità Linux abbandonò l'implementazione OSS/free inclusa nel kernel e lo sforzo di sviluppo passò alla sostituzione Advanced Linux Sound Architecture (ALSA). Alcune distribuzioni Linux, come Ubuntu , hanno scelto di disabilitare il supporto OSS nei loro kernel e ignorare qualsiasi bug registrato contro i pacchetti OSS4 (sebbene il supporto OSS possa essere riattivato su Ubuntu).

Nonostante ciò, diversi sistemi operativi, come FreeBSD , hanno continuato a distribuire versioni precedenti di OSS e continuano a mantenere e migliorare queste versioni.

Nel luglio 2007, 4Front Technologies ha rilasciato i sorgenti per OSS sotto CDDL-1.0 per OpenSolaris e solo GPL-2.0 per Linux .

Nel gennaio 2008, 4Front Technologies ha rilasciato OSS per FreeBSD (e altri sistemi BSD ) sotto la clausola BSD-2 .

Altre implementazioni

FreeBSD contiene un'implementazione sviluppata in modo indipendente dell'API OSS, che include, tra le altre cose, il ricampionamento nel kernel, il missaggio (vchan), l'equalizzatore, il suono surround e il controllo del volume indipendente per ogni applicazione. Supporta anche la modalità bit-perfect.

NetBSD e OpenBSD supportano una modalità di compatibilità per l'API OSS, fornendo il soundcard.hfile di intestazione e la libossaudiolibreria, che operano internamente utilizzando l'interfaccia audio nativa simile a Sun.

Solaris e OpenSolaris utilizzano un fork di OSS4 chiamato Boomer. Combina il framework OSS4 (audio e mixer) insieme alla precedente API SADA(/dev/audio) di Sun.

OSS/3D

OSS/3D è un plugin per lettori musicali, che funge da motore di post-elaborazione audio. I lettori supportati includono Winamp , Windows Media Player (9 o successivo), musicmatch, Sonique , Foobar2000 , JetAudio , XMMS . È portato su piattaforme Windows e Linux. A differenza dell'OSS, è shareware .

4Front OSS3D è stato successivamente rinominato Joesoft Hear.

OSS in relazione ad ALSA

Nel kernel Linux , storicamente sono state utilizzate due API audio uniformi. Uno è OSS; l'altro è ALSA ( Advanced Linux Sound Architecture ). ALSA è disponibile solo per Linux e, poiché esiste una sola implementazione dell'interfaccia ALSA, ALSA si riferisce ugualmente a tale implementazione e all'interfaccia stessa.

OSS era l'unica API audio in Linux fino alla serie 2.4 di kernel Linux ufficiali (kernel.org). ALSA è stato aggiunto a partire dalla 2.5 e, in quelle versioni, gli autori del kernel Linux contrassegnavano OSS come deprecato. 4Front ha continuato a sviluppare OSS al di fuori del kernel Linux.

ALSA fornisce una modalità di emulazione OSS opzionale che appare ai programmi come se fosse OSS. Allo stesso modo, c'era una modalità di emulazione ALSA nell'implementazione Linux di OSS.

OSS sia come API che come software è stato criticato da alcuni sviluppatori, come Paul Davis (di JACK Audio Connection Kit ) e Lennart Poettering (di PulseAudio concorrenti ). La maggior parte di queste critiche erano specifiche per l'implementazione di Linux e non per l'API OSS stessa, oppure sono state affrontate nella versione OSS 4.

Guarda anche

Riferimenti

link esterno