Zvuk

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

Noob's Guide to Linux Audio ALSA, OSS, and Pulse Audio Explained
Existuje jedna věc, na které se mohou shodnout noví i zkušení uživatelé Linuxu: zvuk Linuxu je matoucí. Nejen, že více technologií vykonává podobné úlohy, ale většina z nich může být zcela vynechána distribucemi Linuxu a jejich uživateli.

Situace je relativně dobrá, pokud jde o tradiční distribuce, jako jsou Ubuntu, Debian nebo Fedora, protože jejich vývojáři vyvinuli velké úsilí, aby zvuk fungoval hned po vybalení z krabice, ale to samé nelze říci o Arch Linuxu, Gentoo, a další minimalistické distribuce, které očekávají, že uživatelé nakonfigurují vše od začátku.

Tento článek z vás neudělá odborníka na zvuk Linuxu, ale snad vysvětlí základní technologie zodpovědné za to, že zvuk vychází z vašich reproduktorů, když otevřete video na YouTube nebo hrajete hru na Steamu.

Advanced Linux Sound Architecture (ALSA)

Začněme nejdůležitější vrstvou zvukového systému Linux, ALSA. Společnost ALSA, kterou vytvořil v roce 1998 český vývojář softwaru Jaroslav Kysela, je odpovědná za poskytnutí hlasu všem moderním linuxovým distribucím. Je to vlastně součást samotného linuxového jádra, které poskytuje zvukové funkce zbytku systému prostřednictvím aplikačního programovacího rozhraní (API) pro ovladače zařízení zvukové karty.

Původní design ALSA byl do značné míry inspirován ovladačem zařízení Linux pro zvukovou kartu Gravis Ultrasound, který vyrobila kanadská Advanced Gravis Computer Technology a stal se velmi populárním na demo scéně během 90. let.

Podpora ALSA pro všechny typy zvukových rozhraní díky plně modulárním zvukovým ovladačům, dokáže spravovat až osm zvukových zařízení současně, přistupovat k hardwarovým funkcím MIDI, provádět hardwarové mixování více kanálů a další.

Uživatelé obvykle komunikují s ALSA pomocí alsamixeru, grafického mixovacího programu, který lze použít ke konfiguraci nastavení zvuku a úpravě hlasitosti jednotlivých kanálů. Alsamixer běží v terminálu a můžete jej vyvolat pouhým zadáním jeho názvu. Jeden obzvláště užitečný příkaz z klávesnice se aktivuje stisknutím klávesy M. Tento příkaz přepíná ztlumení kanálu a je to docela běžná oprava mnoha otázek zveřejněných na diskusních fórech Linuxu.

Otevřený zvukový systém (OSS)

Oficiální web ALSA zmiňuje podporu pro Open Sound System nebo zkráceně OSS. Až do Linuxu 2.5, OSS byl vlastně hlavní a jediný zvukový systém pro Linux. ALSA byl navržen tak, aby překonal různé nedostatky, jako je skutečnost, že neumožňoval přístup k hardwaru více než jedné aplikaci najednou. V systému Linux 2.6 ALSA nahradil OSS jako výchozí zvukový systém.

Když vývojáři OSS oznámili, že verze OSS bude mít proprietární licenci, vývojáři Linuxu rychle přijali rozhodnutí nahradit ji ALSA. Stojí za zmínku, že OSS se s vydáním verze 4 v roce 2007 opět stalo svobodným softwarem. Dnes je OSS distribuován pod čtyřmi různými licencemi (BSD, CDDL, GPL, Proprietary).

Většina dnešních distribucí Linuxu se ani neobtěžuje aktivovat emulační vrstvu OSS přítomnou v ALSA, protože ji už téměř nikdo nepotřebuje, takže OSS je pozůstatkem minulosti.

PulseAudio

Pokud si nepamatujete, kdy jste naposledy provedli interakci s ALSA při změně nastavení zvuku, je to pravděpodobně proto, že uživatelská vrstva zvukového systému Linux ve většině moderních distribucí se nazývá PulseAudio.

PulseAudio byl původně vydán v roce 2004 a nyní je ve výchozím nastavení zahrnutý a povolený v Ubuntu, Linux Mint, openSUSE a dalších hlavních distribucích. Úkolem PulseAudio je předávat zvuková data mezi aplikacemi a hardwarem a směrovat zvuky přicházející z ALSA do různých výstupních cílů, jako jsou reproduktory počítače nebo sluchátka. Proto se běžně označuje jako zvukový server.

Na první pohled by se mohlo zdát, že PulseAudio do Linuxového zvuku nepřidává nic kriticky důležitého a mnoho jeho kritiků sdílí stejný názor. Ve skutečnosti ve skutečnosti existuje mnoho věcí, které by bez něj bylo nemožné nebo obtížné dosáhnout, včetně míchání několika zvuků do jednoho, přenosu zvuku na jiný stroj nebo změny formátu vzorku nebo počtu kanálů.

PulseAudio také přináší kompatibilitu mezi platformami (FreeBSD, NetBSD, OpenBSD, Linux, Illumos, Solaris, macOS a v omezené míře Microsoft Windows). Chcete-li ovládat PulseAudio přímo, můžete místo interakce s ním pomocí widgetu nebo panelu nějakého druhu ovládání hlasitosti nainstalovat PulseAudio Volume Control (ve většině úložišť balíků se nazývá pavucontrol).

Pokud máte pocit, že nemáte k dispozici funkce poskytované PulseAudio, můžete použít čistý ALSA nebo jej nahradit jiným zvukovým serverem.

PulseAudio vs. ZVEDÁK

PulseAudio není jediný zvukový server pro Linux. K dispozici je také JACK, což je rekurzivní zkratka pro JACK Audio Connection Kit. Zatímco PulseAudio byl vyvinut s ohledem na potřeby běžných uživatelů Linuxu, JACK je určen pro DJ a audio profesionály, poskytuje připojení v reálném čase s nízkou latencí pro audio i MIDI data.

Protože JACK vám umožňuje propojit zvukové vstupy a výstupy každé z vašich aplikací dohromady, můžete s ní dělat pár skvělých věcí, například sledovat svůj vlastní hlas, přidávat k němu efekty v reálném čase a další. Název tohoto zvukového systému byl ve skutečnosti inspirován kabely používanými ve skutečných nahrávacích studiích k vytváření složitých spojení mezi nástroji, syntezátory, řadiči MIDI a multitrackery.

Pravděpodobně největší nevýhodou JACKu je to, že obvykle buď funguje perfektně, nebo příšerně, a to vzhledem k tomu, že jeho hlavním cílem je poskytovat zvuk s nízkou latencí. Vyžaduje také podstatně vyšší výkon procesoru ve srovnání s PulseAudio, proto jej najdete většinou na profesionálních pracovních stanicích věnovaných editaci zvuku.

Kontrola pulzního zvuku a ALSA

Možná se divíte, jak zjistím, jaký zvukový software můj počítač používá? Chcete-li zkontrolovat, zda jsou ve vašem systému přítomny Pulse Audio i ALSA, použijte následující dva příkazy:
Kontrola PulseAudio:

$ pactl seznam


Kontrola ALSA:

$ aplay -l

Závěr

Zvuk v systému Linux se zdá komplikovaný, protože ve skutečnosti je. Rozmotání webu starších technologií a vrstev abstrakce může být skutečnou výzvou i pro ostřílené uživatele systému Linux, kteří znají příčiny a odchody operačního systému naspaměť. Doufejme, že náš článek vám pomohl lépe porozumět nejdůležitějším komponentám zvukového systému Linux, včetně ALSA, OSS a PulseAudio.

Přemapujte tlačítka myši odlišně pro jiný software pomocí ovládání myší X-Mouse
Možná potřebujete nástroj, který by mohl změnit ovládání myši u každé aplikace, kterou používáte. V takovém případě můžete vyzkoušet aplikaci s názvem...
Recenze bezdrátové myši Microsoft Sculpt Touch
Nedávno jsem četl o Microsoft Sculpt Touch bezdrátová myš a rozhodl se ji koupit. Po chvíli používání jsem se rozhodl se s ním podělit o své zkušenost...
Trackpad a ukazatel myši AppyMouse na obrazovce pro tablety Windows
Uživatelé tabletů často postrádají ukazatel myši, zejména když obvykle používají notebooky. Dotykové smartphony a tablety mají mnoho výhod a jediným o...