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?)?
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:
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” …
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
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.
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
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 )
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…
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 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 …
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 - nothing more!
Regards, Holger (before starting to code I now need a beer)
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
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.