Has anybody tried jack_link yet?

Has anybody tried GitHub - rncbc/jack_link: JACK transport timebase bridge to Ableton Link with zynthian yet?

I’ve used it once before, but not in zynthian, the thinking here is that we can keep two zynthians in sync with just wifi, ableton link uses Kalman filters which adds a lot of stability its the same math that drones use to stabilize.

It would be pretty cool if it works, how would I try to add it just build the app and see what happens? If there’s any general advice that would save me time it would of course be greatly appreciated.

If I remember correctly you just start it and it keep jack transport in sync off the bat, I’ve also connected it with ableton itself to keep workstations in sync with the pi, it might even be possible to connect one pi to another thats a hotspot to get rid of extra gear and make it easy to operate on battery

We have a task running to improve the clock, timing, sync, etc. within zynthian. This is a compliated subject that needs careful consideration. Within that work we are looking at ableton link as an additional mechanism for synchronisation. The current zynthian clock & sync is fairly basic in use (although quite complex and considered under the bonnet). It uses jack transport as a master sync with clients able to request it start and stop. When there are no more client requests for transport, it stops but not everything can do this, e.g. some engines that can use jack sync don’t explicitly request it to start/stop. Also, the sequencer depends on it to run. We need to do stuff like impelment a separate running flag for these clients to allow them to not depend on jack transport (maybe). When we have a more robust core clock & sync mechanism it should include ableton link. I want to avoid building on sand so want to concentrate on improving the core before adding extra towers that we need to keep standing through that development.

So yes, we will (hopefully) add ableton link but let’s not rush to add features that will likely be challenging ton integrate now and are likely to break or be broken by iminent changes.

1 Like

Why Ableton in the first place? Why? Then I want Nuendo and Reaper and and and !oneeleven11 Where is Akai MPD?//

Totally agree :+1: It would be so nice to have everything functional and polished, before breaking up everything for an addition that serves only few.

removed x-post. Too many barely useful features will consume CPU time unnecessarily.

This is a proposal to use a sync maechanism called ableton link which is available in lots of different DAWs and we want to make it available in zynthian too. Take a look at their description.

@fussl dont be confused by its creators, Ableton link is an open source wireless sync, it is pretty much the only one in its class in the world, it’s the equivalent of osc for sync.

My hardware midi master clocks all use ableton link to sync

@riban it sounds like there’s a lot of unknowns, I see all these mentions but afaik jack_link just adjusts the jack tempo and phrasing, it doesn’t start and stop it, so there is a good chance it wont interfere with anything, I’ve personally used jack_link with sooperlooper and carla, of course it doesn’t magically sync everything but it does sync things sensitive to jack transport…

So I did load jack_link, what appears to be the current behavior is zynthian seems to be stopping the jack transport

I’ve found when installing soundbrenner metronome on my phone, it didn’t want to start the transport there either, like its constanly being stopped by the other side.

Starting a metronome on zynthian allowed me to see when its internal trnasport is running… by playing midi or the sequencer the metronome starts, however the soundbrenner metronome on my phone wont start, making me thing that jack transport is potentially bieng paused…

My question about his is: what is ‘internal’ in zynthian, is it it’s own thing? is it possible to make ‘jack audio’ a potential clock input for zynthian, so that changes to the jack clock and position can be mediated back to zynthian? from that point…

Totally depending on what it runs on and how it works, perhaps in that mode it could still output midi clock, so that there’s a kind of jack to midi sync going on, in that state I think jack_link should work, and plugins like sooperlooper could connect to the jack transport for sync, without losing any of the current sync capabilities that zynthian has for its internal software

I’m just throwing paint at the wall here to see what might stick, any thoughts on this?

edit: ok so the transport on the remote metronome over jack_link starts when you call:

echo play|jack_transport

it does appear though that with the transport running, sooperlooper is not responding to it even though its flipped over to jack/host, not too sure why

Zynthian’s internal clock/sync is jack clock/transport. Each module requests transport start and stop. When all modules have requested stop, zynthian stops jack transport.

I think I noticed that changing jacks tempo didn’t change zynthians tempo, and I think I’m also noticing that changing zynthian’s tempo dial doesn’t appear to change jacks tempo

e.g. echo tempo 60|jack_transport

Alright, a little update on what I’ve done to solve this issue…

I’ve set up two midi sync devices using the esp32-wroom, set up my own live link syncer and wired them a raw midi output to work alongside their tty usb cable…

in zynthian I’ve got it set up to use the ttyUSB0 as its din midi input, it appears that midi clock sync is working for me and its appearing in zynthian and sooperlooper. So that’s my solution to wireless phrase syncing, having a physical audiovisual metronome apart from the pi, and I’ll probably turn them into usb to midi midi throughs for zynthian soon, at least I have two wireless midi master clocks with two syncs coming out of each, that’s enough for our stage setup, and its also enough for my powerbank/picnic setup.

these devices are so cheap these days that it might be worth looking at adding it to zynthian itself, I got the ESPduino R32’s for about 4$ each over here, maybe 5$

1 Like

Here’s the source GitHub - lanmower/esp-idf-link: GitHub Action for ESP32 CI - ableton link app

I’ve made some extensive updates to this hardware clock implementation, it does link to midi timing conversion pretty well now in my opinion

I’m sure we can easily port this to zynthian itself, most of the work should be done, if someone tells me what they want I can probably try and port this to run on the pi, should it push out alsa or jack midi?