Audio

Noob's gids voor Linux Audio ALSA, OSS en Pulse Audio uitgelegd

Noob's gids voor Linux Audio ALSA, OSS en Pulse Audio uitgelegd
Er is één ding waar zowel nieuwe als ervaren Linux-gebruikers het over eens kunnen zijn: Linux-audio is verwarrend. Niet alleen voeren meerdere technologieën vergelijkbare taken uit, maar de meeste kunnen volledig worden weggelaten door Linux-distributies en hun gebruikers.

De situatie is relatief goed als het gaat om reguliere distributies zoals Ubuntu, Debian of Fedora, omdat hun ontwikkelaars er alles aan hebben gedaan om audio direct uit de doos te laten werken, maar hetzelfde kan niet gezegd worden over Arch Linux, Gentoo, en andere minimalistische distributies die van gebruikers verwachten dat ze alles helemaal opnieuw configureren.

Dit artikel maakt je geen expert op het gebied van Linux-audio, maar het zal hopelijk de basistechnologieën uitleggen die verantwoordelijk zijn voor het maken van geluid uit je luidsprekers wanneer je een video opent op YouTube of een game speelt op Steam.

Geavanceerde Linux-geluidsarchitectuur (ALSA)

Laten we beginnen met de belangrijkste laag van de Linux-audio, ALSA. ALSA, opgericht in 1998 door de Tsjechische softwareontwikkelaar Jaroslav Kysela, is verantwoordelijk voor het geven van een stem aan alle moderne Linux-distributies. Het maakt eigenlijk deel uit van de Linux-kernel zelf en biedt audiofunctionaliteit aan de rest van het systeem via een Application Programming Interface (API) voor stuurprogramma's voor geluidskaartapparaten.

Het oorspronkelijke ontwerp van ALSA was grotendeels geïnspireerd op het Linux-stuurprogramma voor de Gravis Ultrasound-geluidskaart, die werd gemaakt door het in Canada gevestigde Advanced Gravis Computer Technology en in de jaren negentig erg populair werd in de demoscene.

ALSA-ondersteuning voor alle soorten audio-interfaces dankzij volledig gemodulariseerde geluidsstuurprogramma's, kan tot acht audioapparaten tegelijkertijd beheren, toegang krijgen tot hardware-MIDI-functionaliteit, hardwaremixen van meerdere kanalen uitvoeren en meer.

Gebruikers communiceren doorgaans met ALSA met behulp van alsamixer, een grafisch mixerprogramma dat kan worden gebruikt om geluidsinstellingen te configureren en het volume van individuele kanalen aan te passen. Alsamixer draait in de terminal, en je kunt het oproepen door gewoon de naam te typen. Een bijzonder handig toetsenbordcommando wordt geactiveerd door op de M-toets te drukken. Deze opdracht schakelt het dempen van kanalen in, en het is een vrij veel voorkomende oplossing voor veel vragen die op Linux-discussieforums zijn gepost.

Open geluidssysteem (OSS)

De officiële website van ALSA vermeldt ondersteuning voor Open Sound System, of kortweg OSS. Tot Linux 2.5, OSS was eigenlijk het belangrijkste en enige geluidssysteem voor Linux. ALSA is ontworpen om de verschillende tekortkomingen te verhelpen, zoals het feit dat niet meer dan één applicatie tegelijk toegang had tot de hardware. In Linux 2.6 ALSA heeft OSS vervangen als het standaard geluidssysteem.

Toen de ontwikkelaars van OSS aankondigden dat de OSS-versie een propriëtaire licentie zou hebben, werd door Linux-ontwikkelaars snel de beslissing genomen om deze te vervangen door ALSA. Het is vermeldenswaard dat OSS opnieuw gratis software werd met de release van versie 4 in 2007. Tegenwoordig wordt OSS gedistribueerd onder vier verschillende licenties (BSD, CDDL, GPL, Proprietary).

De meeste Linux-distributies nemen tegenwoordig niet eens de moeite om de OSS-emulatielaag die aanwezig is in ALSA te activeren, omdat bijna niemand het meer nodig heeft, waardoor OSS een overblijfsel uit het verleden is.

PulseAudio

Als je niet meer weet wanneer je voor het laatst interactie hebt gehad met ALSA bij het wijzigen van je audio-instellingen, komt dat waarschijnlijk omdat de naar de gebruiker gerichte laag van het Linux-audiosysteem in de meeste moderne distributies PulseAudio wordt genoemd.

PulseAudio werd oorspronkelijk uitgebracht in 2004 en is nu standaard opgenomen en ingeschakeld in Ubuntu, Linux Mint, openSUSE en andere grote distributies. De taak van PulseAudio is om geluidsgegevens tussen uw applicaties en uw hardware door te geven, waarbij geluiden afkomstig van ALSA naar verschillende uitvoerbestemmingen worden geleid, zoals uw computerluidsprekers of hoofdtelefoon. Daarom wordt het vaak een geluidsserver genoemd.

Op het eerste gezicht lijkt het erop dat PulseAudio niet echt iets van cruciaal belang toevoegt aan Linux-audio, en veel van zijn critici delen dezelfde mening. In werkelijkheid zijn er eigenlijk veel dingen die onmogelijk of moeilijk te bereiken zouden zijn zonder dit, waaronder het mixen van meerdere geluiden in één, het overbrengen van audio naar een andere machine of het wijzigen van het sampleformaat of het aantal kanalen.

PulseAudio biedt ook platformonafhankelijke compatibiliteit (FreeBSD, NetBSD, OpenBSD, Linux, Illumos, Solaris, macOS en, in beperkte mate, Microsoft Windows). Als je PulseAudio rechtstreeks wilt bedienen, in plaats van ermee te werken via een volumeregelingswidget of een soort paneel, kun je PulseAudio Volume Control installeren (in de meeste pakketrepository's pavucontrol genoemd).

Als u denkt dat u de functies van PulseAudio niet kunt gebruiken, kunt u pure ALSA gebruiken of deze vervangen door een andere geluidsserver.

PulseAudio versus. JACK

PulseAudio is niet de enige geluidsserver voor Linux. Er is ook JACK, een recursief acroniem voor JACK Audio Connection Kit Connection. Terwijl PulseAudio is ontwikkeld met de behoeften van algemene Linux-gebruikers in gedachten, is JACK bedoeld voor DJ's en audioprofessionals en biedt het realtime verbindingen met lage latentie voor zowel audio- als MIDI-gegevens.

Omdat je met JACK de audio-ingangen en -uitgangen van elk van je applicaties met elkaar kunt verbinden, kun je er behoorlijk coole dingen mee doen, zoals het monitoren van je eigen stem, er in realtime effecten aan toevoegen en meer. De naam van dit geluidssysteem is zelfs geïnspireerd op de kabels die in echte opnamestudio's worden gebruikt om ingewikkelde verbindingen te maken tussen instrumenten, synthesizers, MIDI-controllers en multitrackers.

Het grootste nadeel van JACK is misschien wel dat het meestal perfect of vreselijk werkt, omdat het hoofddoel is om audio met lage latentie te bieden. Het vereist ook aanzienlijk meer CPU-vermogen in vergelijking met PulseAudio, daarom vindt u het vooral op professionele werkstations die zijn gewijd aan audiobewerking.

Pulse Audio en ALSA controleren

Je vraagt ​​je misschien af, hoe weet ik welke audiosoftware mijn computer gebruikt?? Gebruik de volgende twee opdrachten om te controleren of zowel Pulse Audio als ALSA op uw systeem aanwezig zijn:
Controleren op PulseAudio:

$ pact-lijst


Controleren op ALSA:

$ aplay -l

Conclusie

Audio op Linux lijkt ingewikkeld, want dat is het ook. Het ontwarren van het web van legacy-technologieën en abstractielagen kan een echte uitdaging zijn, zelfs voor doorgewinterde Linux-gebruikers die de ins en outs van het besturingssysteem uit hun hoofd kennen. Hopelijk heeft ons artikel je geholpen de belangrijkste componenten van het Linux-audiosysteem beter te begrijpen, waaronder ALSA, OSS en PulseAudio.

Top Oculus App Lab-games
Als je eigenaar bent van een Oculus-headset, moet je op de hoogte zijn van sideloading. Sideloading is het proces van het installeren van niet-winkeli...
Top 10 spellen om te spelen op Ubuntu
Het Windows-platform is een van de dominante platforms voor gaming geweest vanwege het enorme percentage games dat tegenwoordig wordt ontwikkeld om Wi...
5 beste arcade-spellen voor Linux
Tegenwoordig zijn computers serieuze machines die worden gebruikt om te gamen. Als je de nieuwe hoge score niet kunt halen, weet je wat ik bedoel. In ...