Delay midi out by 20ms - possible? Sync delay help

Hi there

Just set up my midihub and it’s a gamechanger, unlocked many ways of getting my gear talking to each other!! Love it.

I am sending midi from the Polyend tracker, and also playing samples on the tracker. Annoyingly the samples play about 20ms behind the midi, this is a known latency issue on the tracker they hope to fix.

Is it possible for me to send my midi 20ms late from the midihub to compensate? I played with the Sync Delay but I can only input whole numbers and couldn’t work out. The instructions are not super clear.

Any help appreciated! Thank you :pray:

If you know the BPM, you can use this formula to calculate the amount of clocks to delay by to get roughly the equivalent milliseconds delay of the sync clock:

delay_by = ms*BPM / 2500

Note, that this is working in MIDI clock domain - only very rough values are possible.

If your BPM was 120, you’d calculate 20*120/2500 = 0.96, so you’d use the closest integer ‘1’ for the delay by value and actually get ~20.83ms delay. 125 BPM and delay by 1 would be spot on 20ms. :slight_smile:

A bit more accurate delay could be achieved by using ‘Delay’ pipe to delay the notes played and setting it to 20ms.

Brilliant - thank you, i will give both of those a go! Thanks

image
Would these be the settings you’d suggest to apply?

You have to enable ‘Overdub’ - it gets the notes into the delay effect memory, otherwise it’d play only the notes that were already in memory, while new notes would have no delay at all. This is different from the ‘Bypass’, as it allows to control whether the played notes get delay effect, while completely bypassing the pipe would not produce any delayed notes from memory.

1 Like

Hi - tried this out and the midi delay doesn’t work super well as some of the devices are being sent just clock rather than the actual midi notes, so sync delay actually works better, but obviously is affected by BPM. Do you know if there is any reason why the sync delay will only do whole numbers? Would make it far more useable in this situation if it could do milliseconds. I wasn’t sure of you are working for Blokas so forgive me if not! Perhaps I need to make a feature request.
Thanks

Yes, doing fractional numbers (and milliseconds directly) would require Midihub to estimate the incoming BPM and generate its own adjusted tempo based on that. It’s possible, but it’s a quite complex feature, eventually we plan to work on implementing it, but there’s many improvements to do before that. :slight_smile:

1 Like

Ok cool, thank you - that makes sense! The midi hub is awesome, am loving it so far, and this would make it even better!

1 Like