(MIDI)Sync of engines/plugins?


#1

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


#2

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” …

https://github.com/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!


#3

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


#4

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


#5

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: )


#6

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


#7

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


#8

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!


#9

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)


Zynthian Box with Audio-input (Audioinjector soundcard)
#10

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:


#11

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


#12

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.


#13

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,


#14

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