MIDI Clock sync unprecise and unstable

Hi everyone,
I bought a Pisound to set up a multi-effect box using MODEP for a live setup with a hardware synth, drum machine, etc. (To cut a long story short).

When I connect any clock source to the MIDI IN of the PiSound, the values received in MODEP (on the bottom bar) fluctuate wildly: for example, when I set the tempo to 100 BPM, it reads values that change extremely quickly, such as 100.05 to 109.08, sometimes even 100.10, then 100.06, and so on. Interestingly, the average value is always higher than the value displayed on the clock source.

At first, I thought it might just be jitter from the source clock, as the variations are mostly low decimals. I thought it wouldn’t matter, as everything is on the same clock, but it is not.

If I play a click on an external piece of hardware (I tried three different ones) and send its audio and MIDI clock to the PiSound, and then set a sequencer to play the same click in MODEP, everything starts out fine, but after 30 seconds the misalignment becomes pretty obvious (the MODEP sequencer drifts forward and is ahead of time).

I also tried sending the clock via MIDI USB instead of MIDI DIN, and encountered the same issue.

This is not audio latency because the drift increases over time, which seems to correspond to unsynced clock values.

Another weird behaviour is that if I load my next song without stopping the transport (as I have to maintain continuity), which has a different tempo, the tempo in MODEP takes like 1 or 2 seconds to adjust to the new tempo, reading alllll the inbetween values instead of jumping to the right one. Resulting in even more sync lost.

Is there anything I have missed?
Do you have any suggestions for how to fix this and have the clock work as a regular slaved clock?
Currently, all of this makes the device unusable, as all the synced delays, sequencers, etc. I had to setup will be out of time.

Thanks a lot for your help!

Hey, unfortunately it’s the way how MOD Audio has implemented clock sync - it works not by syncing the absolute clock count, but by estimating the BPM, rounded to 2 decimal points, which is almost guaranteed to get off sync.

I checked the latest version of mod-host and the logic is still the same.

There’s also support for Ableton Link sync - it might be better, but the principle seems to be the same - matching the BPM value, not tick / clock count.

If possible, try using MODEP as the master clock, it might work out better.

Otherwise, try raising this issue at MOD Devices community.

1 Like

Thanks a lot for the answer… That’s a pity but that’s the way it is :slight_smile:
I’ll try as clock master out of curiosity, but it’s not a solution for me as my songs need to have their own tempos (sent by the groovebox managing everything).

Any chance another type of midi interface for raspberry could be used? like A2JMIDI ?
(I’m not super advanced in this, but before going the modep way i tried with Carla and A2JMIDI and the clock seemed better (but the tests were pretty short).

Or maybe a very basic tick/clock counter module that then sends to virtual midi feedback?

But anyways I’m not able to code that :smiley:

As long as MODEP is a sync slave, it will still be approximate, regardless of how MIDI is received.

If it works out as MIDI sync master, you may try to control the BPM through a MIDI mapping, see Tutorial: Using Time Based Parameters - MOD Wiki for more info.

1 Like