1906748

Sound mit Pulse Audio 4.0

26.03.2014 | 12:09 Uhr |

Das ambitionierte Sound-Ausgabesystem Pulse Audio war lange eine Dauerbaustelle. Es liegt jetzt in der optimierten Version 4.0 vor und ist bereits in Ubuntu 13.10 enthalten.

Entwickelt wurde Pulse Audio als Sound-Server, der sich als Abstraktionsschicht zwischen Anwendungen, Codecs und die Soundkarte legt. Als Server wird Pulse Audio deshalb bezeichnet, da es die zentrale Instanz auf einem System zur Ausgabe von Audiosignalen ist: Alle Programme, die Sound ausgeben wollen, müssen diese Daten, ähnlich wie Clients, an diesen zentralen Server weitergeben. Die Sound-Ausgabe von Anwendungen geht so nicht direkt an den Kernel, sondern zuerst an einzelne virtuelle Schnittstellen von Pulse Audio. Der Sound-Server verhindert damit Konfiikte von gleichzeitig laufenden Anwendungen. Auch für Programme, die exklusiven Zugriff auf die Audioware verlangen, gibt es Adapter. Denn Adapter können für Anwendungen aussehen wie eine reale Sound-Karte, Programme müssen daher Pulse Audio nicht explizit unterstützen.

Pulse Audio übernimmt die Weitergabedes Audio-Streams an die tatsächliche Audio-Hardware über den Kernel und sorgt für einen Mix der verschiedenen Audioquellen. Damit erhalten auch Anwender mehr Kontrolle über die Klangausgabe: Sie können beispielsweise für jede Anwendung die Lautstärke einzeln regeln. Auch die Ausgabe lässt sich gezielt an ein Gerät ausgeben: Sollten mehrere eigenständige Ausgabegeräte am PC angeschlossen sein, neben einem Onboard-Soundchip etwa auch USB-Kopfhörer und HDMI-Endgeräte, dann kann Pulse Audio eine Sound-Quelle direkt an eines der Geräte leiten. Eine Netzwerkschnittstelle erlaubt sogar die Umleitung der Sound-Ausgabe über das Netzwerk zu einem anderen Pulse-Audio-Sound-Server.

Audio und Video mit Format in Linux

Die Rolle des Sound-Servers im Linux-System: Pulse Audio legt sich als Abstraktionsschicht zwischen Programme und Hardware-Treiber, so dass kein Programm die Sound-Karte direkt anspricht.
Vergrößern Die Rolle des Sound-Servers im Linux-System: Pulse Audio legt sich als Abstraktionsschicht zwischen Programme und Hardware-Treiber, so dass kein Programm die Sound-Karte direkt anspricht.

Der Weg zur Version 4.0 und die Neuheiten

Pulse Audio hat auf dem Linux-Desktop 10 Jahre Entwicklung hinter sich und wurde 2007 für Fedora 8 in die freie Wildbahn entlassen. Ubuntu zog mit Version 8.04 nach und sukzessive alle anderen Mainstream-Distributionen. Die Fähigkeiten von Pulse Audio haben allerdings ihren Preis: Der Sound-Server macht den Weg vom abspielenden Programm zur Sound-Karte länger und das Zusammenspiel aller Software-Komponenten komplexer. Auf vielen Distributionen legte Pulse Audio deshalb einen holprigen Start hin, und vereinzelte Probleme, wie hängende Pulse-Audio-Daemons, sind beispielsweise auf Ubuntu auch heute keine Seltenheit. Die neue Version 4.0 bereinigt eine ganze Reihe von Bugs und ist Standard unter Ubuntu, Kubuntu, Xubuntu, Lubuntu 13.10. Ubuntu ist damit die erste Distribution mit dem neuen Sound-Server.

Generelle Aufräumarbeiten im Code haben den Sound-Server schneller gemacht, was sich in der Reaktionszeit (Latenz) zeigt. Bisher dauerte es immer einige Sekunden, bis eine Eingabe-Schnittstelle wieder verfügbar war, nachdem ein Programm seine Sound-Ausgabe beendet hatte. Das typische Knistern und Verstummen bei kurz aufeinander folgenden Klangausgaben und Lautstärkeänderungen, was bei IP-Telefonie, Video-Chats und Streaming-Clients keine Seltenheit ist, dürfte der Vergangenheit angehören. Ein neuer Resampler und Mixer für 16-Bit-Streams, die den Großteil der Audio- Streams auf einem typischen Desktop-System ausmachen, belastet jetzt die CPU deutlich weniger. Pulse Audio bekommt zudem ARM-Unterstützung für Cortex-CPUs und macht sich damit schlank für den Einsatz auf der ARMP-Plattform. Dies wird vor allem für zukünftige Linux-Distributionen wie Ubuntu Touch für Smartphones und Tablets ein wichtiges Merkmal.

Bei der Hardware-Unterstützung kam die Erkennung von Geräten hinzu, die über HDMI angeschlossen sind, sowie TRRS-Kopfhörerausgänge von aktuellen Notebooks, auf denen neben dem Stereoausgang auch noch ein Mikrofoneingang auf der gleichen Miniklinke untergebracht ist.

Blick auf die Interna von Pulse Audio: Das Tool paman zeigt alle Details des Sound-Servers wie etwa die Ausgabegeräte (Sinks) und bietet einen separaten Software-Vorverstärker.
Vergrößern Blick auf die Interna von Pulse Audio: Das Tool paman zeigt alle Details des Sound-Servers wie etwa die Ausgabegeräte (Sinks) und bietet einen separaten Software-Vorverstärker.

Eine weitere Neuerung speziell für den Einsatz auf Desktops und Smartphones ist gegenwärtig aber noch Zukunftsmusik, da noch keine fertigen Pakete für Linux-Distributionen vorliegen: Das Modul module-role-ducking kann die Lautstärke von anderen Klangquellen automatisch senken, wenn ein Programm mit vorher festgelegter, höherer Priorität den Pulse-Audio-Sound-Server anspricht. Dies ist dann nützlich, wenn sich eingehende Anrufe automatisch über laufende Musik legen sollen. Gegenwärtig ist für Pulse Audio 4.0 in Ubuntu 13.10 aber noch kein fertiges Paket dieses Moduls verfügbar.

Pannen und Lösungen für typische Linux-Probleme

Pulse Audio in der Praxis

Die Mixer-Applets der verbreiteten Desktop-Umgebungen wie Gnome, KDE, Unity und XFCE beherrschen das Zusammenspiel mit Pulse Audio und bieten einen Mixer für die einzelne Lautstärke laufender Programme. Darüber hinaus hat jede Distribution, die Pulse Audio nutzt, auch noch die generischen Tools des Sound-Servers mit in den Standard-Paketquellen, um Feineinstellungen vorzunehmen und um die oft übersehenen Netzwerkfähigkeiten von Pulse Audio zu nutzen. Bei Ubuntu installieren Sie mit

sudo apt-get install pavucontrol pavumeter paman paprefs

alle Tools, die ihnen volle Kontrolle über Pulse Audio geben.

Netzwerkeigenschaften: Pulse Audio kann die Sound-Ausgabe zu anderen Instanzen des Sound-Servers im Netz streamen. Die Funktion kann über paprefs freigeschaltet werden.
Vergrößern Netzwerkeigenschaften: Pulse Audio kann die Sound-Ausgabe zu anderen Instanzen des Sound-Servers im Netz streamen. Die Funktion kann über paprefs freigeschaltet werden.

pavucontrol und pavumeter: pavucontrol ist dann sinnvoll, wenn die Desktop-Umgebung keinen Pulse-Audio-Mixer mitliefert. Beim Aufruf bietet es eine Übersicht aller aktuellen Audioquellen mit einzelner Lautstärkeregelung und Master-Lautstärke. Sie können zudem einen Software-Vorverstärker für Ausgabe und Mikrofon- Eingabe festlegen. pavumeter ist optional und zeigt die Wiedergabe- und Aufnahme-Pegel.

paman dient zur Übersicht aller installierten Pulse-Audio-Module. Unter „Server Information -> Statistics“ sehen Sie alle Daten zur aktuellen Speichernutzung. „Devices“ zeigt die aktiven Ein- und Ausgabegeräte und deren Treiber. Ein Klick auf „Devices > Properties“ ruft deren Eigenschaften auf, und Sie können mit „Volume“ das Signal individuell verstärken.

paprefs konfiguriert die Servereinstellungen von Pulse Audio. Hier können Sie den Netzwerkzugriff auf den Sound-Server erlauben. Mit der Option „Netzwerkzugriff -> PulseAudio Netzwerk-Audio-Geräte im lokalen Netzwerk auffindbar machen“ und „Netzwerk-Server -> Netzwerkzugriff auf lokale Audio-Geräte erlauben“ nutzen Sie Sound-Karten zwischen Linux-Rechnern mit Pulse Audio über das Netzwerk. Sie können damit zum Beispiel den Sound eines Programms auf dem Server auf dem Notebook ausgeben.

0 Kommentare zu diesem Artikel
1906748