Problem: Im Plugin-Host Carla unter Linux soll ein Audio-Plugin, z.B. ein Delay synchron zu einem externen Gerät laufen, das sein Tempo per MIDI Clock kommuniziert. Carla scheint aber irgendwie mit MIDI Clock nichts anzufangen.
Hintergrund-Info: Carla nutzt Jack als Audio- und MIDI-Backend unter Linux. Jack transportiert keine MIDI-Clock-Messages über sein MIDI-System. Außerdem können viele Plugins gar nicht zu MIDI Clock synchronisieren, sondern nur zu „Host”, was heißt: Das Tempo des Plugin-Hosts. Das Tempo, das Carla annimmt und weitergibt, heißt Jack Transport. Ob nun Pipewire oder der alte Jack dahinter stecken: Wenn der Transport läuft, dann synchronisiert Carla darauf (aber: Siehe Achtung, Falle weiter unten), und wenn ein Plugin dann auf Host synchronisiert, ist es im Takt.
Lösung: Der Jack Transport muss auf die externe MIDI-Clock synchronisiert werden. Das kann mit dem Kommandozeilen-Hack midi-clock-jack-bridge geschehen. Ist das Tool installiert und in Betrieb, so muss der entsprechende MIDI-Eingang noch damit verkabelt werden – da das klammheimlich nicht über Jack MIDI, sondern ALSA MIDI passiert, geht die Clock an das Tool durch. Das bringt den den Jack Transport auf Trab und fertig ist die Laube.
Achtung, Falle: In der Welt von Jack kann es nur einen Transport Master geben. Und Carla will selbst der Master sein. Daher funktioniert die Lösung nur, wenn man zuerst midi-clock-jack-bridge startet und dann Carla. Dann sieht Carla von seinem Anspruch ab. Es kann außerdem sein, dass Carla das Tempo nicht korrekt anzeigt, solange kein Plugin die Synchronisation in Anspruch nimmt.
Pfeifendraht, galore: Diese Lösung habe ich auch erfolgreich mit Pipewire 1.4.10 getestet, was auf neueren Linux-Distributionen Jack ersetzt und zugleich vollständig kompatibel zu Jack sein will – die Anwendungen merken also nix.
Der Screenshot oben zeigt Carla und midi-clock-jack-bridge in Aktion, wobei sich das TAL DubX Delay-Plugin zum Tempo synchronisiert. (Randnotiz: Das Plugin Decent Sampler ist sehr angenehm, und es gibt viele spannende kostenfreie Sample-Bibliotheken dafür!) Der untenstehende Screenshot zeigt die virtuelle Patchbay Patchance, und die Verkabelung des USB-MIDI-Eingangs mit der Bridge.
So richtig traue ich der Lösung noch nicht, es fühlt sich hacky wacky an. Hat jemand einen Tipp, wie man die Lösung bombensolide gestalten könnte?

