Wie kann ich feststellen, ob ich standardmäßig alsa oder pulse-audio verwende? (Umschalten auf i3-wm)

51

Vielleicht verstehe ich das Kernkonzept nicht. In diesem Fall korrigiere ich mich, wenn ich falsch liege.

Ubuntu wird mit zwei verschiedenen Audio-Rendering-Servern geliefert, pulse und alsa. Ist Alsa eine Zwischenschicht zum Pulsieren? Im Wesentlichen muss ich wissen, welches ich benutze.

Ich muss wissen, dass ich versuche, von Unity auf i3-wm umzusteigen. Beim Einrichten von i3 stellte ich fest, dass ich kein Audio hatte und auf diesen Thread stieß . Es gibt verschiedene Optionen an, mit denen ich die Lautstärke meines Laptops an die Funktionalität anpassen kann. Nachdem ich einige der Optionen ausprobiert habe, habe ich sehr kratzige Audiodaten erhalten. Ich gehe daher davon aus, dass ich wissen muss, welche ich tatsächlich verwende.

Paul Nelson Baker
quelle

Antworten:

82

Ubuntu verwendet sowohl ALSA als auch Pulseaudio zur Steuerung der Audioeingabe und -ausgabe.

ALSA

ALSA dient als Kernel-basiertes System, um Ihre Sound-Hardware mit dem Betriebssystem zu verbinden. Alle Soundkarten in Ihrem System werden mithilfe von Treibern und kartenspezifischen Einstellungen gesteuert. Das meiste davon geschieht unter der Haube, ohne dass Benutzer eingreifen müssen.

Zusätzlich bietet ALSA Bibliotheken und Tools zur Steuerung unseres Soundsystems an. Das Werkzeug, auf das die meisten von uns gestoßen sind, ist möglicherweise die alsamixersemigrafische Terminalanwendung zur Steuerung der Lautstärke und des Stummschaltzustands aller Karten und Profile in unserem System.

Wir können unserer Soundkarte Sound geben, indem wir einfach ALSA verwenden, ohne dass PulseAudio oder ein anderer Soundserver benötigt wird.

Pulse Audio

Neben der ALSA-Basis bietet der PulseAudio-Soundserver weitere Tools zur besseren Steuerung unseres Soundsystems. Dies geschieht mit Modulen zum Definieren von Lautstärkepegeln, Audiokartenprofilen, Ausgabesenken oder Eingabequellen und mehr für den einfachen Zugriff von den meisten Ubuntu-Anwendungen.

Wie ALSA ist auch PulseAudio darauf ausgelegt, mit möglichst wenigen Benutzerinteraktionen ausgeführt zu werden. Wann immer wir Lautstärke, Balance oder Eingabe- / Ausgabegeräte ändern müssen, handelt es sich um ein PulseAudio-Modul oder eine Anwendung, die wir oder unsere Anwendung aufrufen.

Eine professionelle Alternative zu PulseAudio ist der JACK-Audioserver mit mehr Optionen für die Interaktion mit unserer Soundhardware und einer besseren Unterstützung für niedrige Latenzen. Nur wenige Musikproduktionsanwendungen erwarten, dass JACK ausgeführt wird, was parallel zu PulseAudio erfolgen kann.

Anwendungs ​​/ Desktop-Integration

Das Ubuntu-Soundsystem kann außerdem über Anwendungen gesteuert werden, die auf dem Unity / GNOME-Desktop ausgeführt werden, z. B. über ein Applet zur Lautstärkeregelung.

Wo eine bestimmte Anwendung von Sound Control Gebrauch macht, liegt bei den Anwendungsentwicklern. Einige Anwendungen verwenden nur ALSA, andere benötigen PulseAudio, andere benötigen JACK.

Wenn wir also einen anderen Desktop-Manager auf Ubuntu installieren, verlieren wir möglicherweise die desktopspezifischen Anwendungen, um den Sound zu steuern. Dennoch werden ALSA und PulseAudio im Hintergrund ausgeführt, um den Sound zu steuern.

Möglicherweise müssen wir zusätzliche Pakete installieren, wie z. B. pavucontrol Installieren Sie pavucontrol , die auf pulseaudio GTK basierende Anwendung zur Lautstärkeregelung.

Läuft einer von ALSA oder PulseAudio?

Sowohl ALSA als auch PulseAudio werden mit Befehlszeilenanwendungen geliefert, um den Status unseres Soundsystems auszudrucken.

  • PulseAudio:

    pactl list
    
  • ALSA:

    aplay -l
    

Beide geben einen Fehler aus, wenn das Soundsystem nicht läuft. ALSA wird mit dem Kernel geladen, PulseAudio wird später gestartet. Sollte dies nicht der Fall sein, können wir PulseAudio manuell vom Terminal aus starten mit:

pulseaudio [options]  ## option -D starts the daemon

Falls wir Audioprobleme haben, empfehle ich, den Beitrag von David Henningsson über Dinge zu lesen, die wir nicht tun sollten , bevor wir unser Audioproblem weiter beheben .

Takkat
quelle
1
@ Takkat erstaunliche Erklärung, vielen Dank. Ich habe lange versucht, das grundlegende Verständnis des Audiosystems unter Linux und Ubuntu zu erlangen.
AlexN
In meinem Himbeer-Pi-System gibt "pactl list" "Connection refused" zurück, aber "pactl --server 127.0.0.1 list" funktioniert. Durch das Exportieren der Umgebungsvariablen "PULSE_SERVER = 127.0.0.1" können pulseaudio-Clients eine korrekte Verbindung herstellen. Irgendwelche Ideen, was mir fehlt? Dies ist auf einem Himbeer-Pi.
Joao Costa