Audio

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

Noob's Guide to Linux Audio ALSA, OSS ja Pulse Audio Explained
Sekä uudet että kokeneet Linux-käyttäjät voivat olla yhtä mieltä: Linux-ääni on hämmentävää. Useat tekniikat eivät vain suorita samanlaisia ​​töitä, mutta useimmat niistä voidaan jättää kokonaan Linux-jakelujen ja niiden käyttäjien ohi.

Tilanne on suhteellisen hyvä, kun on kyse valtavirran distroista, kuten Ubuntu, Debian tai Fedora, koska niiden kehittäjät ovat tehneet paljon töitä saadakseen äänentoiston heti laatikosta, mutta samaa ei voida sanoa Arch Linuxista, Gentoo: sta, ja muut minimalistiset jakelut, jotka odottavat käyttäjien määrittävän kaiken tyhjästä.

Tämä artikkeli ei tee sinusta Linux-äänen asiantuntijaa, mutta toivottavasti se selittää perustekniikat, jotka ovat vastuussa äänen tuottamisesta kaiuttimista, kun avaat videon YouTubessa tai pelaat peliä Steamissä.

Edistynyt Linux-ääniarkkitehtuuri (ALSA)

Aloitetaan Linux-äänen tärkeimmästä kerroksesta, ALSA. Tšekkiläisen ohjelmistokehittäjän Jaroslav Kyselan vuonna 1998 luoma ALSA on vastuussa äänen antamisesta kaikille moderneille Linux-jakeluille. Se on itse asiassa osa itse Linux-ydintä, joka tarjoaa äänitoiminnon muulle järjestelmälle äänikortin laiteohjaimille tarkoitetun sovellusohjelmointirajapinnan (API) kautta.

ALSA: n alkuperäinen muotoilu oli innoittamana Gravis Ultrasound -äänikortin Linux-laiteohjaimesta, jonka valmisti kanadalainen Advanced Gravis Computer Technology ja josta tuli erittäin suosittu demoelämässä 1990-luvulla.

ALSA-tuki kaikentyyppisille ääniliitännöille täysin moduloitujen ääniohjainten ansiosta, voi hallita jopa kahdeksaa äänilaitetta samanaikaisesti, käyttää laitteiston MIDI-toimintoja, suorittaa laitteistosekoitusta useille kanaville ja paljon muuta.

Käyttäjät ovat yleensä vuorovaikutuksessa ALSA: n kanssa käyttämällä alsamixeria, graafista sekoitusohjelmaa, jota voidaan käyttää ääniasetusten määrittämiseen ja yksittäisten kanavien äänenvoimakkuuden säätämiseen. Alsamixer toimii terminaalissa, ja voit käyttää sitä vain kirjoittamalla sen nimen. Yksi erityisen hyödyllinen näppäimistökomento aktivoidaan lyömällä M-näppäintä. Tämä komento vaihtaa kanavan mykistystä, ja se on melko yleinen korjaus moniin Linux-keskustelupalstoille lähetettyihin kysymyksiin.

Avoin äänijärjestelmä (OSS)

ALSA: n virallisilla verkkosivustoilla mainitaan tuki Open Sound Systemille tai lyhyesti OSS: lle. Linux 2: een saakka.5, OSS oli itse asiassa tärkein ja ainoa äänijärjestelmä Linuxille. ALSA on suunniteltu voittamaan erilaiset puutteet, kuten se, että se ei sallinut useamman kuin yhden sovelluksen pääsyä laitteistoon kerrallaan. Linux 2: ssa.6 ALSA korvasi OSS: n oletusäänentoistojärjestelmänä.

Kun OSS: n kehittäjät ilmoittivat, että OSS-versiolla olisi oma lisenssi, Linux-kehittäjät tekivät nopeasti päätöksen korvata se ALSA: lla. On syytä huomata, että OSS: stä tuli jälleen ilmainen ohjelmisto julkaisemalla version 4 vuonna 2007. Nykyään OSS: ää jaetaan neljällä eri lisenssillä (BSD, CDDL, GPL, Proprietary).

Useimmat Linux-jakelut eivät nykyään edes vaivaudu aktivoimaan OSS-emulointikerrosta ALSA: ssa, koska melkein kukaan ei enää tarvitse sitä, mikä tekee OSS: stä menneisyyden jäänteen.

PulseAudio

Jos et muista, milloin viimeksi olit vuorovaikutuksessa ALSA: n kanssa ääniasetuksia muuttaessasi, se johtuu todennäköisesti siitä, että useimpien nykyaikaisten jakelujen Linux-äänijärjestelmän käyttäjäpuolista kerrosta kutsutaan PulseAudio.

PulseAudio julkaistiin alun perin vuonna 2004, ja se on nyt sisällytetty oletusarvoisesti Ubuntuun, Linux Mintiin, openSUSEen ja muihin suuriin jakeluihin. PulseAudion tehtävänä on siirtää äänitietoja sovellusten ja laitteistojen välillä ohjaamalla ALSA: sta tulevat äänet eri lähtökohteisiin, kuten tietokoneen kaiuttimiin tai kuulokkeisiin. Siksi sitä kutsutaan yleisesti äänipalvelimeksi.

Ensi silmäyksellä saattaa tuntua siltä, ​​että PulseAudio ei todellakaan lisää mitään kriittisesti tärkeää Linux-äänelle, ja monet sen kriitikot ovat samaa mieltä. Todellisuudessa on todella monia asioita, joita olisi mahdotonta tai vaikea saavuttaa ilman sitä, mukaan lukien useiden äänien sekoittaminen yhteen, äänen siirtäminen toiseen koneeseen tai näytemuodon tai kanavamäärän muuttaminen.

PulseAudio tuo myös alustojen välisen yhteensopivuuden (FreeBSD, NetBSD, OpenBSD, Linux, Illumos, Solaris, macOS ja rajoitetusti Microsoft Windows). Jos haluat ohjata PulseAudiota suoraan, sen sijaan, että olisit vuorovaikutuksessa sen kanssa jonkinlaisten äänenvoimakkuuden säätöwidgetin tai paneelin kautta, voit asentaa PulseAudio-äänenvoimakkuuden säädön (kutsutaan pavucontroliksi useimmissa pakettivarastoissa).

Jos sinusta tuntuu, että sinulla ei ole käyttöä PulseAudion tarjoamille ominaisuuksille, voit joko käyttää puhdasta ALSA: ta tai korvata sen toisella äänipalvelimella.

PulseAudio vs. JACK

PulseAudio ei ole ainoa Linuxin äänipalvelin. Mukana on myös JACK, joka on rekursiivinen lyhenne JACK Audio Connection Kit -sarjasta. Vaikka PulseAudio on kehitetty ottaen huomioon yleisten Linux-käyttäjien tarpeet, JACK on tarkoitettu DJ: lle ja audioammattilaisille, joka tarjoaa reaaliaikaisia, matalaviiveisiä yhteyksiä sekä ääni- että MIDI-tiedoille.

Koska JACK: n avulla voit liittää jokaisen sovelluksesi äänitulot ja -lähdöt yhteen, voit tehdä sen kanssa melko hienoja asioita, kuten valvoa omaa ääntäsi, lisätä siihen tehosteita reaaliajassa ja paljon muuta. Itse asiassa tämän äänijärjestelmän nimi on saanut inspiraationsa kaapeleista, joita todellisissa äänitysstudioissa käytetään monimutkaisten yhteyksien luomiseen instrumenttien, syntetisaattoreiden, MIDI-ohjainten ja moniraitojen välille.

JACKin epäilemättä suurin haittapuoli on, että se toimii joko täydellisesti tai kauhistuttavasti omistamalla tosiasian, että sen päätavoitteena on tarjota matalaviiveistä ääntä. Se vaatii myös huomattavasti enemmän suorittimen virtaa kuin PulseAudio, minkä vuoksi löydät sen enimmäkseen ammattimaisista työasemista, jotka on omistettu äänen muokkaukselle.

Pulssiäänen ja ALSA: n tarkistus

Saatat ihmetellä, miten voin kertoa, mitä ääniohjelmistoja tietokoneeni käyttää? Voit tarkistaa, onko järjestelmässä pulssiääni ja ALSA, käyttämällä kahta seuraavaa komentoa:
PulseAudion tarkistaminen:

$ pactl -luettelo


ALSA: n tarkistaminen:

$ aplay -l

Johtopäätös

Audio Linuxissa näyttää monimutkaiselta, koska se todella on. Vanhojen tekniikoiden ja abstraktiokerrosten purkaminen voi olla todellinen haaste jopa kokeneille Linux-käyttäjille, jotka tuntevat käyttöjärjestelmän perussisät ulkoa. Toivottavasti artikkeli auttoi sinua ymmärtämään paremmin Linux-äänijärjestelmän tärkeimmät komponentit, mukaan lukien ALSA, OSS ja PulseAudio.

How to change Left & Right mouse buttons on Windows 10 PC
It's quite a norm that all computer mouse devices are ergonomically designed for right-handed users. But there are mouse devices available which are s...
Emulate Mouse clicks by hovering using Clickless Mouse in Windows 10
Using a mouse or keyboard in the wrong posture of excessive usage can result in a lot of health issues, including strain, carpal tunnel syndrome, and ...
Add Mouse gestures to Windows 10 using these free tools
In recent years computers and operating systems have greatly evolved. There was a time when users had to use commands to navigate through file manager...