Latency and Delay Compensation overview
- Live Versions: Live 9.2 and later
- Operating System: All
What is Latency?
Audio Latency refers to a short period of delay (usually measured in milliseconds) between when an audio signal enters and when it emerges from a system.
In computer based audio systems a certain amount of latency (known as buffering) is necessary to ensure that playback, recording and processing results in an error-free audio stream without dropouts or glitches.
In addition certain devices, plug-ins and processes introduce latency. Live has a built in option called "Delay Compensation" which can compensate for these.
Other latencies can be minimized, though it is virtually impossible to eliminate all latency in a computer based audio environment. In this guide we'll discuss various causes of latency and how to deal with it.
- The main factors which affect latency
- Live's Delay Compensation and how it works
- How to check if a device introduces latency
- Which elements are compensated and which are not
- Using Reduced Latency When Monitoring when recording in real time
- When to use Driver Error Compensation
1. Audio buffer size and sample rate
The most significant cause of latency is the audio buffer which ensures that Live is able to playback audio without any glitches or dropouts. The audio buffer size in Live's Audio Preferences, measured in samples, refers to the 'slice' of audio that is processed by your soundcard at any one point. So at a setting of 256 samples, a chunk of audio 256 samples long is processed and sent through the soundcard outputs, finally heard as an audio stream through speakers. The soundcard will then fetch the next batch of 256 samples, and repeat the process, as long as Live continues playback.
In order to reduce latency as much as possible, follow these directions:
- The smaller the buffer size, the smaller the latency. Keep in mind that a buffer size too small may also cause excessive CPU load resulting in dropouts or glitches. You need to find the sweet spot where the buffer is as small as possible without impairing the audio quality.
- On the other end, a higher sampling rate also reduces the amount of latency. As an example, imagine using a buffer size of 44 samples: with a sample rate of 44.1Khz (samples per second), the latency would then amount to 1 millisecond. If the sample rate is doubled, 44 samples will now correspond to half a millisecond latency, since there are twice as many samples per second. Again, a higher sample rate will also exert more stress on the CPU.
In Preferences → Audio, Live will indicate the overall latency according to the buffer size and sample rate in use.
2. Devices, plug-ins and processes
Various internal elements can increase the overall latency in a Live Set:
- Negative Track Delays: Using a negative track delay on one track causes all other tracks to be delayed accordingly. As a consequence, the amount of negative track delay is added to the latency resulting from the buffer size and sample rate preferences settings.
- External Instrument and External Audio Effect: As with negative track delays, when setting the 'Hardware Latency' slider to any amount other than zero, this will cause all other tracks to be delayed accordingly, therefore affecting the overall latency
- Ableton Devices, third-party plugins or Max for Live Devices: Any of these devices which use oversampling or convolution algorithms can add latency.
- Devices using "lookahead": Dynamic processors often come with a "lookahead" feature, which introduces a negative delay on the sidechain signal to allow the gain reduction to catch fast transients more effectively.
3. The audio interface
Using a quality audio interface rather than the computer's built in sound card will usually allow you to achieve lower buffer sizes and thereby reduce latency. Some interfaces are class compliant - which means that they use drivers that are written by Microsoft or Apple and come pre-installed on the computer. Other interfaces have dedicated drivers available - always make sure that these are completely up to date in order to ensure optimal performance.
On Windows there are three supported audio driver types - MME, Direct X and ASIO. You will usually get the best results using an ASIO driver as this allows lower buffer sizes. If you have no audio interface, or if your interface doesn't have a dedicated ASIO driver, you can use the ASIO4ALL driver instead. The default audio driver type on Mac is CoreAudio. Both the built in soundcard and any external audio interfaces will use this driver type.
All audio interfaces will have a small latency in the time taken to process a signal, send it to the computer then back out again to your monitors. Some audio interfaces have a function called direct monitoring, which allows near zero latency. The live signal enters the interface, where it is copied and split, and the copy is routed back out through the headphone monitor mix, instead of passing through the DAW first. There will still be a millisecond or two of latency, but this is negligible.
Live automatically compensates for the internal latencies caused by devices, plug-ins, and track delays. These delays arise from the time taken by devices to process an input signal and output a result. The compensation algorithm offsets each Live track (including Return tracks) by the required amount to keep them in perfect sync with each-other while minimizing delay between the player’s actions and the audible result.
Device delay compensation is on by default and does not normally have to be adjusted in any way. If required, it can be manually turned off or on, using the "Delay Compensation" option in the Options menu.
The latency introduced by a device is displayed in the Live Status Bar upon hovering with the cursor over a device title bar in Device View. The device latency is shown both in samples and in milliseconds. If "Delay Compensation" is not active under the Options menu, then it won't be possible to display the latency of a device.
This function works for both third party plug-ins and native Live devices.
Further - check our article about Ableton devices which introduce latency.
As of Live 9.2, audio, automation, and modulation are fully compensated.
Graphics Elements are not compensated, thus the level meters and other graphic elements might be displayed slightly ahead of time with respect to the audio.
Built-in device modulation which is synced to the Live transport (i.e., synced to a specific beat-time position) is not compensated. One example would be the Auto Filter LFO (in Sync mode), which might be slightly off depending on the position the device has in the effect chain. Specifically, if the Auto Filter is located after a number of devices introducing a large latency, the modulation might be offset to an earlier position with respect to the grid. Note that this does not happen to all Ableton Devices relying on Live's tempo information, but rather only to those which sync to a specific song position. For example, Ping Pong Delay, Filter Delay, and Simple Delay do not present the problem and are always correctly compensated.
Return tracks are not compensated when routed back to an audio track if the respective Send on the destination track is active. To restore the correct delay compensation for Return tracks routed to Audio tracks, disable the respective sends. You can disable a send by right clicking on the Send knob and choosing "Disable Send". For example, if you route Return Track A to Audio Track 1, right click on Send A on Track 1 and choose "Disable Send" to restore the correct latency compensation.
When large negative delays are in use, or if a number of latency-inducing plugins cause the overall latency to become quite large, it might become impossible to record audio or MIDI in real time. In this case, you can activate "Reduced Latency When Monitoring" from the Options menu. This bypasses the additional latency in tracks which are either record-enabled or whose Monitoring is set to "In".
If "Reduced Latency when Monitoring" is active, recording automation in tracks which are record-enabled or have their Monitoring set to "In" will cause the automation to be over-compensated. Playing back this recording will result in a different timing of the automation with respect to what was actually recorded. This problem can be avoided by either disabling "Reduced Latency When Monitoring", or by making sure that the automation is recorded in tracks which are not armed. Under Preferences → Record/Warp/Launch, you can choose if automation should be recorded only in armed tracks or in all tracks.
See our dedicated article on Reduced Latency When Monitoring.
When a recording audio track's monitor is set to "Off", the recorded audio is offset by the amount displayed in "Overall Latency" in the audio preferences so that it lines up correctly. Certain audio interfaces (especially class compliant ones) may report a different latency to Live than the actual latency experienced. It's possible to correctly calculate the deviation from the stated latency and then input this amount to the "Driver Error Compensation" field in Live's Audio preferences. Once correctly set, the offset on the recorded audio will be adjusted so that it lines up properly. Note that Driver Error Compensation is only applied to recorded audio when the recording track's monitor is set to "Off".
In order to set up Driver Error Compensation correctly, please follow the lesson here:
Help > Help View > Show All Built In Lessons > Hardware Setup > Driver Error Compensation.
More info in our dedicated article Understanding "Driver Error Compensation".