Audio

Noob's Guide to Linux Audio ALSA, OSS un Pulse Audio Explained

Noob's Guide to Linux Audio ALSA, OSS un Pulse Audio Explained
Gan jaunie, gan pieredzējušie Linux lietotāji var vienoties: Linux audio ir mulsinošs. Vairākas tehnoloģijas ne tikai veic līdzīgus darbus, bet lielāko daļu no tām var pilnībā izlaist Linux izplatītāji un to lietotāji.

Situācija ir samērā laba, ja runa ir par galvenajiem rajoniem, piemēram, Ubuntu, Debian vai Fedora, jo to izstrādātāji ir pielikuši daudz pūļu, lai padarītu audio darbu tieši no kastes, taču to nevar teikt par Arch Linux, Gentoo, un citi minimālistiski sadalījumi, kas paredz, ka lietotāji visu konfigurēs no nulles.

Šis raksts nepadarīs jūs par Linux audio ekspertu, taču, cerams, tas izskaidros pamattehnoloģijas, kas atbildīgas par skaņas radīšanu no jūsu skaļruņiem, atverot videoklipu vietnē YouTube vai spēlējot spēli Steam.

Uzlabotā Linux skaņas arhitektūra (ALSA)

Sāksim ar vissvarīgāko Linux audio slāni ALSA. 1998. gadā čehu programmatūras izstrādātāja Jaroslava Kysela izveidotā ALSA ir atbildīga par balss piešķiršanu visiem modernajiem Linux izplatījumiem. Tā faktiski ir daļa no paša Linux kodola, nodrošinot audio funkcionalitāti pārējai sistēmai, izmantojot lietojumprogrammu saskarni (API) skaņas karšu ierīču draiveriem.

Sākotnējo ALSA dizainu lielā mērā iedvesmoja Linux ierīces draiveris skaņas kartei Gravis Ultraskaņas, kuru izgatavoja Kanādā bāzētā Advanced Gravis Computer Technology un kas kļuva ļoti populāra demonstrācijas skatījumā 1990. gados.

ALSA atbalsts visu veidu audio saskarnēm, pateicoties pilnībā modulāriem skaņas draiveriem, var vienlaikus pārvaldīt līdz astoņām audio ierīcēm, piekļūt aparatūras MIDI funkcionalitātei, veikt vairāku kanālu aparatūras sajaukšanu un daudz ko citu.

Lietotāji parasti mijiedarbojas ar ALSA, izmantojot grafiskā miksera programmu alsamixer, ko var izmantot, lai konfigurētu skaņas iestatījumus un pielāgotu atsevišķu kanālu skaļumu. Alsamixer darbojas terminālā, un to var izsaukt, tikai ierakstot tā nosaukumu. Viena īpaši noderīga tastatūras komanda tiek aktivizēta, nospiežot taustiņu M. Šī komanda pārslēdz kanālu izslēgšanu, un tas ir diezgan izplatīts risinājums daudziem Linux diskusiju dēļos ievietotajiem jautājumiem.

Atvērta skaņas sistēma (OSS)

ALSA oficiālajā vietnē ir minēts atbalsts Open Sound System jeb īsi OSS. Līdz Linux 2.5, OSS faktiski bija galvenā un vienīgā skaņas sistēma Linux. ALSA tika izstrādāta, lai novērstu dažādus trūkumus, piemēram, faktu, ka tas vienlaikus neļāva vairākām lietojumprogrammām piekļūt aparatūrai. Operētājsistēmā Linux 2.6 ALSA nomainīja OSS kā noklusējuma skaņas sistēmu.

Kad OSS izstrādātāji paziņoja, ka OSS versijai būs patentēta licence, Linux izstrādātāji ātri pieņēma lēmumu aizstāt to ar ALSA. Ir vērts atzīmēt, ka OSS atkal kļuva par bezmaksas programmatūru, 2007. gadā izlaižot 4. versiju. Šodien OSS tiek izplatīta ar četrām dažādām licencēm (BSD, CDDL, GPL, Proprietary).

Lielākā daļa Linux izplatījumu mūsdienās pat neuztraucas aktivizēt ALSA esošo OSS emulācijas slāni, jo gandrīz nevienam tas vairs nav vajadzīgs, padarot OSS par pagātnes reliktu.

PulseAudio

Ja jūs neatceraties pēdējo reizi, kad mainījāt audio iestatījumus, mijiedarbojāties ar ALSA, iespējams, tas ir tāpēc, ka Linux audio sistēmas uz lietotāju vērsto slāni lielākajā daļā mūsdienu izplatījumu sauc par PulseAudio.

PulseAudio sākotnēji tika izlaists 2004. gadā, un tagad tas pēc noklusējuma ir iekļauts un iespējots Ubuntu, Linux Mint, openSUSE un citos galvenajos izplatījumos. PulseAudio uzdevums ir pārsūtīt skaņas datus starp lietojumprogrammām un aparatūru, novirzot skaņas, kas nāk no ALSA, uz dažādiem izejas galamērķiem, piemēram, datora skaļruņiem vai austiņām. Tāpēc to parasti sauc par skaņas serveri.

No pirmā acu uzmetiena var šķist, ka PulseAudio patiesībā nepievieno neko kritiski svarīgu Linux audio, un daudziem tā kritiķiem ir tāds pats viedoklis. Patiesībā ir daudzas lietas, kuras bez tā būtu neiespējami vai grūti izpildāmi, tostarp vairāku skaņu sajaukšana vienā, audio pārsūtīšana uz citu mašīnu vai parauga formāta vai kanālu skaita maiņa.

PulseAudio nodrošina arī starpplatformu savietojamību (FreeBSD, NetBSD, OpenBSD, Linux, Illumos, Solaris, macOS un ierobežotā veidā arī Microsoft Windows). Ja vēlaties tieši kontrolēt PulseAudio, tā vietā, lai mijiedarbotos ar to caur skaļuma regulēšanas logrīku vai dažu veidu paneli, varat instalēt PulseAudio skaļuma vadību (lielākajā daļā pakotņu krātuvēs to sauc par pavucontrol).

Ja uzskatāt, ka PulseAudio piedāvātās funkcijas nav izmantojamas, varat izmantot tīru ALSA vai aizstāt to ar citu skaņas serveri.

PulseAudio vs. Džeks

PulseAudio nav vienīgais Linux skaņas serveris. Ir arī JACK, kas ir rekursīvs akronīms JACK Audio Connection Kit. Tā kā PulseAudio tika izstrādāts, ņemot vērā vispārējo Linux lietotāju vajadzības, JACK ir paredzēts dīdžejiem un audio profesionāļiem, nodrošinot reāllaika un zemas aiztures savienojumus gan audio, gan MIDI datiem.

Tā kā JACK ļauj jums savienot audioierakstus un izejas katrai no jūsu lietojumprogrammām, varat ar to paveikt diezgan atdzist, piemēram, uzraudzīt savu balsi, pievienot tai reāllaikā efektus un daudz ko citu. Patiesībā šīs skaņas sistēmas nosaukumu iedvesmoja kabeļi, ko izmantoja reālās ierakstu studijās, lai izveidotu sarežģītus savienojumus starp instrumentiem, sintezatoriem, MIDI kontrolieriem un multitracker.

Iespējams, ka lielākais JACK trūkums ir tas, ka tas parasti darbojas vai nu ideāli, vai briesmīgi, piederot faktam, ka tā galvenais mērķis ir nodrošināt zemas latentuma audio. Tas prasa arī ievērojami lielāku procesora jaudu, salīdzinot ar PulseAudio, tāpēc to atradīsit galvenokārt profesionālās darbstacijās, kas veltītas audio rediģēšanai.

Pulse Audio un ALSA pārbaude

Jums var būt jautājums, kā es varu pateikt, kuru audio programmatūru izmanto mans dators? Lai pārbaudītu, vai sistēmā ir gan Pulse Audio, gan ALSA, izmantojiet šādas divas komandas:
PulseAudio pārbaude:

$ pactl saraksts


ALSA pārbaude:

$ aplay -l

Secinājums

Audio uz Linux šķiet sarežģīts, jo tas tā patiešām ir. Mantoto tehnoloģiju un abstrakcijas slāņu atšķetināšana var būt īsts izaicinājums pat pieredzējušiem Linux lietotājiem, kuri no galvas zina operētājsistēmas nepilnības. Cerams, ka mūsu raksts palīdzēja jums labāk izprast vissvarīgākās Linux audio sistēmas sastāvdaļas, tostarp ALSA, OSS un PulseAudio.

Peles kreisā klikšķa poga nedarbojas operētājsistēmā Windows 10
Ja ar klēpjdatoru vai galddatoru izmantojat īpašu peli, bet nedarbojas peles kreisās klikšķa poga kādu iemeslu dēļ operētājsistēmā Windows 10/8/7 šeit...
Rakstot Windows 10, kursors lec vai pārvietojas nejauši
Ja atklājat, ka peles kursors automātiski, nejauši lec vai pārvietojas pats, rakstot Windows klēpjdatorā vai datorā, daži no šiem ieteikumiem var palī...
Kā mainīt peles un skārienpaliktņu ritināšanas virzienu operētājsistēmā Windows 10
Pele un SkārienpaliktnisTas ne tikai padara skaitļošanu vienkāršu, bet arī efektīvāku un mazāk laikietilpīgu. Mēs nevaram iedomāties dzīvi bez šīm ier...