Hard delay everything

I’m in the process of trying to get all my devices in sync and since all hardware have their own latencies I need to be able to delay all MIDI signals to each device. The way I’m doing this is by calculating what the worst offender in my setup is, let’s say that’s 20ms. So in Ableton I set a -20ms delay on the clock out to my main hardware sequencer that sequences everything. This makes my worst offending device line up perfectly to the grid when I record, but also requires that I add “artificial” delays to all other devices to make up for that worst offender (so a theoretical device with 0 latency would have a +20ms delay). My main sequencer has a port delay feature which is great, but I have multiple devices on a specific port going into Midihub so I can’t use it there. I need to be able to add various delays to each output port in Midihub to accomplish what I need. Is this possible? Sync Delay sounds like it would be what I need but it’s not, that just skips or adds clocks — I need to delay everything by a hard number of milliseconds. Delay doesn’t seem right either because, and correct me if I’m wrong, it alters note durations right? I need my MIDI unaltered besides it happening later in time.

You are correct, so @Giedrius showed a workaround where the Note On and Note Off messages get split off into two pipelines in order to delay/retard each by a given duration.

Your title, however, suggests you might also want to “retard” other message types as well.

1 Like

I suggest looking at the Floatingpoint Instruments Multiclock (formerly known as ERM Multiclock). The midihub software MIDI clock sync is just not capable. I own both devices and the Multiclock is by far the best solution and can also be used without DAW.

1 Like

Yes you are correct I need to able to “retard” start/clock as well as without that LFOs and sequences on external gear won’t be aligned. The work around you shared seems as close as I’ll get without involving a computer or another purchase and is working quite well so thank you very much!

1 Like

If you do decide you want to delay other message types (like say CC, Pressure) just set up another line with a filter allows only that type through.
Thereafter, do it like the preset does with Note Off: Transform → Note On, Delay, then Transform back. (I typically Drop the zero-values as they become Note Offs)




PS. I suggested the idea of a Hinder pipe last year so maybe give that a vote and add some clarification as you’re coming from a new angle…

Dunno whether @Blokas might incorporate it :crossed_fingers: