ubuntuusers.de

ubuntuusers.deWikiSoundsystem

Soundsystem

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Wiki/Icons/Tango/audio-card.png 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 an dieses 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 müssen deshalb nicht extra installiert werden. Im weiteren Text werden sie deshalb ALSA-Treiber genannt.

Als Ersatz für die ALSA-Treiber existiert noch das Open Sound System {en} (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.

Einstellungen

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 -> Audio" zu finden.

Bei Kubuntu stellt man das Soundsystem im Kontrollzentrum ein.

Soundserver

Soundserver übernehmen das Zusammenmischen mehrerer Soundquellen, und die Weitergabe der Ton-Signale an die Treiber. Als Soundserver sind vorhanden: ALSA selbst, ESD (bei Kubuntu arts) und PulseAudio. Für eine professionelle Audio-Verarbeitung steht jack zur Verfügung.

Hardware- und Softwaremixing

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.

Anforderungen

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

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.

ALSA

Da ALSA in der Ubuntu-Standardinstallation sowieso immer aktiv ist, ist es die einfachste Möglichkeit, das Soundsystem zum tönen zu bringen. 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 komplett auf ALSA umstellt, steht im Artikel Sound Problembehebung.

jack

jack zielt mit niedrigen Latenzzeiten und einem hervorragendem Routing vor allem auf den professionellen Einsatz ab. Wer es nicht wirklich benötigt, sollte seinen Gebrauch gründlich überdenken, da der Einarbeitungsaufwand hoch und die Konfiguration aufwändig 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 Audio Connection Kit aufgelistet sind.

OSS4

Die letzte Version des Open Sound Systems, das in der Vergangenheit eine Zeit lang das Standardsoundsystem von Linux war. OSS4 kann unter bestimmten Umständen Vorteile gegenüber ALSA bieten, lässt sich allerdings unter Ubuntu nur händisch installieren. Mehr Informationen findet man im Artikel zu OSS4.

ESD

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 Systemsounds über PulseAudio geleitet. Näheres dazu in Sound Problembehebung.

Phonon

Phonon ist die Multimedia-Schnittstelle des KDE-Desktops, die mit KDE 4 eingeführt wurde. Phonon ist eine Zwischenschicht, welche den Zugriff von Programmen auf das verwendete Soundsystem abstrahiert. Phonon ersetzt das vorher in KDE genutzte arts.

Routing

Unter Routing versteht man den Weg, den die Ton-Signale 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 Ton-Signal nehmen kann. Die Betonung liegt hierbei auf "sinnvoll", denn es lassen sich auch unsinnige Szenarios 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 Soundquellen sollten so konfiguriert werden, dass die passende Ausgabe-Schnittstelle verwendet wird.

PulseAudio

Ab Ubuntu 8.04 wird PulseAudio verwendet:

Soundquelle  ->  ALSA  ->  PulseAudio  ->  ALSA-Treiber  ->  Hardware

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 verschiedenen Rechnern PulseAudio aktiv ist, läuft auf dem einen das Abspielprogramm, während der andere den Sound zu Gehör bringt. Dies funktioniert bei genügend hoher Bandbreite der Verbindung sogar über das Internet.

ALSA

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.

jack

Für professionelle Anforderungen steht jack zur Verfügung:

Soundquelle  ->  jack  ->  ALSA-Treiber  ->  Hardware

jack ist nicht einfach zu konfigurieren, und sollte deshalb nur benutzt werden, wenn man es wirklich benötigt.

Geräte

Die Übergabe der Klangdaten von den Programmen an die Soundserver geschieht über so genannte 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.

PulseAudio

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.

ALSA

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 muss gar nichts einstellen.

jack

Bei jack nutzt man am besten das Programm qjackctl.

ESD

ESD erzeugt ebenfalls ein default-Gerät, welches man einfach nutzen kann, wenn man das Soundsystem auf ESD umgestellt hat.

OSS

Eine Besonderheit stellen die so genannten 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.

Mixer

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-Oberfläche (GNOME, KDE, usw.) bringt auch noch eigene Mixer mit, die im Prinzip aber nichts anderes als der Alsamixer tun. Sie haben lediglich ein anderes Aussehen und einige Regler können als "unsichtbar" eingestellt sein, was sich jedoch leicht ändern lässt.

Der PulseAudio-Mixer (pavucontrol) stellt im Gegensatz zu den anderen Mixern für jedes Programm eigene Lautstärkeregler zur Verfügung.

Problembehebung

Sollte die Soundkarte einmal wirklich nicht mit ALSA funktionieren, so kann man das Open Sound System {en} 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.

Soundkarten mit Hardwaremixing

Sound Problembehebung beschreibt, wie man Hardwaremixing benutzt.

Diese Revision wurde am 9. März 2014 23:39 von dirkolus erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Multimedia, Hardware, Audio