Hi,
I'm Perry, also I'm tatch on linuxmusicians if you've ever been there. I
posted this message on LM a while ago but was encouraged by falktx to post
this to LAD. so that is what I am doing now (here
<https://linuxmusicians.com/viewtopic.php?t=14913> is the original topic).
not sure if you’ve read about ableton live 9.5 but one of their planned
updates is this thing called ableton link
<http://createdigitalmusic.com/2015/11/link-could-change-how-you-play-music-even-without-ableton/>
that seems to be a convincing inter-device tempo sync.
paul davis was present during the unveiling of ableton sync and has an
interesting perspective:
…The JACK community developed technology back in 2005 or earlier that could
do what Link does (and a whole lot more besides). But
the developers failed
to package it, failed to make it usable for anyone other than a small group
of tech-oriented tinkerers, failed to give it an inviting face. In
addition, the developers failed to understand how significant platform is
when trying to create products for people. Designing the most awesome thing
in the world is no help if it doesn’t run on the platforms that people want
to use (for whatever reason). Ableton not only chose OS platforms with huge
numbers of users, but has proceeded to develop its own product-centric
platform that provides compelling reasons for users to want to remain
within its walls. The open source community shouldn’t be trying to follow
or copy what a company like Ableton does, but there is a strong lesson
here: our technology is not as important as we like to think.
In any case, one thing that we’ve talked about to various degrees in the
past is tempo ramping in JACK, and with the announcement of ableton link
I’d like to revisit the topic.
http://linuxmusicians.com/viewtopic.php?f=44&t=11681&p=46912
http://linuxmusicians.com/viewtopic.php?f=19&t=2290&p=51449
http://linuxmusicians.com/viewtopic.php?f=1&t=9835&p=30447
JACK does indeed largely do what Link does (and more) but I’ve been having
difficulty successfully tempo ramping. Incidentally, danboid recently posted
<https://linuxmusicians.com/viewtopic.php?f=1&t=14912> about how he can
successfully ramp in MuSE; but I don’t use MuSE nor do I plan to in the
near future, and unfortunately my attempts to change tempo dynamically
within the greater JACK/modular LAU paradigm have been rather unsuccessful.
To clarify my own use-case, I’d like to map an encoder/knob to a tempo
control and be able to speed up/slow down the tempo live, e.g. during a
performance.
*changing tempo as timebase master*
For the most part it seems that changing tempo dynamically is possible but
it is not well-defined.
- seq24 forces itself to be transport master (I know there’s supposed to
be a patch but it has still never worked for me ever) and disallows tempo
changes while playing
- hydrogen sort of allows tempo changes but it will sometimes politely
refuse to change (which is bad)
- klick can be configured to send out predefined tempo ramps but I
haven’t been able to set it as timebase master and actually interact with
it (I was trying klick -Ti and klick -To 8080 but it seems -i and -o
somehow disregard the -T option)
*changing tempo as a slave*
- hydrogen is happy to oblige tempo changes but is equally happy to cut
off the beginning/end of a bar
- qmidiarp follows tempo changes but doesn’t stay in time and forgets to
send note-offs
I’d appreciate if someone more familiar with the transport spec could chime
in on this, I’d like to understand what is missing from a technical
perspective (I’m actually not entirely clear on the timebase master/slave
relationship either).
Going a step further, it seems that ableton link may become the go-to
replacement for midi clock in software-based production; it could be
beneficial to discuss possible timebase master clock clients that can also
communicate using the ableton link protocol. Of course this is contingent
on the SDK being compatible with linux, which may be unlikely but they *are*
encouraging interested developers to get in touch
<https://www.ableton.com/en/link/>.
By the same token it would be great to have this for midi clock as well — I
know of jack_midi_clock <https://github.com/x42/jack_midi_clock> already
but I don’t believe the reverse case exists, though falktx and I briefly
discussed something related
<https://linuxmusicians.com/viewtopic.php?f=48&t=12755> a while ago.
To reiterate,
1. lau apps have to implement tempo ramping in JACK properly
2. a JACK timebase master clock client must be made that can
- change tempo dynamically
- communicate with ableton link to send/receive tempo information
(pending a working SDK for linux (this could also be optional in the app
for those who don’t want anything proprietary))
- set tempo given a midi clock input
Thoughts? I think tempo syncing is one way we can get JACK to interact more
proactively with other software/equipment, and that seems like it could be
a great way to reconnect with the rest of the audio community.