So… Ableton Live 9 has been announced this week, and while I’m personally looking forward to the new features, there’s been an issue discussed time and time again around the forums, regarding latency/delay issues with automation…
So what’s the issue? Well actually, there are two issues, which are somewhat related to each other. Firstly, open up Ableton Live 8, and load a nice snappy kickdrum with a sharp transient, then duplicate that channel and add an instance of EQ8 to one of them. Now switch EQ8 to “Hi Quality Mode” (by right-clicking and selecting “Hi Quality”) and then compare the sounds of the kickdrum in the two channels. You’ll notice the transient is lost?
This is because EQ8 uses a Linear Filter in standard mode, but changes to a Two Path Polyphase IIR Filter when in Hi Quality mode. I won’t go too much into the science of this, but the latter of the two uses a fairly low CPU but needs a higher samplerate to bring the transients back. You can fix this be heading to your preferences and changing the samplerate from 44.1kHz to either 88.2kHz or 96kHz.
The Problem is For Everyone.
However, it’s worth noting that many developers use this IIR Filter because it’s fairly robust, and low CPU, but when something is low CPU in DSP, then you have to trade it of for something else, and in this case it’s the linearity of phase response, which means that the higher the frequency, the greater the delay in latency. This applies to all DAWs, and not just Ableton Live.
Problem Number 2.
Now for the worse news… Unfortunately due to the latency by using these oversampling techniques, this causes a shift in latency of your automation. Most 3rd party plugins have the same effect too, so if you were to chain 3 or 4 3rd party plugins in a row in one channel, and then automate something at the end of the chain, then the automation will suffer some delay.
The Short-Term Fix (Don’t worry, there’s some good news further down!)
I spoke to Andy from Cytomic, who says: What I found is each vst / au plugin (not inbuilt Live ones) before the one that needs song information / automation generates a single audio buffer size block of latency, which results in the song position and automation getting passed to the plugin a multiple of the audio buffer size block early. I double checked by setting the audio buffer size to different amounts and repeated the steps.
So the formula is:
song position and automation advance in samples = (number of 3rd party plugins on track before the one that needs sample accurate song pos and automation) * (audio card buffer length)
and if there is extra latency introduced by linear phase oversampling then the formula is:
(edit: in the below, I have changed “audio card buffer length” to “plugin buffer size”, which defaults to “as audio buffer” but can be set to something different, so it is the one that is needed for the forumula)
song position and automation advance in samples = (number of 3rd party plugins on track before the one that needs sample accurate song pos and automation) * (plugin buffer size) + (latency of all 3rd party plugins on the track before the one that needs sample accurate song pos / automation)
So if you have sharp automation then you have to delay the steps position by a number of samples that dependends on both where the plugin is in the chain and your audio buffer size, so if you change either you’ll need to update your automation as well. I hope that helps!
PS: the automatic PDC in Live 8 works perfectly, it nulls with two tracks in parallel, so any latency introduced by linear phase oversampling is completely corrected for. The above only refers to automation and song position information being sent to plugins (and possibly midi being sent to effects plugins not first in the chain too, but I’ve not checked into that so I don’t know for sure).
The Good News.
So now it seems that Ableton have at least acknowledged the issue and are looking to resolve it if possible. This is their statement to a poster in the official Ableton forum:
“The SRC algorithm has been improved for certain devices; the EQ8 for example, in regard to linear phase oversampling to address latency issues. We also spent time on the SRC for The Glue, but as this is a new device, I can’t say it is an improvement.
The SRC algorithm of the overall application is being addressed in current development, and scheduled for completion in time with the release of Live 9.”