Öppna ljudsystem (OSS) | |
---|---|
| |
Sorts | ljudarkitektur |
Utvecklaren | 4Frontteknologier |
Operativ system | plattformsoberoende |
senaste versionen | 4.2 Bygg 2019 ( 5 mars 2019 [1] ) |
Licens | BSD-licens / Common Development and Distribution License / GNU General Public License |
Hemsida | opensound.com |
Open Sound System (OSS) är en enhetlig drivrutin för ljudkort och andra ljudenheter på olika UNIX-liknande operativsystem .
OSS är baserat på Linux Sound Driver och körs för närvarande på ett brett utbud av plattformar: Linux , FreeBSD , OpenSolaris , etc.
OSS skapades 1992 av den finska programmeraren Hannu Savolainen . De första versionerna av OSS släpptes under en kommersiell licens med tidsbegränsad shareware . [2]
OSS användes i Linux-kärnan 2.4-grenen. På grund av sin stängda källkod och betalda licens har OSS på Linux nu ersatts av ALSA .
Sedan version 4.0 är OSS även tillgängligt under fria licenser ( GNU GPL och CDDL ). [3]
/dev/dsp och /dev/audio är de viktigaste enhetsfilerna för digitala applikationer. All data som skrivs till dessa filer kommer att spelas upp på ljudkortets DAC / PCM / DSP - enhet . Läsning från dessa filer returnerar ljuddata som spelats in från den aktuella ingångskällan (standard är Mic Input).
Enhetsfilerna /dev/audio och /dev/dsp är mycket lika. Skillnaden är att /dev/audio använder logaritmisk mu-law- kodning som standard, medan /dev/dsp använder 8-bitars osignerad linjär kodning. Med mu-law-kodning representeras ett sampel inspelat med 12 eller 16-bitars upplösning av en byte. Den enda skillnaden mellan dessa filer är bara formatet på proverna. Båda enheterna beter sig på samma sätt efter att programmet väljer det dataformat det vill ha genom att anropa ioctl (). I praktiken används vanligtvis bara en av enhetsfilerna, vanligtvis /dev/dsp, eftersom den fungerar med ljuddata i det mycket använda PCM -formatet .
Det kan finnas flera enheter av dessa typer i systemet samtidigt, vanligtvis benämnda /dev/dsp, /dev/dsp1, /dev/dsp2, och så vidare.
När vi läser från /dev/dsp får vi en okomprimerad ljudström från datorns mikrofon genom ljudkortets ingång . Du kan till exempel köra kommandot "cat /dev/dsp > ./wave-file.wav", som senare kan matas ut till /dev/dsp igen.
När du skriver till /dev/dsp behandlas den inspelade informationen som en ljudström och matas ut direkt till datorns högtalare via ljudkortets utgång. Till exempel kan du köra kommandot "cat ./wave-file.au > /dev/dsp", men om du försöker skriva en ljudström till /dev/dsp i Vorbis , MP3 , eller i ett annat ljudformat i vilket ljud som är komprimerat En liknande situation kommer att inträffa om du försöker skriva till /dev/dsp en wav-fil som inte är bildad i 8bit/stereoformat (det finns /dev/dspW, du kan försöka kopiera en fil i 16bit/stereoformat dit).
Vissa människor roar sig genom att mata ut olika icke-ljudfiler till /dev/dsp. Till exempel, kommandot "cat /dev/random > /dev/dsp" matar ut en ström av slumpmässig data till högtalarna. Du kan också lyssna på en vy av konfigurationsfilen eller webbserverloggen .
/dev/mixer är standardkonfigurationsfilen för OSS audio I/O. Används i första hand för att komma åt de inbyggda mixarna av ljudkort. Denna enhet låter dig justera uppspelnings- och inspelningsvolymnivåerna från olika ljudingångar. Denna enhetsfil används också för att välja inspelningskälla. Vanligtvis kontrollerar en mixer utgångsnivån för digital ljuduppspelning och en FM- synthesizer och blandar dem med CD- , line- och mikrofoningångar .
OSS stöder flera mixers samtidigt.
OSS Proxy-demonen är en mellanlänk mellan programtrådarna och ALSA-drivrutinen för att säkerställa att programvara som skrivits under OSS fungerar korrekt.