Plug-in Delay Compensation in Pro Tools – Part 1
This article is an excerpt from my e-news column: “The Pro Tools Corner” at audioMIDI.com
NOTE: This was published before automatic delay compensation was standard in every Pro Tools system. Although the concepts and techniques in this article still work, you’ll want to read part two, specifically with regards to using automatic delay compensation in Pro Tools HD, it now works the same in all PT systems now.
Combating plug-in delay in Pro Tools – Part 1
Consistently a hot topic on many DAW related message boards and a recurring subject in my email inbox, plug-in delay can be a mixers worst nightmare. From subtle “phasing” to flat out timing and sync issues, the processing delay caused by certain plug-ins can throw an entire session out of whack, sometimes with as little as a single instance of said plug-in. While most of today’s DAW’s incorporate “automatic delay compensation,” effectively solving these issues behind the scenes, Pro Tools LE and M-Powered do not currently provide a transparent solution for users. And although Pro Tools HD provides a comprehensive automatic delay compensation system that works quite well, I am consistently surprised at how many HD users do not know about, or understand how to use it effectively. In this two-part article, I will attempt to break down the challenges of plug-in delay and provide a variety of solutions for both Pro Tools LE/M-powered, as well as Pro Tools HD users. In part 2 of this article, I’ll even share with you a handy new delay compensation plug-in that may be the perfect interim solution for Pro Tools LE/M-powered users.
Understanding the problem
First things first, it is important to understand the difference between latency issues during recording vs. the problem of plug-in latency (delay) in the mixer. When recording into a native DAW, you will most likely experience a small amount of delay related to the interface and the host’s processing buffer. This latency is un-avoidable and is only an issue while recording real time into the DAW. Most of the time this latency can be managed with a variety of techniques, by configuring the playback engine’s buffer size. Today however, I want to discuss specifically the delay caused by certain plug-ins in the mixer, which when inserted, can cause tracks to become out of alignment which each other, leading to phase problems and in extreme cases, sync issues in the mix.
To better visualize this dilemma, allow me to layout a couple scenarios in which plug-in delay would create a potential problem:
Lets say you have a pretty involved multi-track session and you decide to place a real-time vocal tuning plug-in (auto-tune, waves, etc) on one of your vocal tracks. Because the tuning plug-in must analyze the incoming audio and re-pitch it in real time, there is some additional processing overhead that must go, beyond the normal processing buffer available to real time plug-ins. As a result, the vocals will play back later in time, possibly so much so that they sound out of time with the rest of the un-processed tracks. This is most often an issue with real-time tuning plug-ins, “look-ahead” style compressor and most brick wall limiters (R-Compressor, L2/L3, Maxim, etc), drum replacement plug-ins (TL Drum Rehab, Drumagog), noise reduction plug-ins, or any plug-ins that are going to exhibit significant processing latencies within their algorithms.
Absolute phase coherency:
With multi-mic processing (drums, etc) and certain “double-bus” or “parallel” mix tricks, absolute phase coherency is a must. Lets say you have a vocal track that you have duplicated onto another track, running one un-compressed and the duplicate completely squashed in a “parallel compression” style set-up. If the compressor plug-in you use on the squashed track induces even a single sample of delay, the two duplicate tracks will experience a phenomenon known as “comb-filtering,” as certain frequencies are canceled out or amplified as a result of destructive and constructive interference between the original and slightly delayed signal.
To better demonstrate, try this experiment for yourself: Take any track in pro tools and duplicate it (Track > Duplicate). Now place a plug-in known to cause delay (like Waves R-Compressor or L1) on the duplicate. Play back the session, muting and un-muting the duplicate track, the phase cancellation should be more than obvious.
Why it’s not THAT bad:
At this point many of you may be gripping your mouse with sweaty palms, wondering how you ever mixed anything down with such a monster delay problem happening behind your back. Well don’t fret, because in a native system like Pro Tools LE or M-powered, plug-in latency is in many cases, non-existent (Pro Tools HD is a totally different story and we’ll talk about that next time). The truth is that the Pro Tools LE/M-Powered mixer and most RTAS plug-ins exhibit zero delay, beyond the unavoidable delay induced by the H/W playback buffer that all tracks suffer from equally. Furthermore, even if the plug-in in question does induce delay, it is usually negligible (under 64 samples) and is only really a concern with phase coherent tracks (described in the second scenario above). Seriously, if your bass track is 4 samples later than your vocal track (less than a tenth of a millisecond at 44.1khz), it really doesn’t matter. Most of the time we are talking about microseconds here folks, so again only in phase coherent situations or when using super latent “look ahead” plug-ins do you really need to worry.
But how do I know for sure?
Fortunately, there is a really easy way to check for plug-in or mixer induced delay on Pro Tools tracks. From the mix window, simply Command-click (or Control-click on PC) directly on a tracks Vol/Peak/Delay display (located beneath its volume fader, right under the track type icon) until it reads “dly” (for example, you will need to command-click twice if “Vol” is displayed). This value is displayed in samples, you can convert samples to millisecond simply by taking your sample delay, dividing it by your sample rate and multiplying it by 1000 (so if you delay was 128 samples at a sample rate of 44.1Khz that would be 128/44100 x 1000 = 2.9ms Basically, if delay reads “0,” then you have nothing to worry about. If the delay shows a number like “64”, then you have a few options. While some specific plug-ins do misreport delay times, this is not super common, in fact some emulations introduce band specific delays that cannot be compensated for completely (again rare), ultimately you use ears as the final judge and make sure to comb the user’s manual if you believe that a plug-in is misreporting.
Hint: you can Option+Command-Click (or Alt+Control-Click) to display “dly” view on all tracks.
What to do if a track exhibits plug-in delay:
As I stated earlier, usually you don’t have to do anything if the delay is either a) not part of a phase coherent track grouping and b) less then 64 samples, as any more delay might cause timing discrepancies between rhythm tracks. Sometimes you can get away with delays of up to 256 samples on non-rhythmic tracks (vocals, etc), but this is up to you so trust your ears. Another case where no intervention is required is delay on the master fader, as long as all tracks are being sent out a common stereo output (e.g. your not using a summing mixer) you can get away with almost any amount of plug-in delay on the master fader since all tracks will be equally affected by this delay.
If for some reason you find yourself in a scenario where plug-in delay needs to be accounted for you have a variety of manual compensation options in Pro Tools LE or M-powered:
Shifting or Nudging tracks:
In scenarios when the plug-ins algorithm causes significant delay (tuning plug-ins, drum replacement, etc), so much so that the latent tracks play out of sync with the un-processed tracks, you best bet is to nudge or “shift” the latent track backwards (earlier in time) in the edit window by the amount of the delay. By shifting a track earlier in time in the edit window, the track plays back earlier thereby “anticipating” the delay it is going to gather up through processing.
For example, if your tuning plug-in showed 1024 samples of delay in the tracks “dly” view (more than enough to sound out of time), simply select all the regions on the track (triple-click with the selector tool) and choose Edit > Shift. Select “Shift Earlier,” in the sample field type in the amount as displayed by the “dly” indicator and hit ok. If the tracks regions are butt-up against the beginning of the session you may have to trim a small amount of the head to make room for the shift.
Make sure to record this shift in the comments field of the track, something like “Shifted earlier by X samples to compensate for ABC plug-in” works great. This way if you change out the plug-ins, you can get back to square one. I like to create a separate playlist before I shift tracks by significant amounts, because things can get a little crazy while keeping track of multiple plug-in induced delays.
Using the Time Adjuster plug-in
With shorter plug-in delays, as is usually the case in phase coherent scenarios, the Digirack Time Adjuster plug-in can be used. Time adjuster is a simple plug-in that you can insert on non-delayed tracks to match the delay of the latent track to maintain absolute phase coherency. Time adjuster is found under the “Delay” category and on stereo tracks it is easiest to use the “Multi-Mono” version. Time adjuster comes in 3 flavors: short, medium and long. Short supports up to 259 samples of delay, medium up to 2051 samples, and long up to 8195 sample. Remember the time adjuster will always cause at least 4 samples of delay, so if a track is show a delay of 3 samples or lower, you will have to do some nudging.
For example, lets say you have “Bass DI” and “Bass Cab” tracks from the same take, in other words they are phase coherent. After checking the dly indicator on each track you see that the DI track is being delayed by 64 samples and the Cab track by 128 samples. The goal here would be to use the time adjuster plug-in on the least latent track, in this case the DI track, to add more delay. By adding the time adjuster plug-in to the DI track and setting its value to 64 samples, I now show 128 samples of delay on both tracks, and have maintained absolute phase lock between the two.
The goal is to match the amount of delay so that each track in the group is delayed by the same amount. In this case, a total delay of 128 samples (roughly 3 ms) on the bass tracks would probably not warrant the adjustment of other tracks, but if it did affect the groove I might opt to shift the tracks in the edit window using the previous method. In other words, I would not place the time adjuster plug-in on every track to compensate for a tiny bit of delay on the bass track, this will just eat up DSP and I would have to modify every time adjuster plug-in in the session each time I messed with the bass plug-ins.
Sometimes for a quick fix I will just Option-Drag (Alt-Drag on PC) to copy the same plug-in to each track, bypassing the plug-in on tracks I don’t want to process. If each track has the same exact plug-ins, they should exhibit the same amount of delay (although at the cost of extra processing for a plug-in you technically aren’t using).
Tip: If you are using hardware inserts, you will need to compensate for the I/O latency in addition to any latency exhibited by the hardware device.
Obviously you can see how all of this could get a bit tricky, juggling different delays on different tracks and modifying time adjuster as you add/remove/change plug-ins, which may make you think twice about using delay inducing plug-ins on phase coherent tracks or avoiding them entirely if possible. Ideally the software would calculate the delay on each track and delay all other tracks automatically so that each track exhibited the same amount of delay at the end of the chain (Other DAWs and Pro Tools HD will do this for you).
Now before you go out and hate on Pro Tools LE/M-powered for not having automatic delay compensation remember, your frustration may vary based on the types of plug-ins you use. Many users will never experience noticeable problems, in fact if you stick to the Digirack plug-ins you are good to go, as they induce no extra delay on the mixer. Fans of look-ahead style processors, which includes any kind of decent limiter plug-in, will suffer a bit more as these almost always cause delay no matter what flavor you use. Like I said, as long as no track is showing over 64 samples of delay (sometimes you can get away with 128) and your phase coherent tracks are taken care of, you should be fine.
Coming up in part 2:
In part two, I will show you how to use MellowMuse’s ATA plug-in, a clever solution for the delay compensation problems in Pro Tools LE and M-Powered. I will also run through Pro Tools HD delay compensation and explain why it is a must use feature for HD mixers and producers.