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!

5 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.

2 Likes