[LAU] [JACK] Can tempo be synced between hosts?

Paul Davis paul at linuxaudiosystems.com
Sat Feb 20 18:39:09 CET 2021


On Sat, Feb 20, 2021 at 4:09 AM Francesco Napoleoni <
mlists at cosmic-odyssey.net> wrote:

> Hi everyone
>
> I’m experimenting with netjack (mainly version 1), and I’m quite impressed
> by
> its ability to get different machines march together without (at least
> apparently) hassle.
>
> However I cannot find a way to transmit tempo changes from master machine
> to
> slaves.
>
> I’ll try to explain myself better: the “master machine” is a PC with a
> soundcard, running JACK on a Linux Fedora OS, and is connected with the
> “slaves” with a gigabit ethernet link. The “slaves” are currently two, but
> I
> would like to expand this to a wider configuration, maybe with devices
> such as
> Raspberry sharing the load of multiple synths, effects and so on.
>
> The problem is that I can see the start/stop of the Jack transport synced
> between the hosts, but not the tempo. This limits the use of applications
> which do make use of tempo changes on slave hosts, forcing me to copy the
> tempo map to them and run it in a DAW. As a side effect I can see the BBT
> drifting between hosts (apparently its value is computed using the local
> tempo
> mark).
>
> Is there a way to solve this problem? Or am I missing something?
>

The JACK Transport API does allow the time master client to provide
information about position as denoted in musical time.

However, the people who developed JACK (which includes me) felt that it
would be impossible/too hard to design a tempo map data structure that
would serve the needs of, or integrate with, all possible clients, so we
decided not to try to do that.

In retrospect, this still seems largely correct to me. Clients with
simple-minded (correct, but simple) ideas about tempo and meter will not be
able to deal with tempo ramping (accelerando and ritardando). Clients with
more complex ideas about tempo will need those sorts of features.

Ableton Link, which has an open and well-documented API (and even a bridge
to Jack Transport c/o Rui), demonstrates a better idea about how to keep a
set of distributed "nodes" in sync with each other. It has some of its own
limits too (instantaneous substantial and musically meaningful tempo
changes and the like can be a problem).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.linuxaudio.org/archives/linux-audio-user/attachments/20210220/aa14b04b/attachment.html>


More information about the Linux-audio-user mailing list