GNU / Linux för nybörjare: Hur ljud fungerar

En av de saker som jag tyckte ganska förvirrande med GNU / Linux under min övergång från att använda Windows som mitt primära operativsystem till att använda GNU / Linux var hur ljud fungerade.

I Windows behöver du inte tänka på någonting eller veta hur du konfigurerar specifika verktyg för det mesta; ljud fungerar bara. Du kanske behöver installera en drivrutin för ett nytt headset eller ljudkort men det är ungefär lika tungt som saker blir.

Ljud i GNU / Linux har kommit långt och fungerar numera ganska bra när det gäller enkelheten som användare som migrerar från Windows är vana vid; men det finns fortfarande några nyanser och termer som nya användare kanske inte känner till.

Den här artikeln är inte avsedd att fördjupa för djupt, det kommer förmodligen bara att vara vanlig kunskap för alla med mild erfarenhet i GNU / Linux-världen, men förhoppningsvis hjälper detta att klargöra vissa saker för greenhorns.

Ljud i Linux

Bilden nedan visar hur ljud fungerar i GNU / Linux, vilket kommer att utvidgas på:

Av Shmuel Csaba Otto Traian, CC BY-SA 3.0, //commons.wikimedia.org/w/index.php?curid=31418026

ALSA

ALSA står för ”Advanced Linux Sound Architecture” och är roten till allt ljud i moderna GNU / Linux-distributioner. Kort sagt, ALSA är det ramverk som ljuddrivrutiner kommunicerar genom, eller i sig kan man i något hänvisa till det som en ljuddrivrutin. ungefär.

Det fanns ett annat något liknande system som heter OSS (Open Sound System) som vissa fortfarande föredrar, men det är mestadels avvecklat och används sällan längre.

ALSA är numera grunden för allt ljud i ett GNU / Linux-system. Kärnan (Linux själv) kommunicerar med ALSA, som sedan kommunicerar med en ljudserver som PulseAudio, som sedan kommunicerar med applikationerna på systemet. Du kan fortfarande ha ljud utan en server som PulseAudio, men du tappar mycket funktionalitet och anpassning; liksom andra funktioner som vi kommer att täcka inom kort.

Ljudservrar

Pulseaudio

PulseAudio ingår i praktiskt taget alla större förbyggda GNU / Linux-operativsystem. Ubuntu, Opensuse, Manjaro, Mageia, Linux Mint etc, alla använder PulseAudio till exempel.

Jag gillar i allmänhet inte att hänvisa till Wikipedia, men en bra förklaring till PulseAudio finns där i bättre ord än jag kanske har använt ...

”PulseAudio fungerar som en ljudserver, där en bakgrundsprocess som accepterar ljudingång från en eller flera källor (processer, fånga enheter etc.) skapas. Bakgrundsprocessen omdirigerar sedan nämnda ljudkällor till en eller flera sänkor (ljudkort, PulseAudio-fjärrservrar eller andra processer). ”

I huvudsak dirigerar PulseAudio ljudet som det tar emot från ALSA, till dina högtalare, hörlurar etc.

Utan PulseAudio kan ALSA vanligtvis bara skicka ljud till en plats åt gången. PulseAudio å andra sidan tillåter att ljud kommer från flera källor samtidigt och skickas ut till flera platser samtidigt.

En annan egenskap hos PulseAudio är förmågan att styra volymen för separata applikationer oberoende. Du kan stänga av Youtube i din webbläsare och stänga NED-spotify, till exempel utan att behöva justera volymen som en entitet.

De flesta skrivbordsmiljöer har sina egna verktyg / fackverktyg för att ändra volymer / lyssnarenheter via PulseAudio, men det finns ett program som heter 'pavucontrol' som kan installeras om du vill röra med PulseAudio direkt, och se exakt vad jag refererar till . Det är rakt fram och enkelt att ta reda på, och paketet finns tillgängligt i praktiskt taget alla distributionslager.

PulseAudio har många andra funktioner, men vi kommer vidare, men om du vill ha mer information om PulseAudio kan du få den här.

JACK

JACK står för JACK Audio Connection Kit. JACK är en annan ljudserver som liknar PulseAudio, men används oftare bland DJ: s och ljudpersonal. Det är ganska lite mer tekniskt, men det stöder saker som lägre latens mellan enheter och är mycket användbart för att ansluta flera enheter tillsammans (som hårblandare, skivspelare, högtalare osv. För professionellt bruk.) De flesta kommer aldrig att behöva använda JACK, PulseAudio fungerar ganska bra om du inte behöver JACK för något specifikt.

Slutgiltiga tankar

Ljud på GNU / Linux "låter" mer komplicerat än det verkligen är (se vad jag gjorde där), och förhoppningsvis hjälper den här artikeln saker att göra lite mer meningsfullt när du surfar på webben och ser namn som ALSA eller PulseAudio är kastas runt!

Njut av!