Linux-audio-infrastruktur
Linux-audio-infrastruktur er eit samleomgrep som syner til programkode som realiserer funsksjonalitet for handsaming av digtal audio i Linux. Denne infrastrukturen femnar om lågnivåmodular som drivarar, lydmiksar/tenarar og grensesnitt mellom desse. Brukarprogram, som lydavspelarar, audio arbeidsstasjonar, syntisiserar og så vidare, har ulik funksjonalitet og vert ikkje rekna som infrastruktur. Audio-infrastrukturen er med andre ord programvara som ligg under brukarprogramma og som utfører oppgåver for brukarprogram, koordinerer I/O til frå lydkort og så vidare.
Audio-infrastrukturen utfører dei same oppgåvene uavhengig av kva brukarprogram som køyrer. Ved å plassera felles kode i eigne modular treng ein ikkje å inkludera denne koden i alle brukarprogramma. Dette sparar arbeid og gjer det lettare å utvikla nye brukarprogram. Denne infrastrukturen tek seg òg av oppgåver som synkronisering og gjer at ulike brukarprogram kan samarbeida.
Innhaldsliste |
Drivarar [endre]
Drivarar er lågnivå programvare som kontrollerer I/O-einingar som lydkort, USB- og IEEE 1394-kontrollerar og så vidare. Drivarane er Linuxkjernemodular og køyrer i kjernemodus. Naudsynte modular vert lasta inn i Linux-kjernen når maskina startar opp eller når nye plug-og-spel-einingar vert sett inn i maskina. Dei fleste lydkortprodusentane tilbyr ikkje drivarar for Linux, men det finst open kjeldekode-drivarar for dei mest populære lydkorta.
ALSA [endre]
- Hovudartikkel: ALSA
Advanced Linux Sound Architecture (ALSA) er eit rammeverk som handsamar lydkortdrivarar, bufferar, og anna lågnivå infrastruktur. ALSA kan styra opp til 8 full duplex lydkort og har støtte for automatisk konfigurasjon av lydkort og drivarar. ALSA har svært låg forseinking (nokre få mikrosekund), noko som er viktig i samband med profesjonelt arbeid i lydstudio.
FFADO [endre]
- Hovudartikkel: FFADO
Free FireWire Audio Drivers (FFADO) er eit grensesnitt mellom drivarane for eksterne lydkort med IEEE 1394-grensesnitt og audiomodular på eit høgare nivå (JACK og brukarprogram). FFADO spelar om lag same rolle for eksterne lydkort med IEEE 1394-grensesnitt som ALSA gjer for PCI-lydkort.
JACK [endre]
- Hovudartikkel: JACK
JACK er ein miksar/tenar som sit mellom lydhandsamarprogram som spelarar, editorar, osv. på brukarnivå og ALSA. Modulen tek seg av routring av audiostraumar mellom ulike brukarprogram og ALSA og FFADO. JACK var konstruert for profesjonell bruk heilt frå starten og innfører ikkje ekstra forsinking.
Brukarprogram kan kommunisera direkte med ALSA eller FFADO, eller via JACK. Audioeditoren Audacity til dømes nyttar grensesnittet til ALSA direkte, medan arbeidsstasjonen Ardour nyttar grensesnittet til JACK. Føremonen med å gå via JACK er at det gjer det enklare å henta audiostraumar frå andre kjelder, eller å senda dei vidare til andre program eller I/O einingar. JACK tek seg òg av synkronisering når det er fleire kjelder.
Plugin API [endre]
Eit plugin API er eit stadardisert grensesnitt som gjer at eit program kan utvidast med nye modular og slik få utvida funksjonalitet. LADSPA er eit slikt grensesnitt for Linux. LV2 er eit anna, meir moderne grensesnitt.
Audio-funksjonsbibliotek [endre]
Eit audio-funksjonsbibliotek er eit programvarebibliotek som inneheld funksjonar som utfører ulike oppgåver. Delar av ALSA og JACK er realiserte i form av slike bibliotek. Men det finst òg fleire tilleggsbibliotek, som PortAudio, som inneheld funksjonar for opptak og avspeling av lyd, og OpenAL, som inneheld funskjonar for tredimensjonal audio. Funksjonar frå desse biblioteka kan nyttast i nye brukarprogram. På denne måten kan ein spara mykje arbeid. Eit audio-funksjonsbibliotek som vert nytta som ein del av eit, eller fleire, brukarprogram er eigentleg ikkje ein del av infrastrukturen, medan andre som er ein del av ALSA og JACK er å rekna som infrastruktur.
Sjå òg [endre]
|
|
|
|---|---|
| Funksjonsbibliotek | |
| Plugginn | |
| Miksarar/Tenarar |
JACK | NetJack | PulseAudio | EsounD | Network Audio System |
| Lågnivågrensesnitt | |