Problemfälle/Erfahrungen mit Jack (Audio Routing)

Fortsetzung der Diskussion von Umfrage: was für eine Aufnahmesoftware nutzt ihr?:

Auf dem Workshop habe ich schon mal ein paar Grundlagen zu Jack erläutert. Ich würde hier gerne mal Problemfälle und Erfahrungen mit Jack sammeln. Denn im Grunde ist es ein geniales und mächtiges Audio-Werkzeug. Alle mir bekannten Oberflächen sind auch erstmal gewöhnungsbedürftig. Aber das lässt sich in Zukunft auch noch ändern.

@chrismarquardt hat auch schon mal was nettes dazu auf Youtube gestellt:

1 „Gefällt mir“

Also seit ich Jack einigermaßen durchstiegen habe, möchte ich ihn nicht mehr missen. Unsere Live-Sendungen werden darüber geroutet (inkl. Mumble, minus-1-Mix, output zum Stream, Einspieler für die Musik vor der Sendung usw.) und selbst mit der Einschränkung, dass seit 10.10 Jackrouter nicht mehr als Systemdevice funktioniert, bin ich immer noch Happy. Habe wg. 10.10. mit dem Entwickler gemailt, der hat aber im Moment so gut wie keine Zeit, daran zu schrauben. Vielleicht findet sich ja jemand mit Tiefenwissen, der ihm unter die Arme greifen kann?

Zwar bezieht sich mein Tiefenwissen nur auf die Jack API selbst und vornehmlich unter Linux mit ALSA. Aber vielleicht weiß ja jemand von den Ultraschall Leuten (z.B. @danlin) mehr über die Änderungen von Coreaudio in OSX 10.10 und kann einen Hinweis liefern.

Hier schon mal der passende Einstiegslink: https://github.com/jackaudio/jack2/tree/master/macosx/coreaudio

Was mich an Jack unter Linux stört, ist das er sich etwas wackelig anfühlt. Es ist so auf dem Stabilitäts- und Zuverlässigkeitsniveau, dass man sich jedesmal freut, wenn alles wie gewünscht funktioniert hat. Bei anderer Software erwartet man das.

Vom Funktionsumfang her ist er top. Es könnte noch eine etwas schickere Stöpselapp geben. Mittlerweile macht da Cadence einen ganz guten Job.

Hmmm, also ich kann es mir mal anschauen. Aber wieso braucht man Jack unter Mac OS X? (ich kenne Jack bestens daher nur ernsthafte antworten)
Ich arbeite ja gerade am Ultraschall-Hub Treiber, eventuell kann der einiges abfangen was ihr zur zeit mit JackOSX macht.

CoreAudio, the Mac OS X audio API: Very similar to JACK in some the sense of being centered on a synchronous-execution-via-callback API, but does not include inter-application audio routing. CoreAudio also includes a hardware-level abstraction layer, whereas JACK uses higher-level drivers for that purpose. The first JACK driver was based on ALSA, but others are available for the OSS and PortAudio interfaces.
Quelle: http://jackaudio.org/faq/comparing_jack.html

Und genau da kommt Ultraschall-Hub ins Spiel, es bietet inter-application audio routing unter OSX.

1 „Gefällt mir“

Ich kenne keinen Weg, mit dem ich unter OSX z.B. das folgende inter-app-routing erreichen kann:

Mikro out → Live-Stream
Mikro out → Mumble in
Mumble out → Live-Stream
Mumble out → Kopfhörer
VLC out → Live-Stream
VLC out → Mumble in
Mikro out → Reaper in
Mumble out → Reaper in

Ein Hauptgrund hierfür dürfte vermutlich der Realtime Modus sein. Dieser ist manchmal nur mit Tricks zu
erreichen. Es ist dann auch sehr Distributionsabhängig. Hast du konkrete Beispiele? Klassische Pops/Clicks/Glitches (XRUNS etc.)?

Ich denke auch das der Ultraschall-Hub, wie er geplant ist, Jack in vielen Fällen auf OSX ersetzen kann. Ein Anwendungsfall der bleiben wird, ist evtl. Cross Plattform Software die auf Jack wiederum aufbaut. Ardour war ja letztens so ein Fall. Ob man Audio Software auf einem Mac nutzen will die keinen Coreaudio Treiber mitliefert ist ein anderes Thema.

  • Eine Sache, die ich mittlerweile zähneknirschend akzeptiert habe, ist, dass ich, wenn jackd läuft die Desktop-Effekte abschalten muss. Sonst bekomme ich beim Desktopswitchen o.ä. immer einen Xrun. Irgendwie scheint da der Grafiktreiber mit dem Realtimeaudio zu interferieren. Das ist übrigens unabhängig davon, ob ich ein Firewire oder ein USB-Interface am Start habe. Ich bin echt am überlegen, ob ich mir eine ATI-Grafikkarte zulege, um zu testen, ob das mit der besser geht. Momentan verwende ich eine Grafikkarte mit nvidia-Chipsatz mit dem nouveau-Treiber.

  • Wenn eine Anwendung, die Jack verwendet mal hängenbleibt, ist Jack danach bockig. Dann muss man ihn mit kill -9 abschießen und alle anderen aktiven Jack-Anwendung fangen an zu heulen, weil der Jack plötzlich weg ist.
    Das passiert nicht immer aber nach jeder Aufnahmesession schaue ich
    in Cadence nach und freue mich, wenn da 0 xruns steht. Eigentlich
    sollte das so selbstverständlich sein, dass man gar nicht auf die Idee kommt, nachzuschauen.

Meine Erfahrungen mit JACK sind durchweg positiv, allerdings nur mit einem Realtime- oder eher Niedriglatenz-Kernel. Mit Ubuntu Studio hat man ein gut vorkonfiguriertes System.