Working with Plug-in Latency Compensation

The Compensation pop-up menu in the Logic Pro > Preferences > Audio > General pane allows you to either disable or activate plug-in latency compensation (also called plug-in delay compensation) for:

Figure. General audio preferences tab showing the Plug-in Delay Compensation pop-up menu.

Understanding Plug-in Latency Compensation

Logic Pro provides plug-in latency compensation for all channels:  If activated, Logic Pro compensates for latency introduced by plug-ins, ensuring that audio routed through such plug-ins is synchronized with all other audio.

Logic Pro achieves this by calculating the amount of latency caused by plug-ins, and then delaying audio streams by an appropriate amount—or shifting instrument and audio tracks forward in time. The compensation method depends on the type of channel that the latency-inducing plug-in is inserted into.

  • If latency-inducing plug-ins are inserted into aux or output channels (or ReWire channels, if used), Logic Pro delays all other audio streams by an appropriate amount.

  • If latency-inducing plug-ins are inserted into audio or instrument channels, Logic Pro automatically shifts these tracks forward in time. The advantage of this method is that other channels (that do not contain latency-inducing plug-ins) do not need to be delayed.

As an example:  Imagine a simple song with a few bass, guitar, vocal, and drum tracks. The bass track is routed through an audio channel that contains an effect that introduces a latency of 10 ms. All guitar tracks are routed to an aux channel that contains several inserted effects. The combined latency introduced by these effects is 30 milliseconds (ms). The vocals are routed through another aux channel that has a set of effects that introduce 15 ms of latency. The drum tracks are routed straight to the main outputs, without being routed through any effects. If latencies were not compensated for, the drum tracks would play 30 ms ahead of the guitar tracks. The bass track would play 20 ms ahead of the guitar track, but 10 ms behind the drums. The vocals would play 15 ms before the guitar track, but 15 ms behind the drums and 5 ms behind the bass. Needless to say, this isn’t ideal.

With plug-in latency compensation set to All, Logic Pro shifts the bass track forward by 10 ms, thus synchronizing the bass and drum tracks. Logic Pro will then delay both streams routed to the output channel by 30 ms, aligning them with the guitar tracks. The aux channel that the vocals are streamed to is also delayed by 15 ms, aligning it with the drum and guitar streams (in other words, the 15 ms delay is increased to 30 ms). The precise calculations required for each stream are handled automatically.

Track
Uncompensated
Compensated
Bass (effect directly inserted in audio channel)
10 ms delay
10 ms → (audio channel) then ← 30 ms (output channel)
Guitars (routed to aux 1)
30 ms delay
Not changed
Drums (direct to output)
No delay
30 ms ← (output channel)
Vocal (routed to aux 2)
15 ms delay
15 milliseconds ← (aux channel 2)

As you can see in the table, all output is effectively delayed by 30 milliseconds, to match the largest amount of compensation required (by the effects in aux channel 1, which the guitar tracks are routed to). This has the effect of perfectly aligning all tracks routed to the output, and circumventing any delays introduced by plug-ins, regardless of where they are used in the signal path.

Knowing the Limitations of Plug-in Latency Compensation

Plug-in latency compensation works seamlessly during playback and mixing. The delay that is introduced—to compensate for latency-inducing plug-ins in output and auxiliary channels—can be applied to non-delayed streams, before they are played back. Instrument and audio tracks (that contain latency-inducing plug-ins) can also be shifted forward in time, before playback starts.

There are, however, some limitations if you use plug-in latency compensation with live tracks. Shifting prerecorded instrument and audio tracks forward in time is possible when the audio is streaming live. So, recording while plug-in latency compensation is set to instruments and tracks will work fine—as long as you do not try to record through latency-inducing plug-ins:  A live track cannot be shifted forward in time (as Logic Pro can’t position live audio before it happens).

Important: Delaying a live stream, in order to synchronize it with other delayed audio channels is not possible.

This may lead to problems if you decide to make further recordings after setting plug-in latency compensation to All, and inserting latency-inducing plug-ins in auxes and outputs. If Logic Pro needs to delay streams to compensate for plug-in latencies, you will be listening to delayed audio streams while recording. As such, your recording will be late by the number of samples that the audio streams were delayed by.

For these same reasons, you may encounter increased latency if playing software instrument tracks live, when plug-in latency compensation is set to All. This issue can be mitigated to some extent by using the Low Latency mode (see Working in Low Latency Mode).

Dealing with Latency Issues

To avoid these potential pitfalls, you should try to complete any audio and software instrument recording before inserting latency-inducing plug-ins. If you need to record a software instrument or audio track after setting up a latency-inducing signal routing, the following procedure will help you to get around any possible problems.

To record after setting up a latency-inducing signal routing
  1. Switch the plug-in latency compensation setting from All to Audio and Software Instrument Tracks in the Logic Pro > Preferences > Audio > General pane.

    You can also use the Toggle Plug-in Latency Compensation:  All/Audio and Instrument Tracks key command to quickly switch compensation between All or only Audio and Software Instrument Tracks.

    The Audio and Software Instrument Tracks plug-in latency compensation method shifts tracks that contain latency-inducing plug-ins forward in time-so any audio and instrument tracks that contain such plug-ins will be synchronized with non-delayed tracks. There is only one exception:  Live tracks can not be shifted forward in time.

    The next step is to eliminate any latency introduced by plug-ins in your recording track.

  2. Bypass any latency-inducing plug-ins on the recording track by Option-clicking the respective Insert slots.

    In the Audio and Software Instrument Tracks plug-in latency compensation mode, bypassing plug-ins eliminates the latency that they create. Latency caused by plug-ins in audio and software instrument tracks is compensated for.

    The last thing to do is to get around the latency introduced by plug-ins on aux and output channels.

  3. Bypass any latency-inducing plug-ins on auxes and outputs.

At this point, all audio streams will be synchronized, allowing you to proceed with your recording.

When you’ve finished recording, reenable all latency-inducing plug-ins, and switch the latency compensation setting to All.

Note: In the All mode, bypassing plug-ins on busses, auxes, and outputs will not eliminate the latency that they create. You must actually remove these plug-ins from the Insert slots to eliminate latency.

If you are recording audio, another strategy would be to deselect the Software Monitoring checkbox in the Logic Pro > Preferences > Audio > Drivers pane. This would necessitate monitoring your recording via an external mixer. When Logic Pro is not providing software monitoring of incoming audio, it can correctly position audio recordings—even when full latency compensation is active. Obviously, you can’t use external monitoring when recording software instruments.

Note: As Logic Pro has no direct control over the audio outputs of external devices, plug-in latency compensation cannot work for MIDI tracks that trigger external sound modules. If you activate full plug-in latency compensation and insert latency-inducing plug-ins, external MIDI signals will be out of sync with the delayed audio streams. Logic Pro allows you to circumvent this issue with the External Instrument plug-in:  Insert it (as you would insert a software instrument plug-in on instrument channels) to route the audio outputs of your external MIDI devices to the inputs of your audio hardware—and monitor them through Logic Pro. This allows you to compensate for the delays of any audio streams coming from MIDI devices during playback.