Audio

Noobs Leitfaden zu Linux Audio ALSA, OSS und Pulse Audio erklärt

Noobs Leitfaden zu Linux Audio ALSA, OSS und Pulse Audio erklärt
In einem sind sich sowohl neue als auch erfahrene Linux-Benutzer einig: Linux-Audio ist verwirrend. Mehrere Technologien erfüllen nicht nur ähnliche Aufgaben, die meisten von ihnen können auch von Linux-Distributionen und ihren Benutzern vollständig weggelassen werden.

Die Situation ist relativ gut, wenn es um Mainstream-Distributionen wie Ubuntu, Debian oder Fedora geht, da ihre Entwickler große Anstrengungen unternommen haben, um Audio sofort zum Laufen zu bringen, aber das Gleiche kann man nicht über Arch Linux, Gentoo, und andere minimalistische Distributionen, die erwarten, dass Benutzer alles von Grund auf neu konfigurieren.

Dieser Artikel macht Sie nicht zu einem Experten für Linux-Audio, aber er wird hoffentlich die grundlegenden Technologien erklären, die dafür verantwortlich sind, dass der Ton aus Ihren Lautsprechern kommt, wenn Sie ein Video auf YouTube öffnen oder ein Spiel auf Steam spielen.

Erweiterte Linux-Soundarchitektur (ALSA)

Beginnen wir mit der wichtigsten Ebene des Linux-Audios, ALSA. ALSA wurde 1998 vom tschechischen Softwareentwickler Jaroslav Kysela gegründet und ist dafür verantwortlich, allen modernen Linux-Distributionen eine Stimme zu verleihen. Es ist eigentlich Teil des Linux-Kernels selbst und stellt dem Rest des Systems über eine Anwendungsprogrammierschnittstelle (API) für Soundkarten-Gerätetreiber Audiofunktionen bereit.

Das ursprüngliche Design von ALSA wurde weitgehend vom Linux-Gerätetreiber für die Gravis Ultrasound-Soundkarte inspiriert, der von Advanced Gravis Computer Technology aus Kanada hergestellt wurde und in den 90er Jahren in der Demoszene sehr beliebt wurde.

ALSA-Unterstützung für alle Arten von Audio-Interfaces dank vollständig modularisierter Soundtreiber, kann bis zu acht Audiogeräte gleichzeitig verwalten, auf Hardware-MIDI-Funktionalität zugreifen, Hardware-Mixing mehrerer Kanäle durchführen und mehr.

Benutzer interagieren in der Regel mit ALSA mit alsamixer, einem grafischen Mixerprogramm, mit dem die Klangeinstellungen konfiguriert und die Lautstärke einzelner Kanäle angepasst werden können. Alsamixer läuft im Terminal, und Sie können es aufrufen, indem Sie einfach seinen Namen eingeben. Ein besonders nützlicher Tastaturbefehl wird durch Drücken der M-Taste aktiviert. Dieser Befehl schaltet die Kanalstummschaltung um und ist eine ziemlich häufige Lösung für viele Fragen, die in Linux-Diskussionen gepostet werden.

Offenes Soundsystem (OSS)

Die offizielle Website von ALSA erwähnt die Unterstützung für Open Sound System, kurz OSSOSS. Bis Linux 2.5 war OSS eigentlich das wichtigste und einzige Soundsystem für Linux. ALSA wurde entwickelt, um seine verschiedenen Unzulänglichkeiten zu überwinden, z. B. die Tatsache, dass nicht mehr als eine Anwendung gleichzeitig auf die Hardware zugreifen konnte. Unter Linux 2.6 ALSA hat OSS als Standard-Soundsystem ersetzt.

Als die Entwickler von OSS ankündigten, dass die OSS-Version eine proprietäre Lizenz haben würde, entschieden sich die Linux-Entwickler schnell, sie durch ALSA zu ersetzen. Es ist erwähnenswert, dass OSS mit der Veröffentlichung der Version 4 im Jahr 2007 wieder freie Software wurde. Heute wird OSS unter vier verschiedenen Lizenzen vertrieben (BSD, CDDL, GPL, Proprietary).

Die meisten Linux-Distributionen kümmern sich heutzutage nicht einmal darum, die in ALSA vorhandene OSS-Emulationsschicht zu aktivieren, da sie fast niemand mehr braucht, was OSS zu einem Relikt der Vergangenheit macht.

PulsAudio

Wenn Sie sich nicht erinnern, wann Sie das letzte Mal mit ALSA interagiert haben, als Sie Ihre Audioeinstellungen geändert haben, liegt das wahrscheinlich daran, dass die benutzerorientierte Schicht des Linux-Audiosystems in den meisten modernen Distributionen PulseAudio heißt.

PulseAudio wurde ursprünglich im Jahr 2004 veröffentlicht und ist jetzt standardmäßig in Ubuntu, Linux Mint, openSUSE und anderen wichtigen Distributionen enthalten und aktiviert. Die Aufgabe von PulseAudio besteht darin, Sounddaten zwischen Ihren Anwendungen und Ihrer Hardware zu übertragen und die von ALSA kommenden Sounds an verschiedene Ausgabeziele wie Ihre Computerlautsprecher oder Kopfhörer zu leiten. Deshalb wird er allgemein als Soundserver bezeichnet.

Auf den ersten Blick mag es scheinen, dass PulseAudio dem Linux-Audio nichts wirklich Wichtiges hinzufügt, und viele seiner Kritiker teilen die gleiche Meinung. In Wirklichkeit gibt es viele Dinge, die ohne sie unmöglich oder schwer zu erreichen wären, einschließlich des Mischens mehrerer Sounds zu einem, das Übertragen von Audio auf eine andere Maschine oder das Ändern des Sample-Formats oder der Kanalanzahl.

PulseAudio bietet auch plattformübergreifende Kompatibilität (FreeBSD, NetBSD, OpenBSD, Linux, Illumos, Solaris, macOS und in eingeschränkter Weise Microsoft Windows). Wenn Sie PulseAudio direkt steuern möchten, anstatt mit ihm über ein Lautstärkeregelungs-Widget oder Panel zu interagieren, können Sie PulseAudio-Lautstärkeregelung installieren (in den meisten Paketquellen als pavucontrol bezeichnet).

Wenn Sie das Gefühl haben, keine Verwendung für die von PulseAudio bereitgestellten Funktionen zu haben, können Sie entweder reines ALSA verwenden oder es durch einen anderen Soundserver ersetzen.

PulseAudio vs. JACK

PulseAudio ist nicht der einzige Soundserver für Linux. Es gibt auch JACK, ein rekursives Akronym für JACK Audio Connection Kit. Während PulseAudio mit Blick auf die Bedürfnisse allgemeiner Linux-Benutzer entwickelt wurde, ist JACK für DJs und Audioprofis gedacht und bietet Echtzeitverbindungen mit geringer Latenz für Audio- und MIDI-Daten.

Da Sie mit JACK die Audioeingänge und -ausgänge jeder Ihrer Anwendungen miteinander verbinden können, können Sie damit einige ziemlich coole Dinge tun, z. B. Ihre eigene Stimme überwachen, Effekte in Echtzeit hinzufügen und mehr. Tatsächlich wurde der Name dieses Soundsystems von den Kabeln inspiriert, die in echten Aufnahmestudios verwendet werden, um komplizierte Verbindungen zwischen Instrumenten, Synthesizern, MIDI-Controllern und Multitrackern herzustellen.

Der wohl größte Nachteil von JACK ist, dass es normalerweise entweder perfekt oder schrecklich funktioniert, da sein Hauptziel darin besteht, Audio mit geringer Latenz bereitzustellen. Es benötigt auch wesentlich mehr CPU-Leistung im Vergleich zu PulseAudio, weshalb Sie es hauptsächlich auf professionellen Workstations finden, die sich der Audiobearbeitung widmen.

Überprüfen von Pulse Audio und ALSA

Sie fragen sich vielleicht, wie erkenne ich, welche Audiosoftware mein Computer verwendet?? Um zu überprüfen, ob sowohl Pulse Audio als auch ALSA auf Ihrem System vorhanden sind, verwenden Sie die folgenden beiden Befehle:
Auf PulseAudio prüfen:

$ pactl-Liste


Auf ALSA prüfen:

$ aplay -l

Fazit

Audio unter Linux scheint kompliziert zu sein, weil es es wirklich ist. Das Entwirren des Netzes aus Legacy-Technologien und Abstraktionsschichten kann selbst für erfahrene Linux-Benutzer, die die Besonderheiten des Betriebssystems auswendig kennen, eine echte Herausforderung sein. Hoffentlich hat Ihnen unser Artikel geholfen, die wichtigsten Komponenten des Linux-Audiosystems besser zu verstehen, einschließlich ALSA, OSS und PulseAudio.

So zeigen Sie den FPS-Zähler in Linux-Spielen an
Linux-Gaming bekam einen großen Schub, als Valve 2012 die Linux-Unterstützung für den Steam-Client und seine Spiele ankündigte. Seitdem haben viele AA...
Herunterladen und Spielen von Sid Meier's Civilization VI unter Linux and
Einführung in das Spiel Civilization 6 ist eine moderne Version des klassischen Konzepts, das in der Reihe der Age of Empires-Spiele eingeführt wurde....
So installieren und spielen Sie Doom unter Linux
Einführung in Doom Die Doom-Serie entstand in den 90er Jahren nach der Veröffentlichung des ursprünglichen Doom. Es war sofort ein Hit und seitdem hat...