(MIDI)Sync of engines/plugins?

Hi @ll,

today I tried to sync an external Hydrogen2 drumsampler with my Zynthians… but this seems to be a real problem. There seem to be many ways - but the only way to sync several devices seems to be MIDI-clock. Or am I wrong?

Has anybody knowledge of this simple sounding but complex to use subject?

My personal goal would be to sync drum-sampler on the laptop with ZynAddSubFX and NoizeMak3er on Zynthian… perhaps luppp on another laptop.

Is there a simple program to run a sync-master (perhaps a jack tool?)?

Regards, Holger

1 Like

Hi @C0d3man!

I’ve been doing some research on this subject too.

MIDI-clock seems to be the standard method and almost every “sequencer” or “arpeggiator” can sync with it, but there are some other methods that should be taken into account:

  • KORG’s “pulsed” sync, used by some Volca devices, etc. Take a look to this:

http://singlecellsoftware.com/volca_swing_explained

I have some plans to turn the Raspberry Pi’s jack output into a sync output for zynthian …

  • Ableton Link: Some time ago, Ableton has released his Ableton Link technology as Open Source, so everybody can integrate in his device for free. It’s a really good strategical movement from Ableton, as the AL protocol solves a lot of problems regarding “music sync”. Yes, it goes beyond simple “tempo sync” …

GitHub - Ableton/link: Ableton Link

  • Jack Transport: interesting only in 100% jackd systems, but zynthian is it!

Also, it’s the “tap-tempo” concept, that some plugins (delays, etc.) use to sync with MIDI-clock or others.

Yes, it’s a complex subject :wink:

This last months i’m thinking about it because i would like to add some sequencer & arpeggiator capabilities to Zynthian, so i need to perfectly understand all this. So, i’m happy with this thread being open …

We should try to define what requirements we would like to have in Zynthian and what features we need to develop or integrate.

Regards!

1 Like

But Jack Transport is limited to local running clients or am I wrong? So MIDI clock should be the way to go? Or a combination of both if this works…

Another big question is: what kind of sync is supported by the engine/plugin.

Ok: I think I will try to make some tests - and I hope for a user who has some experience in this :slight_smile:

Regards, Holger

You are right with jack, but it’s interesting to take it into account for having the complete “photo” :wink:

Hi *,

I have read the last days some articles about syncing… really not easy. I think for Zynthian there is currently only the option to sync with MIDI. I found a nice page where the different sync techniques are explained: http://www.dummies.com/art-center/music/recording-music/midi-time-code-and-midi-clock-explained/

But there is also a hardware limitation - especially for me: I have two of the “oldest” Zynthians and they only have MIDI-OUT. For syncing a MIDI-IN/MIDI-THRU would be nice. I have to add them the next months. Before not having them, experiments with syncing will not work for me :frowning:

Regards, Holger

P.S.: My MIDI-Master (Roland A880pro) can send MIDI-clock - so I can use this for tests. For setups with mutliple Zynthians/synths I think I have to work on my Arduino-MIDI-Router (a flexible 3IN/3OUT MIDI merger/transposer/filter/… - but currently not ready for work :frowning: )

1 Like

and it seems, that both MTC and midi clock has to be implemented.

Hm - I am not really sure about that. The question is: What to achieve?
For me I would be really happy to sync delays of plugins/engines to a given beat. For this MIDI-clock (MC) should be adequate.

But my (fast) tests yesterday showed that it will be a looooooooooong way: I enabled the MC in my Master keyboard and started ZynAdSubFX (als MODUI plugin and as engine). No reaction to beat-changes. Also NoizeMak3er does not react.

I think that the problem is, that every plugin has its own implementation - or no implementation (and the last seems to match for many plugins). To add code for MC will be a huge task…

I will go on with my researches…

Regards, Holger

Currently, ZynAddSubFX has not tempo sync. It’s a pitty!! I hope it will be implemented some time in the near future!
Regarding NoizeMak3r, I did some tests some time ago, but i didn’t get it to sync. I haven’t found information about it, perhaps we should ask to TAL if it’s implemented or not …
Perhaps the first step is making a list of software modules (delays, synths, arpeggiators, sequencers) that implement some kind of tempo sync in Linux / OSS world. I suposse that almost every sequencer and arpeggiator does it, but currently what we really are interested in is synths, delays, etc.
I know that MOD people (aka falkTX :wink: is working on that too. I read the commmit list in his repository from time to time and i’ve seen some “Tap tempo” and “Tempo sync” related entries. Perhaps we should take a closer look …

Regards!

Yes - but how long will this take? And what about the other plugins…

I am keen in implementing a sync feature in plugins - but all are different => too much work.

Yes, this would be a good point to start. But what kind of sync should be tested? Midi-Clock (MC), MIDI-Time-Code (MTC), …? And where to get clock generators. Wow - a really hard work.

Yes, I have seen them, too. They seem to sync to jack. That’s a good choice if you are working on one system. But we (or I?) have trouble to get several systems synced when not using MC/MTC/SMPTE/… (does OSC have a sync mode?).

One “problem”: jack is a real good base for syncing - but only as a master. It also can generate MC (see: jack_midi_clock). But jack seems not to be able to act as a MC or MTC slave. Currently there seems to be no way to get different jack instances (on different systems) synced - and as far as I read: it will never be implemented.

I currently see only one way:

  • Plugins seem to support MC (which is enough for syncing e.g. delays, send start/stop, …) rather than MTC.
  • MC can be used between several hardware instances.
  • MC master engines are “cheap” to write/install/buy.

So we only need to write MC code for every plugin which should be used for syncing :cry: - nothing more!

Regards, Holger (before starting to code I now need a beer)

1 Like

Hello !
Finally midi sync for each plugin is not an issue for me, I use an hardware sequencer who is sequencing my zynthian box with a basic usb-to-midi interface. And this sequencer is midi synced with a groovebox on which is make all my patterns and my tempo !
Yesterday I was hoping that works, I just plugged in and voilà !!! Zynthian will be a powerfull synth for my setup :slight_smile:

Hi @mrlsk

nice! Hm… syncing Zynthian internally is really problematic and syncing Zynthian to an external clock is really complex.

I tried to use my MIDI-clock in the MIDI master keyboard => My Zynthian has loss of MIDI events. :unamused:

Regards, Holger

Hi! Sorry this is an “old” thread. What does the “sync out” (this is the 1/8" jack on the RPi?) currently do by default after a clean install? Or is that selectable in software? It would be AMAZING if that could but used as the pulse-style out or in that things like Korg Volcas or Eurorack modules use! Since that port is stereo I wonder if it could be used as an IN and an OUT simultaneously by splitting the channels. I think most CV controlled devices will respond to a 5v pulse.

Hi! The output labeled as “sync out” is the PWM output from the RBPi. It’s planned to be converted in a “clock pulse” output compatible with the Korg Volcas, but it’s not currently implemented. Anyway, it’s an ONLY ouput connector. No input can be implemented with it.

Kind Regards,

Oh duh! It’s not TRRS like a smartphone! Whoops :relieved: