Contact us
Leave a message

Bitte benutzen:

Mein öffentlicher Kryptographie-Schlüssel


Mitglied bei

Logo "Bündnis '90/Die Grünen"
B'90/Grüne, OV Lehrte
Logo 'NABU Burgdorf, Lehrte, Uetze'
NABU Burgdorf, Lehrte, Uetze
Logo "Gospelchor 'Swing Low', Markus-Gemeinde, Lehrte"
Gospelchor "Swing Low", Markus-Gemeinde, Lehrte
Logo "Verein zum Erhalt klassischer Computer"
Verein zum Erhalt klassischer Computer

Ich höre nichts!

Wie viele Nächte habe ich schon damit verbracht, die optimale Linux-Audio-Konfiguration zu suchen, mit der alle Anwendungen -- vom Video-Player bis zum Software-Synthesizer -- klar kommen, Ton ausgeben und ggf. sogar untereinander austauschen! Das Unterfangen wurde auch dadurch nicht gerade vereinfacht, dass unter Linux numehr mindestens drei verschiedene Komponenten für Audio zuständig sind:

  1. ALSA -- die Advanced Linux Sound Architecture stellt sozusgaen die hardware-nahe oder Treiber-Schicht im Linux-Audio-Stack dar -- obgleich auch ALSA vielfältige Formen der Audio-Daten-Manipulation in Echtzeit beherrscht (Stichwort: virtuelle Soundkarten und Resampling)
  2. PulseAudio -- mittlerweilen die Standard-High-Level-Bibliothek für den Alltagsgebrauch, die von so ziemlich allen Desktop-Anwendungen unterstützt wird und auch die Einbindung von z. B. Bluetooth-Geräten ermöglicht
  3. JACK -- der Jack Audio Connection Kit, welcher ebenfalls auf ALSA aufsetzt, im Gegensatz zu Pulseaudio viel Wert auf die exakte Synchronisation von Audio-Quellen legt, dabei aber nur jeweils eine Soundkarte gleichzeitig unterstützt

Das Problem liegt nun vor allem darin begründet, dass PulseAudio beim Start alle von ALSA verwaltete Audio-Hardware exklusiv für sich reklamiert, so dass andere Programme, die -- wie JACK -- ebenfalls direkt auf eine Soundkarte zugreifen wollen, dies nicht mehr tun könne.

Glücklicherweise haben sich die drei Systeme mittlerweilen soweit "angefreundet", dass ein relativ reibungsloser Parallel-Betrieb möglich ist. Gewusst wie, ist es daher nun möglich, z. B. mit Firefox oder VLC per PulseAudio Videos mit Ton (!) anzusehen, um in der nächsten Minute -- oder auch gleichzeitig -- ohne Umkonfigurierung des Audio-Systems mit Jack-basierten Anwendungen wie QTractor oder Ardour zu arbeiten. Und das von Audacity verwendete PortAudio spielt auch noch mit!

 

Schön zusammen spielen

Tatsächlich sind die genannten Audio-Komponenten bei einem modernen Debian-System (Stand: Buster) bereits so gut vorkonfiguriert, dass nur noch wenig Arbeit nötig ist, um sie zu reibungsloser Zusammenarbeit zu bewegen.

Zur Verwaltung von JACK verwende ich das GUI-Tool QJackCtl. Um Jack parallel zu PulseAudio betreiben zu können, muss zusätzlich noch das entsrpechende PulseAudio-Modul installiert werden. Zudem wird die Verwendung des a2jmidid-Tools zur Festlegung persistenter Namen für MIDI-Devices in JACK empfohlen. Und schließlich empfiehlt sich pavucontrol als GUI zur Einrichtung von PulseAudio:

sudo apt install a2jmidi pavucontrol pulseaudio-module-jack qjackctl 

QJackCtl habe ich wie unten gezeigt konfiguriert (die nicht gezeigten Reiter haben ihre Default-Werte behalten).

QJackCtl-Setup, Settings/Parameters-Tab
QJackCtl-Setup, Settings/Parameters-Tab
QJackCtl-Setup, Settings/Advanced-Tab
QJackCtl-Setup, Settings/Advanced-Tab
QJackCtl-Setup, Options-Tab
QJackCtl-Setup, Options-Tab
QJackCtl-Setup, Misc-Tab
QJackCtl-Setup, Misc-Tab

Die Magie passiert über die D-Bus-Checkboxen in der rechten Spalte des Misc-Reiters: Hierüber informiert JACK beim Starten PulseAudio, welches dann je eine Quelle und -Senke einrichtet, die mit entsprechenden Jack-Ports verknüpft sind und die ab jetzt (bis zum Beenden von JACK) als Default-PulseAudio-Ein/Ausgabe-Geräte verwendet werden.

Sobald JACK läuft, es es nun möglich, die neuen JACK-Quellen und -Senken in PulseAudio z. B. per pavucontrol als Ein- oder -Ausgabegerät zu auszuwählen (hier am Beispiel eines in Firefox abgespielten Videos) und bei Bedarf auch als Default-Gerät festzulegen (hier am Beispiel der neuen JACK-Senke):

PaVuControl, Playback-Tab
PaVuControl, Playback-Tab
PaVuControl, Output-Tab
PaVuControl, Output-Tab

Audacity und PortAudio

Tbd.

Laut mit Bluetooth

Tbd.

USB-Mikrofon