Om du vill använda Linux-ljud för professionellt arbete, men har använt Windows fram till nu, så finns det några viktiga skillnader du behöver veta om.

Den här artikeln kommer att hjälpa till att förklara grunderna för Linux-ljud, och det kommer att göra det genom att direkt jämföra varje del av systemet med motsvarande i Windows. Detta för att göra det enkelt för musiker och ljudtekniker som förstår Windows väl att byta till Linux och få tillbaka sitt nöje och frihet.
Så luta dig tillbaka, slappna av och gör dig redo att lära dig:
- Exakt vad ett ljudramverk är;
- De viktigaste skillnaderna mellan hur Linux och Windows hanterar ljud;
- Hur Windows WASAPI och ASIO jämför med Linuxs ALSA och JACK.
Vad är ett ljudramverk?
Operativsystem är komplexa, så även något så till synes enkelt som att spela upp eller generera ett ljud kan ha flera lager av applikationer som pratar med varandra.
I mjukvara kan ett ramverk ses som den ställning som du bygger själva applikationen runt. Det kan också ses som en applikation, eller en uppsättning applikationer, som inte gör något förrän du lägger till funktionaliteten. Ljudramverket gör ingenting förrän en annan applikation säger åt den att spela upp ett ljud, sedan kommer den till liv.
Det här diagrammet nedan är ett förenklat diagram över det nuvarande Linux-ljudramverket (ofta hänvisat till av vardagsspråket "stack").

Vi missade medvetet att appen faktiskt kan prata med ALSA direkt, eftersom väldigt få gör det eftersom de skulle förlora alla fördelar med att använda JACK eller Pulse Audio.
Vilka är dessa mystiska saker inuti pingvinpyramiden? Oroa dig inte, allt kommer snart att avslöjas.
Varför behöver vi ljudramverk?
För att få din dator att faktiskt generera ljud krävs en enorm mängd kod, och varje program som vill ha ljud vill inte behöva skriva allt från grunden.
För att lösa detta problem tillhandahåller operativsystemet ett bra ramverk som alla applikationer kan dela.
När en applikation vill överföra ljud ur dina högtalare, säger den till ramverket att göra jobbet, och om det går bra kommer ljudet att hoppa ut ur dina högtalare och in i dina öron.
Det här diagrammet visar vad som skulle hända om det inte fanns något ramverk för ljud.

Windows och Linux har helt olika ljudramverk. För professionellt ljud vill vi ha:
- Låg latens. Så liten fördröjning i bearbetningen som möjligt;
- "Lite perfekt". Ingen förändring av volymen, samplingshastigheten eller vibrering av ljudet utan vår tillåtelse.
Båda operativsystemen kan tillhandahålla detta, men det är inte standard eftersom de flesta allmänna användare inte är intresserade av dessa funktioner, de vill förmodligen bara spela spel eller surfa på nätet.
Det är lättare för dem om operativsystemet kan hantera alla tekniska saker som samplingsfrekvenser utan att störa dem.
Vad gör ditt ljudgränssnitts hårdvarudrivrutin i ljudramverket?
Vi har pratat om ljudramverk, men hur är det med de faktiska drivrutinerna? Du kanske aldrig har hört talas om ljudramverk tidigare, utan bara om drivrutiner.
Hårdvarudrivrutiner är bara en del av ljudramverket. De behandlas väldigt olika på Windows och Linux.
För att din hårdvara ska kunna prata med datorn behöver den en speciellmellanhandkallad förare. Den här drivrutinen talar om för datorn exakt vad ditt ljudkort kan göra, hur många in- och utgångar det har, och mycket tekniska saker du förmodligen skulle dö av tristess om du försökte förstå.
Det finns generiska drivrutiner som kan fungera med många olika ljudgränssnitt, men proffsljudgränssnitt tenderar att ha alla möjliga specialfunktioner som behöver en anpassad drivrutin.
Om du vill ha bra och kraschfri prestanda med låg latens behöver gränssnittet en bra drivrutin skriven speciellt för det operativsystem du använder.
Ur ett användarperspektiv, utan att känna till ljudramverket, är den största förändringen från Windows till Linux att det inte finns något behov av att ladda ner ljuddrivrutiner längre.
I Windows laddar du ner ASIO/WASAPI-drivrutiner som talar direkt till dina applikationer
Att använda enprofessionellt ljudgränssnitti Windows måste du ladda ner drivrutinerna från tillverkarens webbplats och installera dem. Dessa kommer nästan säkert att innehålla en ASIO-drivrutin.
Denna typ av speciella drivrutiner skapad av Steinberg kommer att kringgå operativsystemet så mycket som möjligt och möjliggöra högkvalitativt ljud med låg latens.
Det kommer förmodligen att finnas en annan drivrutin för allmän Windows-användning. Detta är för programvara som inte stöder ASIO, och det kommer förmodligen att vara Windows Core Audio som använder WASAPI.
Detta är den nuvarande typen av drivrutin som används i Windows 10 och ersätter MME (1991), DirectSound (1995) och WDM (1998).
Windows Core Audio kan också kringgå operativsystemet så mycket som möjligt och få låg latens i "exklusivt" läge, men ASIO är fortfarande den mest använda proljudstandarden.
I Linux-ljud är drivrutinen inbyggd i ALSA som pratar med JACK eller Pulse Audio
I Linux är alla hårdvarudrivrutiner inbyggda i kärnan och levereras ur förpackningen (med några få undantag, som anständiga grafikdrivrutiner från tredje part.) Det finns inget att ladda ner.
Ljudgränssnittsdrivrutinerna bor nästan alla någonstans i kärnan som kallas ALSA (Advanced Linux Sound Architecture).
Den här magiska platsen gör mer än att bara lagra alla drivrutiner, den har även mjukvara och ett API (datorer på specialspråk talar med varandra) för att kommunicera med mjukvaran ovanför den.
Ljudgränssnittskompatibilitet med Linux
Det enda användaren verkligen behöver bry sig om är att få ett ljudgränssnitt som har en ALSA-ljuddrivrutin i kärnan. Tidigare har detta varit ett problem, men inte så mycket idag.
Den stora nyheten är att något som kallas USB Audio Class 2.0-kompatibla gränssnitt har blivit mycket vanligt. Detta är en universell standard som innebär att kompatibla gränssnitt fungerar direkt i Linux.
Tillverkare som gör sina enheter USB Audio Class 2.0-kompatibla för att fungera på en Mac/iPad får det också automatiskt att fungera på Linux, och ingen behöver skriva några extra drivrutiner för Linux-kärnan.
Här är en användbar lista över någraUSB Class 2.0-kompatibla ljudgränssnitt, men detta är inte helt aktuellt. DeLinux musiker forum hårdvara avsnittär också en bra resurs.
Pulse Audio och JACK förklarade
En stor skillnad mot Windows är att det i Linux finns andra lager ovanför hårdvarudrivrutinerna (i ALSA) vi behöver känna till. Dessa lager kallas Pulse Audio och JACK.
Vi måste förstå att de gör olika saker som antingen kommer att gynnas av att använda din dator som en ljudarbetsstation med DAW-programvara, eller som en allmän dator som tittar på YouTube och liknande.
Pulse Audio och JACK är tekniskt sett "ljudservrar", de kan skicka och ta emot många ljudkanaler till och från olika applikationer.
Alla program som vill använda ljud måste välja att kommunicera med ALSA direkt, Pulse Audio eller JACK för att bli hörda.
99 % av moderna generella applikationer kommer att använda Pulse Audio, och de återstående specialiserade professionella ljudsystemen kommer att använda JACK.
Pulse Audio, motsvarigheten till Windows WASAPI
Pulsljudkan ses som den vanliga standarden för normal vardaglig programvara. Den kommunicerar direkt med din hårdvarans ALSA-drivrutin och gör allt som operativsystemet behöver göra.
Pulse Audio kan blanda ljudutgångarna från olika program som spelar tillsammans, det kan konvertera samplingsfrekvenserna och det kan prata på ett vänligt och lättförståeligt sätt till programvara.
Utvecklare kan göra mjukvara som pratar med Pulse Audio och de vet att den stöds i alla Linux-distributioner direkt.
JACK, motsvarigheten till Windows ASIO
JACKär gjord för professionella ljudapplikationer som DAWs. Den kommunicerar också direkt med din hårdvarans ALSA-drivrutin.
Det är vanligtvis inte installerat i Linux som standard, men du kan ladda ner det från din distributions programvarulager. Den är byggd för låg latens.
Endast proffsljudapplikationer använder JACK, så du kommer fortfarande att behöva Pulse Audio för att du ska slösa bort YouTube binges på Firefox eller Chrome.
Så nu vet du:
- Ett ljudramverk kan ses som en byggnadsställning som låter applikationer skicka och ta emot ljud från din dator;
- Vi behöver ramverk så att utvecklaren av en applikation inte behöver skriva sin egen kod bara för att skicka och ta emot ljud;
- Vårt ramverk måste ha låg latens och "lite perfekt" för yrkesanvändning;
- Hårdvarudrivrutinen är mellanhanden mellan ditt ljudgränssnitt och ljudramverket i ditt operativsystem;
- I Windows använder du ASIO-drivrutiner för professionellt ljud som inte behöver en extra ljudserver ovanpå dem;
- I Linux använder du JACK ljudserver för professionellt ljud. Detta sitter ovanpå ALSA som innehåller din hårdvarudrivrutin.
Saker och ting har förändrats mycket de senaste åren. Mycket knaprig och meningslös gammal programvara har skickats till historiens papperskorg.
Pulse Audio blev dominerande, folk hatade det för att det var fullt av buggar, men nu är allt fixat och fungerar bra. JACK har förblivit det bästa och enda valet för proffsljud på Linux.
Om du läser online att Linux-ljud är ett fragmenterat skämt, hänvisa dem till den här artikeln.
Ljud på Linux har aldrig varit bättre! Anslut bara ditt USB Audio Class 2.0-kompatibla ljudgränssnitt, ladda upp din DAW med JACK och börja jamma och mixa!