PulseAudio
ist ein erweiterter Soundserver, der ab Ubuntu Hardy Heron 8.04 in Ubuntu und Xubuntu den Enlightened Sound Daemon standardmäßig ersetzt. Kubuntu nutzt PulseAudio noch nicht. Die Nutzung wird aber erst ab Ubuntu Intrepid Ibex 8.10 wirklich empfohlen. Ab Ubuntu Karmic Koala 9.10 läuft PulseAudio weitgehend problemlos, ohne dass Voreinstellungen verändert werden müssten.
Streams verschiedener Programme können individuell über eine einfache grafische Oberfläche (GUI) sowohl in ihrer Lautstärke und Balance als auch in der Auswahl des Ausgabemoduls (Netzwerk, Soundkarte(n), USB-Kopfhörer) gesteuert werden, ohne dass die Kanäle sich dabei in die Quere kommen.
PulseAudio ersetzt ALSA nicht! Zu den Details siehe Soundsystem.
Pulseaudio ist standardmäßig bereits installiert und findet sich unter "System -> Einstellungen -> Klang".
Pulseaudio findet sich unter "System -> Einstellungen -> Audio".
Andernfalls siehe Nachträgliche Installation.
Ab Ubuntu Karmic Koala 9.10 ist eine spezielle Konfiguration in der Regel nicht erforderlich.
PulseAudio muss grundsätzlich neu gestartet werden [2], damit Änderungen an der Konfiguration greifen:
pulseaudio -k -> Beendet PulseAudio pulseaudio -D -> Neustart als daemon
Ggf. erscheint eine Meldung wie
W: ltdl-bind-now.c: Failed to find original dlopen loader.
die allerdings, wenn sie nicht von weiteren Fehlermeldungen begleitet wird, keinen Einfluss auf die Funktion hat.
Um bei einer Surround-Soundkarte alle Kanäle nutzen zu können, muss in der Datei /etc/pulse/daemon.conf das Semikolon (Kommentarzeichen) in der Zeile "default-sample-channels" entfernt und als Wert die Anzahl der Kanäle eingetragen werden [2] [4]. Im Falle einer 5.1 Soundkarte wäre der Wert 6. Nach einem Neustart werden alle Kanäle im PulseAudio Volume Control angezeigt und sind auch regelbar.
Unter GNOME müssen unter "System -> Einstellungen -> Audio" die Geräte für Audiowiedergabe für einen reibungslosen Gebrauch auf "Automatisch erkennen", ggf. auch auf "PulseAudio-Soundserver", eingestellt sein. Für die Aufnahme-Option ist ebenfalls "PulseAudio-Soundserver" einzustellen.
Als "Vorgegebene Mixerspur" empfiehlt es sich, das Gerät "Playback: ALSA PCM on... (PulseAudio-Mixer)" (bzw der Playback-Eintrag passend zur gewünschten eigenen Soundkarte) auszuwählen und im Lautstärkeregler im Panel über
und dann "Einstellungen" das selbe Gerät auszuwählen. Ansonsten ist der Lautstärkeregler ggf. wirkungslos. Als regelbarer Kanal ist dort nur "Master" auswählbar.
![]() |
| Aufnahme-Spur einrichten |
Mit dem unter Ubuntu standardmäßig installierten Programmen Audio-Recorder oder Audacity ist es möglich, die Tonausgabe des Rechners direkt mitzuschneiden und in verschiedenen Formaten abzuspeichern. Um das Default-Ausgabegerät aufzuzeichnen, muss bei laufender Aufnahme in PulseAudio Volume Control (Paket pavucontrol installieren!) im Reiter "Aufnahme" mit
die Spur auf "Monitor of (verwendete Soundkarte)" verschoben werden. Diese Einstellung wird gespeichert, sodass beim nächsten Aufnahme-Start gleich der Monitor verwendet wird. Dazu gibt es hier eine Anleitung (für Ubuntu 8.04 und 8.10) im Forum. In Ubuntu 9.10 Karmic Koala ist das Dropdown-Menü unten rechts im Aufnahmereiter direkt erreichbar.
Es müssen folgende Pakete installiert [1] werden:
pulseaudio
pulseaudio-utils
gstreamer0.10-pulseaudio
pulseaudio-module-hal
um mit HAL neue Geräte zu erkennen (nur bis Ubuntu 9.04 Jaunty Jackalope vorhanden)
Optional kann mit
gnome-volume-control-pulse (universe)
ein alternativer Mixer der GNOME-Desktopumgebung installiert werden [1]. Nach einem Neustart steht ein neuer Lautstärkeregler für das Panel zur Verfügung. Über einen
-Klick öffnet sich ein Pulldown-Menü. Hiermit können über "Audio-Einstellungen" weitere Anpassungen vorgenommen werden. Mehrere Reiter stehen zur Verfügung:
In "Klangeffekte" kann das Klangthema sowie die Lautstärke angepasst werden. "Eingabe" lässt Einstellungen zur Aufnahmequelle zu. "Ausgabe" listet die zur Verfügung stehenden Klangausgabegeräte auf und gestattet eine Anpassung der Balance. Unter "Anwendungen" kann die Lautstärke der derzeit genutzten Audioanwendungen individuell geregelt werden.
Falls der Mauszeiger über dem Tray-Icon verweilt, kann man mit dem
Mausrad die Lautstärke verändern.
Optional kann noch
libao-pulse (universe)
installiert werden [1]. Zur Verwendung siehe libao - a cross platform audio library
.
PulseAudio installiert sich als Dienst. Dieser wird nach einem Neustart aktiv. Ob der Soundserver läuft, kann man mit dem Befehl ps im Terminal [2] feststellen, der gesuchte Prozess heißt pulseaudio:
ps -C pulseaudio
Wenn alles korrekt ist, sollte die Ausgabe in etwa so aussehen:
PID TTY TIME CMD 5747 ? 00:00:02 pulseaudio
Das Programm „PulseAudio Meter“ dient der Anzeige der Ausgabe/Aufnahme-Pegel, praktisch z.B. für Partys. Es muss das Paket pavumeter (universe) installiert werden [1].
Dieses Programm stellt das wichtigste Werkzeug für die Soundkontrolle dar und bietet eine Übersicht über alle aktuellen Audioquellen mit einzelner und Master-Lautstärkeregelung. Dazu muss das Paket
pavucontrol (universe)
installiert sein [1]. Unter GNOME findet sich der PulseAudio-Mixer unter "Anwendungen -> Unterhaltungsmedien -> PulseAudio Lautstärkeregler". Im Reiter "Playback/Wiedergabe" finden sich die derzeit laufenden Soundausgaben. "Recording/Aufnahme" zeigt, welches Programm ggf. gerade aufnimmt. Im Reiter "Output Devices/Ausgabegeräte" erscheinen die Geräte, über die der Sound ausgegeben wird. "Input Decives/Eingabegeräte" zeigt entsprechend an, woher der Sound kommt. Im Fenster "Show/Anzeigen" unten kann jeweils festgelegt werden, welche Geräte angezeigt werden sollen. Ab Ubuntu 9.10 Karmic Koala ist der Reiter "Konfiguration" dazugekommen.
Im Reiter "Playback" kann nun die Ausgabe-Lautstärke jedes Streams individuell geregelt werden. Durch einen Rechtsklick
auf einen Stream kann individuell ein Ausgabemodul gewählt werden, sofern mehrere Soundgeräte verfügbar sind.
In "Recording/Aufnahme" kann bei laufender Aufnahme durch einen Rechtsklick auf die angezeigten Anwendungen oder Schaltfläche rechts geregelt werden, welche Ausgabe aufgenommen werden soll.
Für "Input Devices/Eingabegeräte" bzw. "Output Devices/Ausgabegeräte" lässt sich die Lautstärke - auch kanalweise - regeln. Außerdem kann man auch festlegen, welches Gerät als Standard verwendet werden soll:
, dann Checkbox "Default/Vorgabe".
In "Konfiguration" können Einstellungen für die verwendeten Soundkarten vorgenommen werden. Falls dort nichts (oder nicht alle Karten) aufgeführt sind, hilft ggf. dieser Abschnitt weiter.
Im Kontextmenü „Move Stream“ kann eine Audioquelle auf ein bestimmtes Ausgabegerät gelegt werden.
PulseAudio speichert alle Einstellungen (auch die Lautstärke-Einstellungen für jede verwendete Soundquelle) in der Datei ~/.pulse/volume-restore.table, sodass sie nur einmal vorgenommen werden müssen.
Mit diesen „PulseAudio Preferences“ kann Netzwerkzugriff auf den Soundserver erlaubt und konfiguriert werden. Z.B. können Soundkarten mit Pulseaudio über das Netzwerk genutzt werden: nach Aktivieren der Option „Netzwerkzugriff auf lokale Audio-Geräte erlauben“ und „Allow other machines on the LAN to discover local sound devices“ könnte man den Sound eines Programms vom Schreibtisch-PC auf dem Notebook im Schlafzimmer ausgeben. Der Dialog ist auch unter „System -> Einstellungen -.> PulseAudio-Einstellungen“ zu finden. Es muss das Paket
paprefs (universe)
installiert werden [1].
Ab Ubuntu Karmic Koala 9.10 nicht mehr empfohlen werden:
paman (universe)
padevchooser (universe)
Siehe The Perfect Setup
im PulseAudio-Wiki.
Bis einschließlich Ubuntu Jaunty Jackalope 9.04 wird der "PulseAudio Manager" empfohlen. Dieser ist im Paket
paman (universe)
enthalten [1] und lässt sich mit dem Befehl paman starten. Mit diesen Programm lassen sich alle relevanten Informationen über die Konfiguration, die verwendeten "sinks", die verfügbaren Geräte, die verwendbaren Module etc. abrufen. Im Reiter "Devices" lassen sich beispielsweise über die Schaltfläche "Properties" Regler für den Ausgabelevel der verwendeten "sinks" und Quellen erreichen.
Außerdem existieren noch etliche Module, die das reibungslose Zusammenspiel auf anderen Ebenen sichern [1]:
libsdl1.2debian-pulseaudio (zur Verwendung von SDL)
pulseaudio-module-gconf (um zusätzliche Konfigurationen in GConf: zu speichern)
pulseaudio-module-lirc (für die Verwendung von Fernbedienungen mit Lirc)
pulseaudio-module-x11 (ermöglicht PulseAudio, sich für X11 als Standard-Soundserver anzumelden)
pulseaudio-module-zeroconf (zur Verwendung mit Avahi)
Paketliste zum Kopieren:
sudo apt-get install libsdl1.2debian-pulseaudio pulseaudio-module-gconf pulseaudio-module-lirc pulseaudio-module-x11 pulseaudio-module-zeroconf
sudo aptitude install libsdl1.2debian-pulseaudio pulseaudio-module-gconf pulseaudio-module-lirc pulseaudio-module-x11 pulseaudio-module-zeroconf
Die Prozessor-Auslastung und die Qualität des Klangs (wichtig bei älterer Hardware!) hängen von der verwendeten Resampling-Methode ab. Änderungen sind durch das Editieren der Datei /etc/pulse/daemon.conf in einem Editor [4] mit Root-Rechten [3] möglich, verwendbar für "resample-method" sind [1]:
src-sinc-best-quality, src-sinc-medium-quality, src-sinc-fastest, speex-float-{10-0}, speex-fixed-{10-0}, ffmpeg, src-zero-order-hold, src-linear, trivialIn der Zeile
resample-method =
wird die Resampling-Methode festgelegt. Standard-Einstellung ist "speex-float-1". Diese kann durch die aufgeführten Werte oben ersetzt werden. Um einen sinnvollen Kompromiss zwischen CPU-Auslastung und Klang zu finden, z.B bei stotternden oder verzerrten Skype-Anrufen, kann eine Änderung auf den Wert "speex-float-4" helfen.
Außerdem können bei weiterhin bestehenden Klangproblemen oder ganz fehlender Wiedergabe die Werte für die Einträge
default-fragments = 4 default-fragment-size-msec = 25
abgeändert werden, zunächst beispielsweise auf "default-fragments = 8" und "default-fragment-size-msec = 10". Ggf. müssen aber die geeigneten Werte für die eigene Soundkarte durch Versuche herausgefunden werden.
Zeilen mit Semikolon ";" am Anfang werden als Kommentar interpretiert. Deshalb muss es entfernt werden, wenn die Zeile ausgewertet werden soll.
Sollte der Sound beim Umschalten zwischen Anwendungen oder anderen Arbeiten am PC immer mal wieder stocken/knacken, kann man die Priorität des PulseAudio-Dienstes erhöhen.
Übertreibt man hierbei, kann es passieren, dass das System nicht mehr ordentlich heruntergefahren werden kann!
Dazu kann man entweder systemweit die Datei /etc/pulse/daemon.conf mit Root-Rechten[3] editieren oder diese Datei ins eigene, versteckte Verzeichnis ~/.pulse/ kopieren. Dort verändert man folgende Zeilen oder fügt sie ggf. ein.[1][4]
high-priority = yes # default no rlimit-nice = 31 # default 31, Werte groesser als 31 werden auf 31 gesetzt! nice-level = -11 # default -11, kleinstmoeglicher Wert: (20 - rlimit-nice), kleiner heisst mehr CPU-% realtime-scheduling = yes # default no rlimit-rtprio = 9 # default 9, Werte von 1 bis 99 erlaubt realtime-priority = 9 # default 5, hoechstmoeglicher Wert: rlimit-rtprio, hoeher heisst mehr Prioritaet
Zusätzlich muss man für jeden Desktop-Benutzer in der Datei /etc/security/limits.conf folgende zwei Zeilen hinzufügen:
<$USER> - nice -11 # Werte von -20 bis 19 erlaubt <$USER> - rtprio 99 # Werte von 1 bis 99 erlaubt
Anstelle von <$USER> muss der Benutzername eingesetzt werden. Das Editieren dieser Datei erfordert Root-Rechte [3].
Im PulseAudio von Ubuntu 9.10 wurde die Möglichkeit für "realtime-scheduling" deaktiviert (siehe PulseAudio UbuntuBugs
). Es ist also nie eingeschaltet, selbst wenn PulseAudio das im Syslog behauptet!
Man kann aber einen laufenden Pulseaudio-Daemon mit "chrt -p -v -r 9 $(ps -C pulseaudio -o pid=)" auf "realtime-scheduling" umschalten [1].
Unter Ubuntu Jaunty Jackalope 9.04 kann man auch das Programm polkit-gnome-authorization starten und für PulseAudio High-priority scheduling erlauben. Für weitere Details siehe PolicyKit.
Die Verwendung von PulseAudio ist eigentlich erst ab Ubuntu Intrepid Ibex 8.10 (und einigermaßen leistungsstarker Hardware) uneingeschränkt zu empfehlen. Ein umfassender Beitrag dazu ("HOWTO: PulseAudio Fixes & System-Wide Equalizer Support") findet sich auf ubuntuforums.org
.
Es kann vorkommen, dass einige Funktionen der Soundkarte über den Pulseaudioregler nicht erreichbar sind, zum Beispiel die karteninterne Mikrofonverstärkung. Diese kann in einem Terminal mit Hilfe des "alsamixer" aktiviert werden. Alternativ ist auch die Installation eines ALSA-Lautstärkereglers für GNOME, wie gnome-alsamixer oder gamix, möglich.
Ab Ubuntu Karmic Koala 9.10 sollten keine Besonderheiten mehr auftreten. Sieh auch The Perfect Setup#Audacity
.
Ab Version 2.1 Beta unterstützt Skype Pulseaudio gut. Siehe Skype sowie The Perfect Setup#Skype
. Bei Problemen mit stotternden Anrufen kann die Klangqualität und eventuell die Prioritäten von PulseAudio, wie oben unter Klangverbesserung beschrieben, verändert werden. Siehe auch: Skype.
Das aktuell voreingestellte "default"-Ausgabemedium kann mit [1]
pactl stat
angezeigt werden.
Eine Liste aller verfügbaren Medien "sinks" erhält man mit [1]
pactl list
Die Nummer des gewünschten Ausgabemediums kann dann in der Datei /etc/pulse/client.conf eingetragen werden:
default-sink =
Anschließend ist ein Neustart erforderlich.
Um hartnäckigen Problemen besser auf den Grund gehen zu können, kann der Pulseaudio-Daemon mit dem folgenden Befehl beendet und im Debugmodus neu gestartet werden [1]:
pulseaudio -k; sleep 4; pulseaudio -vv
In der resultierenden Ausgabe lassen sich ggf. die Ursachen für Probleme ablesen.
Bei einigen Chipsätzen (zum Beispiel ICE1712 in den Delta-Karten wie der Audiophile-2496 von M-Audio) sind die Kanäle nicht "richtig" benannt. Durch eine Änderung der Datei /etc/pulse/default.pa lässt sich Abhilfe schaffen, siehe hier
oder im Forum
. Ab Ubuntu 9.04 Jaunty Jackalope bzw. ab PulseAudio 0.9.13 taucht das Problem für die Audiophile-2496 nicht mehr auf. Nach dem gleichen Prinzip lässt sich auch die Terratec EWX2496 konfigurieren (siehe hier
). Beim nForce2-Chipsatz hilft ggf. diese Anleitung.
Für die Terratec DMX 6 Fire 24/96-Karte gibt es hier
eine Anleitung, um sie unter PulseAudio nutzen zu können. Die Anweisungen sind zwar italienisch, aber eigentlich gut zu verstehen (siehe dazu auch hier
im Forum).
In dem Falle müssen erst alle ALSA bzw. PulseAudio nutzenden Anwendungen geschlossen werden, um über das jeweils andere wieder Audio ausgeben zu können. Ein Workaround findet sich im Forum
.
Falls nur ein "dummy"-Gerät für die Ausgabe zur Verfügung steht und damit natürlich die Klangausgabe nicht funktioniert, kann es sein, dass die Soundkarte von einem anderen Prozess belegt ist und nicht von Pulseaudio benutzt werden kann. Dies kann z.B. bei einem Softmodem-Treiber (SmartLink) der Fall sein (siehe 449762
). Welcher Prozess die Soundkarte belegt, kann mit folgendem Befehl überprüft werden [11]:
sudo fuser -v /dev/dsp* /dev/snd/*
In der Ausgabe sollte nur pulseaudio für die Soundkarte vorkommen. Wird das Gerät aber durch den Treiber slmodemd belegt, kann entweder der Modem-Treiber deaktiviert (System > Systemverwaltung > Hardware-Treiber) oder eine Problemlösung aus der Launchpad-Diskussion genutzt werden.
Sollte die Soundkarte nicht oder nicht mehr erkannt werden, kann man mithilfe eines Workaround doch noch zu einer Soundausgabe kommen. Dazu muss die Datei /etc/pulse/default.pa in einem Editor mit Rootrechten bearbeitet werden [3][4]. Die Zeilen
#load-module module-alsa-sink #load-module module-alsa-source device=hw:1,0
ändern und die Kommentierung (#-Zeichen) entfernen:
load-module module-alsa-sink device=hw:0 load-module module-alsa-source device=hw:0
Die Device-Nr. "device=hw:0" ggf. den eigenen Gegebenheiten anpassen; ggf. können auch mehrere Karten (dazu entsprechend neue Zeilen erstellen) eingetragen werden.
Wenn die Ausgabelautstärke PCM grundsätzlich zu hoch/übersteuert ist, kann in /usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common in einem Editor [4] mit Root-Rechten [3] in der Sektion "PCM" das Argumement für "volume=merge" in "volume=ignore" abgeändert werden. Nach einem Neustart des Rechners (ein Neustart von PulseAudio ist nicht ausreichend!) ist die PCM-Einstellung dann fixiert, kann aber beispielsweise über den Alsamixer geändert werden (siehe 322909
, Kommentare 29 und 30).
Trotzdem gibt es immer noch viele Programme, z.B. Spiele oder auch Wine, die nicht oder nicht gut mit PulseAudio funktionieren. Da PulseAudio ein direkter Ersatz für ESD ist, reicht es aber bei vielen Programmen, diese einfach auf ESD umzustellen. Ggf. können solche Programme auch auf der Kommandozeile mit [1]
padsp <Programmname>
gestartet werden. Sie werden dann als OSS-Emulation von PulseAudio verarbeitet. Alternativ kann mit dem Befehl "pasuspender" Pulseaudio für die Nutzung eines bestimmten Programmes stillgelegt werden [1]:
pasuspender <Programmname>
Wine unterstützt die Soundausgabe per ESD, was eine Soundwiedergabe ermöglicht, allerdings mit einer bei Spielen störenden Verzögerung. Als Alternative gibt es einen nativen Wine-Treiber für PulseAudio
. Weitere Tipps gibt es unter The Perfect Setup
im PulseAudio Wiki.
Konfiguration für Profis
- Tipps aus der Zeitschrift PC-Welt
für Ubuntu 8.04
Audiostreams aufnehmen
mit Hilfe von PulseAudio und GStreamer
Sounds mit PulseAudio umleiten
- sehr hilfreicher Blog-Eintrag von Chrissss
Diese Revision wurde gestern um 13:53 Uhr
von Heinrich Schwietering erstellt.
Dieser Seite wurden folgende Begriffe zugeordnet:
Multimedia, Sound
2004 – 2010 ubuntuusers.de • Einige Rechte vorbehalten