Heli

Noobi juhend Linuxi audio kohta ALSA, OSS ja Pulse Audio Explained

Noobi juhend Linuxi audio kohta ALSA, OSS ja Pulse Audio Explained
Nii uued kui ka kogenud Linuxi kasutajad saavad kokku leppida ühes asjas: Linuxi heli on segane. Mitmed tehnoloogiad ei täida mitte ainult sarnaseid töid, vaid Linuxi distributsioonid ja nende kasutajad võivad neist enamiku täielikult ära jätta.

Olukord on suhteliselt hea, kui tegemist on peavoolu distrodega nagu Ubuntu, Debian või Fedora, kuna nende arendajad on teinud palju vaeva, et helitöö kohe karbist välja tuua, kuid sama ei saa öelda ka Arch Linuxi, Gentoo, ja muud minimalistlikud jaotused, mis eeldavad, et kasutajad seadistavad kõik nullist.

Sellest artiklist ei saa teid Linuxi heli eksperdiks, kuid loodetavasti selgitatakse põhitehnoloogiaid, mis vastutavad teie kõlaritest heli tekitamise eest, kui avate YouTube'is video või mängite Steamis mängu.

Täpsem Linuxi heliarhitektuur (ALSA)

Alustame Linuxi heli kõige olulisemast kihist, ALSA-st. 1998. aastal Tšehhi tarkvaraarendaja Jaroslav Kysela loodud ALSA vastutab kõigi kaasaegsete Linuxi distributsioonide hääle andmise eest. See on tegelikult osa Linuxi tuumast endast, pakkudes helikaardi seadmete draiveritele rakenduse programmeerimisliidese (API) kaudu ülejäänud süsteemile helifunktsionaalsust.

ALSA algne disain oli suuresti inspireeritud Gravise ultraheliga helikaardi Linuxi seadmete draiverist, mille valmistas Kanadas asuv Advanced Gravis Computer Technology ja mis sai 1990ndatel demostseenis väga populaarseks.

ALSA tugi igat tüüpi heliliidestele tänu täielikult moduleeritud helidraiveritele suudab korraga hallata kuni kaheksat heliseadet, pääseda juurde riistvara MIDI-funktsioonidele, teostada mitme kanali riistvara segamist ja palju muud.

Kasutajad suhtlevad tavaliselt ALSA-ga, kasutades graafilist mikserprogrammi alsamixer, mida saab kasutada heliseadete konfigureerimiseks ja üksikute kanalite helitugevuse reguleerimiseks. Alsamixer töötab terminalis ja saate selle käivitada, lihtsalt sisestades selle nime. Üks eriti kasulik klaviatuurikäsk aktiveeritakse, vajutades klahvi M. See käsk lülitab kanali vaigistuse sisse ja see on üsna tavaline lahendus paljudele Linuxi aruteluplaatidele postitatud küsimustele.

Avatud helisüsteem (OSS)

ALSA ametlikul veebisaidil mainitakse Open Sound Systemi ehk lühidalt OSS-i tuge. Kuni Linux 2-ni.5, OSS oli tegelikult Linuxi peamine ja ainus helisüsteem. ALSA eesmärk oli ületada selle erinevad puudused, näiteks asjaolu, et riistvarale ei võimaldanud korraga rohkem kui üks rakendus juurde pääseda. Linuxis 2.6 ALSA asendas OSS-i vaikesüsteemina.

Kui OSS-i arendajad teatasid, et OSS-i versioonil on patenteeritud litsents, võtsid Linuxi arendajad kiiresti vastu otsuse asendada see ALSA-ga. Väärib märkimist, et OSS sai uuesti vabatarkvaraks versiooni 4 väljaandmisega 2007. aastal. Täna levitatakse OSS-i nelja erineva litsentsi alusel (BSD, CDDL, GPL, Proprietary).

Enamik Linuxi distributsioonidest ei vaevu tänapäeval isegi ALSA-s esineva OSS-i emuleerimiskihi aktiveerimisega, sest peaaegu keegi ei vaja seda enam, muutes OSS-i mineviku relikvia.

PulseAudio

Kui te ei mäleta, millal te viimati heliseadete muutmisel ALSA-ga suhtlesite, on see ilmselt seetõttu, et enamikus kaasaegsetes jaotustes on Linuxi helisüsteemi kasutajapõhine kiht PulseAudio.

PulseAudio ilmus algselt 2004. aastal ning nüüd on see vaikimisi kaasatud ja lubatud Ubuntu, Linux Mint, openSUSE ja muudes suuremates distributsioonides. PulseAudio ülesandeks on heliandmete edastamine teie rakenduste ja riistvara vahel, suunates ALSAst tulev heli erinevatesse väljundi sihtkohtadesse, näiteks arvuti kõlaritesse või kõrvaklappidesse. Sellepärast nimetatakse seda tavaliselt heliserveriks.

Esmapilgul võib tunduda, et PulseAudio ei lisa Linuxi helile tegelikult midagi kriitiliselt olulist ja paljudel selle kriitikutel on sama arvamus. Tegelikkuses on tegelikult palju asju, mida ilma selleta oleks võimatu või raske täita, sealhulgas mitme heli segamine ühte, heli teisele masinale edastamine või näidisvormingu või kanalite arvu muutmine.

PulseAudio pakub ka platvormidevahelist ühilduvust (FreeBSD, NetBSD, OpenBSD, Linux, Illumos, Solaris, macOS ja piiratud viisil ka Microsoft Windows). Kui soovite PulseAudio otse juhtida, selle asemel, et sellega helitugevuse reguleerimise vidina või teatud tüüpi paneeli kaudu suhelda, võite installida PulseAudio helitugevuse juhtimise (enamikus pakihoidlates nimetatakse pavucontroliks).

Kui tunnete, et teil pole PulseAudio pakutavatest funktsioonidest kasu, võite kasutada puhast ALSA-d või asendada see mõne muu heliserveriga.

PulseAudio vs. JACK

PulseAudio pole ainus Linuxi heliserver. Samuti on olemas JACK, mis on JACK Audio Connection Kit'i rekursiivne lühend. Kui PulseAudio töötati välja üldiste Linuxi kasutajate vajadusi silmas pidades, siis JACK on mõeldud DJ-dele ja heliprofessionaalidele, pakkudes reaalajas madala latentsusega ühendusi nii heli- kui ka MIDI-andmetele.

Kuna JACK võimaldab teil ühendada kõigi teie rakenduste helisisendid ja -väljundid, saate sellega teha päris lahedaid asju, näiteks jälgida oma häält, lisada sellele reaalajas efekte ja palju muud. Tegelikult olid selle helisüsteemi nimi inspireeritud kaablitest, mida kasutati reaalsetes salvestusstuudiotes keeruliste ühenduste loomiseks instrumentide, süntesaatorite, MIDI-kontrollerite ja multiräkkide vahel.

JACKi väidetavalt suurim negatiivne külg on see, et see töötab tavaliselt ideaalselt või kohutavalt, omades tõsiasja, et selle peamine eesmärk on pakkuda madala latentsusega heli. See nõuab ka tunduvalt rohkem protsessori võimsust võrreldes PulseAudioga, mistõttu leiate selle enamasti helitöötlusele pühendatud professionaalsetel tööjaamadel.

Pulse Audio ja ALSA kontrollimine

Teil võib tekkida küsimus, kuidas ma saan teada, millist helitarkvara minu arvuti kasutab? Selleks, et kontrollida, kas teie süsteemis on olemas nii Pulse Audio kui ka ALSA, kasutage kahte järgmist käsku:
PulseAudio kontrollimine:

$ pactli loend


ALSA kontrollimine:

$ aplay -l

Järeldus

Linuxi heli tundub keeruline, sest see on tegelikult nii. Pärandtehnoloogiate ja abstraheerimiskihtide lahti harutamine võib olla tõeline väljakutse isegi kogenud Linuxi kasutajatele, kes teavad opsüsteemi häid külgi pähe. Loodetavasti aitas meie artikkel teil paremini mõista Linuxi helisüsteemi olulisemaid komponente, sealhulgas ALSA, OSS ja PulseAudio.

5 parimat arkaadmängu Linuxile
Tänapäeval on arvutid tõsised mängimiseks kasutatavad masinad. Kui te ei saa uut rekordit, teate, mida ma mõtlen. Selles postituses saate teada mõnda ...
Lahing Wesnothi eest 1.13.6 Areng vabastati
Lahing Wesnothi eest 1.13.6 ilmus eelmisel kuul, on 1-s kuues arendusversioon.13.x-seeria ja see pakub mitmeid täiustusi, eelkõige kasutajaliidese ja ...
League of Legendsi installimine Ubuntu 14-le.04
Kui olete League of Legends fänn, siis on see teile võimalus proovida League of Legendsit. Pange tähele, et LOL-i toetab PlayOnLinux, kui olete Linuxi...