Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Bei Ubuntu gibt es nicht nur ein Soundsystem, es gibt - wie so oft bei Linux - mehrere. Rein technisch gesehen sind sie fast alle miteinander beliebig verknüpfbar - aber nur einige Kombinationen sind sinnvoll. Man sollte sich also vor der Einrichtung des Soundsystems überlegen, welche Anforderungen man daran stellt, und erst dann die passende Konfiguration erstellen.
Ubuntu setzt bei der Standard-Installation auf die Advanced Linux Sound Architecture, kurz ALSA genannt. ALSA übernimmt die Ansteuerung der Soundkarten und stellt die eigentlichen Soundkarten-Treiber zur Verfügung. Diese Treiber sind bereits Teil des Kernels und brauchen deshalb nicht extra installiert zu werden. Im weiteren Text werden sie deshalb ALSA-Treiber genannt.
Als Ersatz für die ALSA-Treiber existiert noch das Open Sound System (OSS), falls die ALSA-Treiber wirklich gar nicht mit der vorhandenen Soundkarte funktionieren. Dies ist aber selten der Fall. Weiteres dazu siehe unten.
Weiterhin existieren noch Schnittstellen, welche in das Soundsystem zwischengeschaltet sind. Diese sollen den Programmierern das Leben erleichtern, der Anwender hat damit wenig zu tun. Bei Ubuntu ist dies GStreamer, bei KDE wird ab Version 4 Phonon verwendet.
Ab Ubuntu 9.10 stellt man in der Regel alles via PulseAudio ein: "System -> Einstellungen -> Klang".
Ab Ubuntu 12.04 sind die Regler unter "Systemeinstellungen -> Hardware -> Klang" zu finden.
Bei Kubuntu stellt man das Soundsystem im Kontrollzentrum ein.
Soundserver übernehmen das Zusammenmischen mehrerer Tonquellen und die Weitergabe der Tonsignale an die Treiber. Als Soundserver sind vorhanden: ALSA selbst und PulseAudio. Für eine professionelle Audio-Verarbeitung steht JACK zur Verfügung. Es gibt noch weitere Soundserver, welche aber in der Regel nicht mehr verwendet werden.
Soundserver werden benötigt, wenn die Soundkarte kein Hardwaremixing beherrscht. Hardwaremixing bedeutet, dass die Soundkarte technisch in der Lage ist, mehrere Soundquellen gleichzeitig wiederzugeben. Das tun leider nur die wenigsten, und deshalb ist man in der Regel auf einen Soundserver angewiesen. Diese Arbeit der Soundserver nennt man Softwaremixing.
Bei der Wahl des Soundservers sollte man bedenken, welche Anforderungen man an diesen stellt. Als Kriterien sind dabei möglich:
einfache Benutzung
Qualität
Anpassbarkeit
Netzwerkfähigkeit
Geschwindigkeit
Jeder Soundserver hat Vor- und Nachteile:
PulseAudio (oft einfach kurz pa) ist als Soundserver voreingestellt (Ausnahme: Lubuntu verwendet weiterhin ausschließlich ALSA). Er bietet vielfältige Möglichkeiten und besitzt eine einfache grafische Oberfläche, um die Klang-Ereignisse auf dem Rechner zu kontrollieren. Des weiteren ist er noch netzwerkfähig. Jedoch beansprucht PulseAudio einiges an Rechnerleistung, was auf älteren Rechnern zu stockendem Ton führen kann. Wie man PulseAudio passend konfiguriert, steht hier: PulseAudio.
Da ALSA in der Ubuntu-Standardinstallation sowieso immer aktiv ist, ist es die einfachste Möglichkeit für die Tonausgabe. Gleichzeitig stellt es auch die kürzesten Wege bei der Signalverarbeitung zur Verfügung und kommt mit sehr wenig Rechenzeit aus. Wenn man einen möglichst unverfälschten Klang bevorzugt, ist ALSA die beste Wahl. Gleichzeitig bietet ALSA ein sehr hohes Maß an Anpassbarkeit durch selbst definierbare Schnittstellen. Näheres dazu findet man bei .asoundrc. Wie man das System ganz auf ALSA umstellt, steht im Artikel Sound Problembehebung.
JACK zielt mit niedrigen Latenzzeiten und einem hervorragendem Routing vor allem auf den professionellen Einsatz ab. Wer es nicht benötigt, sollte seinen Gebrauch gründlich überdenken, da der Einarbeitungsaufwand hoch und die Konfiguration aufwendig ist. Will man ein Tonstudio realisieren, ist JACK das Mittel der Wahl. JACK alleine verursacht vergleichsweise wenig Systemlast, sobald man es aber zum Beispiel mit Ardour nutzt, braucht man einen leistungsfähigen Computer. Um die Konfiguration zu erleichtern, stehen mehrere Werkzeuge zur Verfügung, die unter JACK/Grafische Konfiguration aufgelistet sind.
OSS4 ist die letzte Version des Open Sound Systems, das in der Vergangenheit eine Zeitlang das Standardsoundsystem von Linux war. OSS4 kann unter bestimmten Umständen Vorteile gegenüber ALSA bieten, lässt sich allerdings unter Ubuntu nur manuell installieren. Mehr Informationen findet man im Artikel zu OSS4.
Der ESD (Enlightened Sound Daemon) hat eigentlich nur eine Eigenschaft: Er fungiert als Softwaremixer. Eigentlich spricht nichts für die Verwendung des ESD, aber auch nichts gravierendes dagegen. Bei GNOME werden die Systemklänge über PulseAudio geleitet. Näheres dazu in Sound Problembehebung.
Unter Routing versteht man den Weg, den die Tonsignale nehmen, wenn sie durch den Computer geleitet werden: ausgehend von der Tonquelle, zum Beispiel einem Abspielprogramm für Musik oder Video, bis hin zur Soundkarte. Es gibt mehrere sinnvolle Möglichkeiten, den das Tonsignal nehmen kann. Die Betonung liegt hierbei auf "sinnvoll", denn es lassen sich auch unsinnige Szenarien realisieren.
Es ist oft sinnvoll, den Abspielprogrammen mitzuteilen, welchen Soundserver sie benutzen sollen. Ansonsten kann es passieren, dass ihre Ausgaben ins Leere laufen und man nichts hört. Technisch ausgedrückt: Die Tonquellen sollten so konfiguriert werden, dass die passende Ausgabe-Schnittstelle verwendet wird.
Der kürzeste Weg ist die direkte Kommunikation mit den ALSA-Treibern:
Soundquelle -> ALSA-Treiber -> Hardware
Dies hat allerdings den Nachteil, dass Soundkarten, die keine Hardwaremixing beherrschen (häufiger: deren Linux-Treiber keine Hardwaremixing unterstützt), immer nur eine Soundquelle wiedergeben können. Deshalb gibt es die Möglichkeit, den ALSA-Soundserver (im weiteren kurz ALSA genannt) zu verwenden:
Soundquelle -> ALSA -> ALSA-Treiber -> Hardware
Will man hier Änderungen vornehmen, nutzt man das Werkzeug .asoundrc.
Ab Ubuntu 8.04 wird PulseAudio verwendet. Mittlerweile können die meisten Programme direkt mit PulseAudio kommunizieren:
Soundquelle -> PulseAudio -> ALSA-Treiber -> Hardware
PulseAudio ist auch netzwerkfähig:
Soundquelle -> PulseAudio -> Netzwerk -> PulseAudio -> ALSA-Treiber -> Hardware
Dies bedeutet zum Beispiel: Wenn auf zwei Rechnern PulseAudio aktiv ist, läuft auf dem einen das Abspielprogramm, während der andere den Ton ausgibt. Dies funktioniert bei genügend hoher Bandbreite der Verbindung sogar über das Internet.
Falls es nötig sein sollte kann ein ALSA-Soundserver sowohl vor als auch nach PulseAudio in den Signalweg eingeschaltet werden. Dies wird aber nur selten benötigt.
Die Übergabe der Klangdaten von den Programmen an die Soundserver geschieht über sogenannte Soundgeräte (in Englisch "sound devices"). Generell erledigt Ubuntu die nötigen Einstellungen, um die Geräte anzusprechen. Da es mehrere Soundserver gibt, muss man Ubuntu mitteilen, welchen Soundserver man verwenden will.
Nachdem man wie in PulseAudio beschrieben vorgegangen ist, werden die Soundausgaben mit Hilfe des ALSA-Routings direkt dem Soundserver übergeben. Alternativ kann man die Programme selbst mit PulseAudio kommunizieren lassen. Die Geräte selbst sind über die grafische Oberfläche des PulseAudio-Mixers (pavucontrol) zu erreichen und erscheinen dort als Programm-Name.
Bei ALSA wird direkt auf Hardware-Ebene die erste Soundkarte (Nummer Null) angesprochen, z.B. als "hw:0
". Hat man mehrere Soundkarten, so lässt sich die zweite mit "hw:1
" ansprechen. Dies benötigt man aber selten. ALSA versteht außerdem weitere Benennungen, die nicht von der Ladereihenfolge der Module abhängig sind (siehe ALSA).
Wird zur Konfiguration von ALSA asoundconf verwendet, so wird ein Standard-Gerät mit dem Namen "default
" definiert. Dieses nimmt die Klangdaten entgegen und spielt sie ab. Diesen Namen trägt man in die Konfiguration von Abspielprogrammen ein - falls es nicht bereits schon dort eingetragen ist. Eigene Geräte können mittels einer .asoundrc definiert werden.
In der Regel ist von Ubuntu das default-Gerät bereits vordefiniert - man braucht gar nichts einzustellen.
ESD erzeugt ebenfalls ein Default-Gerät, welches man einfach nutzen kann, wenn man das Soundsystem auf ESD umgestellt hat.
Eine Besonderheit stellen die sogenannten oss-devices dar. In den Anfängen von Linux wurden sämtliche Klangausgaben über die Gerätedatei /dev/dsp abgewickelt. Einige Programme benutzen immer noch dieses und nur dieses Gerät zur Tonausgabe. Da es aber mittlerweile obsolet geworden ist, stellen die Soundserver eine Emulation dieses Geräts zur Verfügung. Bei ALSA aktiviert man diese Emulation durch Installation des Paketes alsa-oss. Näheres dazu findet man unter Sound Problembehebung.
Der Mixer (auch Mischpult oder Lautstärke-Regelung genannt) greift direkt auf die vom Treiber zur Verfügung gestellten Lautstärke-Regler zu. Einen Überblick über die verfügbaren Regler erhält man mit Alsamixer. Jede Desktop-Umgebung (GNOME, KDE, usw.) bringt auch noch eigene Mixer mit, die im Prinzip aber nichts anderes als der Alsamixer machen. Sie haben lediglich ein anderes Aussehen, und einige Regler können als "unsichtbar" eingestellt sein, was sich jedoch leicht ändern lässt. Eine Übersicht ist im Artikel Mixer zu finden.
Der PulseAudio-Mixer (pavucontrol) stellt im Gegensatz zu den anderen Mixern für jedes Programm eigene Lautstärkeregler zur Verfügung.
Sollte die Soundkarte einmal wirklich nicht mit ALSA funktionieren, so kann man das Open Sound System nutzen. Für den nicht-kommerziellen Einsatz ist die Verwendung kostenlos. Welche Karten unterstützt werden und wie man sie einbindet, findet man auf der OSS-Website. Ausdrücklich erwähnt seien hier die Soundblaster X-Fi Karten, welche von ALSA - wenn überhaupt - bisher nur rudimentär unterstützt werden.
Bei weiteren Problemen helfen die Artikel Soundkarten konfigurieren und Sound Problembehebung weiter. Prinzipiell ist es eine gute Idee, bei Soundproblemen mit einer einfachen Konfiguration zu beginnen. In der Regel bedeutet das die Umstellung des Soundsystems auf ALSA. Sollte dieses dann funktionieren, kann man das Soundsystem beliebig erweitern.
Sound Problembehebung beschreibt, wie man Hardwaremixing benutzt.
Diese Revision wurde am 22. November 2016 23:42 von aasche erstellt.