Solution for ITB-OTB clock sync and latency in Ableton

EDIT: Even better solution a few posts down.
EDIT: Even better solution a few posts down.
EDIT: Even better solution a few posts down.

In the excellent Hardware fun vs. DAW productivity thread, some said the ITB-OTB clock sync and latency issues in Ableton drove them away from attempting to sync their hardware to Ableton.

I struggled with this for years.

It does not have to be this way.

I think I found a way to solve all the variable latency problems you have when monitoring synced hardware through Ableton, and I also solved the problem of the variable latency you have when sequencing plugins in Ableton from OT (or another synced hardware MIDI sequencer).

This requires no special clocking devices.

I would love to hear any thoughts or comments you have.

Bear with me…

First, here is a statement of the problem:

If you are monitoring, through Ableton, hardware slaved to Ableton, then Ableton adds latency to what you hear and what you record. This latency is variable. So, if you add a plugin with 200ms of latency, then 200ms of latency is added to what you hear and what you record when monitoring through an Ableton audio track. The same problem happens when you are sequencing plugins in Ableton from the OT (or another synced hardware MIDI sequencer), as Ableton does not delay compensate the MIDI clock it sends. This is easy to test, and it is clearly demonstrated in this guy’s video.


Important note, his solution is not what we need, since it does NOT account for the variable latency of the set based on Ableton’s latency algorithms.

If you turn monitoring off, then what is recorded in Ableton no longer has this latency. That’s great, but then how do you monitor your hardware? The obvious answer is to monitor the hardware directly, outside of Ableton. BUT, that is no good either, because then we lose the ability to use VST effects on our hardware. :frowning:

Now, here is epiphany I had, which is the key to solving all these issues:

You can route your synced hardware through Ableton, and if you send that audio through Ableton’s External Audio Effect to an output outside of Ableton (by, say, routing to a spare output on your sound card through OT), the PDC latency is NOT added! Or, more precisely, Ableton sends the audio from the External Audio Effect early. That is why they have that device; it is so that you can use external hardware effects with delay compensation.

Here is an example to illustrate: Suppose I sync my Analog RYTM to Ableton, and I want to add Ableton’s reverb effect to it. Here is what I do.

  1. MIDI sync RYTM to Ableton.
  2. Add an audio track which receives audio from RYTM.
  3. Add reverb effect.
  4. Add External Audio Effect AFTER reverb effect. Set “Audio To” some output on your sound card.
  5. If you are using a sound card which supports loopback, route the audio back to another audio track in Ableton. Turn monitoring off on that track.
  6. Hit play and record the RYTM on that track.
  7. NOTICE THE RECORDED AUDIO IS IN SYNC EVEN AFTER RUNNING IT THROUGH ABLETON! (Plus the round-trip latency of your sound card, which is not a big deal, since that is fixed, and you can compensate for that using MIDI clock sync delay).

OK, so we know now that you can route synced hardware through Ableton, process the audio, and it is free of variable latency if using the technique above.

If you happen to be using the Octatrack with other synced hardware; you want to sequence VSTs; and, you are syncing hardware from OT, then you do not need to loopback.

Here is what you do:

  1. Sync OT to Ableton. Ableton is master.
  2. Monitor OT directly through your sound card.
  3. Monitor all your OT triggered instruments (software and hardware) through Ableton’s External Audio Effect; set the audio output of those tracks to “sends only;” send that audio to OT; and, then monitor it through OT.
  4. If triggering external instruments from Ableton, use the External Instrument device.
  5. Monitor all your Ableton triggered instruments (software and hardware) directly; i.e., send that audio directly to OT; do not send it through the External Audio Effect.

With the above steps, you can have the golden setup WITH EVERYTHING IN SYNC! No VARIABLE latency in the recorded or monitored audio! Of course, you will have latency when you play instruments, but there is no way around that in any case.

  1. You can sequence your software from OT’s sequencer.
  2. You can sequence your software from Ableton’s sequencer.
  3. You can sequence your hardware from OT’s sequencer.
  4. You can sequence your hardware from Ableton’s sequencer.
  5. You can process your synced hardware through Ableton.

All with compensated latency!

This is HUGE!

It sounds complicated, but once you set it up, you never have to think about it again.

With this technique, we are exploiting Ableton’s External Audio Effect to latency compensate the things that need it. AND, we are exploiting the fact that Ableton does not latency compensate the MIDI clock it sends to synced hardware. So, when you monitor in the way I described above, the PDC latency is effectively cancelled out.

Tip: If you want a good way to test this, add a new audio track to your set. On that track, add an External Audio Effect. Set that device’s Hardware Latency setting to 200ms. That way, you will have 200ms of latency to your set, which makes it easy to see when things are not right.

Ultimately, each case is different, but the key is knowing how Ableton deals with delay compensation and knowing when to use the External Audio Effect.

Side note: I think none of this complexity would be necessary if Ableton would simply allow the option to automatically delay compensate its MIDI clock.

I think these principles are applicable to any hardware. Just adapt to your needs. I used the OT in one of the examples above, since that’s what I use.

It’s complicated to explain in words, but it’s dead simple once you set it up.

Side note: Ableton’s jitter does not bother me. It’s pretty solid compared to other DAWs. I think they have a chapter in their manual about it. I do have an ESX-8MD, but I no longer use it, because again, the jitter does not bother me.

Happy syncing!

8 Likes

Well, I think I discovered an even better solution for all this, and I updated the OP to refer to this post accordingly.

  1. Turn on Reduced Latency When Monitoring.
  2. Do not place any latency inducing devices in any signal path through which you are monitoring machines you are syncing or instruments you are playing or triggering with a hardware sequencer, EXCEPT for External Instrument device.
  3. The External Instrument device does not seem to add latency to the INSTRUMENT tracks on which they are placed.
  4. Latency inducing devices are completely fine in any other signal path, including monitoring already recorded audio.

I had long ignored the Reduced Latency When Monitoring setting, because I thought it caused other problems, but it does not.

Reduced Latency When Monitoring basically means Ableton is recording what is “played” vs what is “heard.” So, e.g., if you are playing a guitar through a plugin, it will record what you play, before the latency, instead of what you hear after the plugin (which is the default). I do wish they allowed that setting on a track-by-track basis.

And, if you are monitoring a drum machine, it will make sure you hear it and record it before the latency.

9 Likes

I’m finding this isn’t making any difference at all.

Nothing on the tracks, just audio in. same delay with or without the compensation enabled.

This I feel is just part and parcel of monitoring hardware to DAW. I think it’s just the case that I’d have to record using monitoring off on a second channel

I am not using hardware these days, and it has been a moment since I have dealt with this, but this solution is for the VARIABLE latency problems as highlighted in the video in the OP.

There is always some FIXED latency when using synced hardware, because physics. However, fixed latency for synced hardware is easy to deal with; one can set a negative MIDI clock sync delay for each device in Ableton’s MIDI preferences.

For completeness:

Do note that the fixed latency depends on your buffer settings, so if you change those, then you will need to readjust your MIDI clock sync delay. But, presumably you are not changing your buffer settings often. Or, if you do, then you are doing that after you have finished writing and have moved into the mixing phase where you need the extra CPU power afforded by a higher buffer setting.

In other words, when composing with hardware, you might use a lower buffer setting. Once you are all done composing, you might raise that buffer to get more CPU for use with CPU-intensive plugins in mixing. But, because you are mixing, you do not need to worry about your synced hardware, since presumably, you have printed the audio from that hardware. If you do not need the extra CPU when mixing, then no need to raise the buffer. Workflow.

3 Likes

Make sure u use an external instrument device in ableton

3 Likes

Ahhhhhh! Yes I see… thanks for pointing out the variable vs fixed.

“because physics” - succinctly put! haha

My current setup is all the playing is happening in the hardware and I’m just recording it into Ableton. So no sending midi out for a signal to come back in, I use a multi clock playing the sample for syncing so … Holy shit… using the external Audio effect on the sample send to compensate for the delay… it works… amazing!!!

1 Like

Welcome to Ableton sync enlightenment. :slight_smile:

I used to use a hardware syncing device like the Multiclock, but since I figured out the above, I quit using it. IMO, the main justification for continuing to use a hardware syncing device is to avoid jitter. But, in my experience, a little bit of jitter is not a problem at all.

That said, when I was using a hardware syncing device, the correct way was indeed to hook it up with the External Audio Effect.

1 Like

Thanks muchly, the negative Midi idea got me there! woop!

Yeah I just found the jitter too much with MD and A4 and Norns just jumping around. 3 of them going slightly out (to sometimes wildly)from bar to bar got too much. still it was a a fair amount of money to be able to just press space bar to get everything going at once.

2 Likes