PulseAudio
Getestet mit openSUSE | Empfohlene Artikel | Verwandte Artikel | |||
|
Netzwerk-Sound-Server
Download für openSUSE:
Hersteller: Team: PulseAudio
Lizenz: GPL und LGPL
Webseite: Projektseite
Funktion
PulseAudio läuft sowohl unter Microsoft Windows als auch unter allen POSIX-kompatiblen Systemen wie Linux oder BSD. Da die Quellen des Projektes unter der GNU Lesser General Public License (Bibliotheken) und der GNU General Public License (der Soundserver selbst) gestellt sind, ist PulseAudio Freie Software.
PulseAudio ist ein Soundserver, der als Hintergrundprozess eingehende Audiodaten (z. B. von einer Aufnahme) von einer oder mehreren Quellen einliest und diese an eine Senke (Soundkarte, ein anderer über das Netzwerk verbundener PulseAudio-Server, ein anderer Prozess oder ein Client der das Real-Time Transport Protocol versteht) weiterleitet.
Eines der Ziele bei der Entwicklung war es, alle Audioströme (inklusive solcher, die direkt an die Hardware gerichtet sind) über PulseAudio umzuleiten. Dazu verwendet PulseAudio so genannte „Adapter“, welche es den Applikationen erlauben, andere Audiosysteme zu nutzen. In Wirklichkeit kommunizieren diese Anwendungen dann aber mit dem PulseAudio-Server, ohne es zu merken.
In einer typischen Arbeitsumgebung unter Linux, wo das System so konfiguriert ist, dass ALSA das virtuelle Gerät von PulseAudio anspricht, wird typischerweise der Sound einer Anwendung an ALSA weitergereicht. ALSA hingegen gibt diese Daten an den Soundserver weiter, der wiederum selbst ALSA nutzt, um die Audiodaten der Hardware weiterzugeben. PulseAudio stellt aber auch eine eigene Schnittstelle zur Verfügung, die bei Unterstützung durch die Programme direkt angesprochen werden kann. Durch die „Adapter“ wird auch die Schnittstelle für ESD-Anwendungen bereitgestellt, sodass PulseAudio ESD komplett ersetzen kann.
Im Falle des Open Sound Systems wird nicht die OSS-Emulation von ALSA benutzt, sondern PulseAudio erstellt selbst die Gerätedatei (wie z. B. /dev/dsp) und stellt darüber Prozessen den exklusiven Zugriff auf die Soundkarte zur Verfügung. Tatsächlich werden die Daten jedoch von dieser Datei nach PulseAudio umgeleitet.
Eigenschaften
Eine Neuerung dieses Soundservers ist es, dass die Lautstärke für jede Anwendung getrennt kontrolliert werden kann. Des weiteren ist es möglich, die Fähigkeiten des Servers mit Modulen, die zur Laufzeit geladen werden können, zu erweitern. Ebenfalls neu hinzugekommen ist die Unterstützung für mehrere parallele Audioquellen und -senken. Gleichzeitig wird die Kompatibilität mit bisherigen Programmen sichergestellt.
Die meisten Operationen erfolgen mit sehr niedriger Verzögerung und unterstützen die Messung der Latenz. Die Architektur kommt dabei ohne das Kopieren der Audiodaten aus, was eine effiziente Nutzung der Prozessor-Ressourcen ermöglicht. Dabei ist bereits die Konvertierung von Audiodaten unterschiedlicher Abtastrate (engl. sample rate) integriert. Weiter kann PulseAudio mehrere Soundkarten virtuell zu einer Karte kombinieren und mehrere Audiokanäle synchronisieren.
Auf Kommandozeilen-Ebene wird sowohl eine Skript fähige Schnittstelle wie auch die Möglichkeit, den laufenden Sound-Daemon zu konfigurieren, bereitgestellt.
Ab openSUSE 12.3:
PulseAudio wurde von 1.1 auf Version 3 aktualisiert, welche die Unterstützung für Bluetooth Audio-Quellen, einen virtuellen Surround-Modus und eine Unterstützung für mehr Geräusch-Löschungs-Moden hinzufügt. Es gibt auch eine UCM-Unterstützung, während der Laufzeit bearbeitbare LADSPA FilterParameter, konfigurierbaren Geräte-Latenz-Offset und eine Menge Infrastruktur-Verbesserungen.