| Services Directory | Reviews | Jobs | Deal Zone | Merchandise | Marketplace | Music Biz Articles | Video Vault | Tips & Techniques |
| |||||||
Tips & Techniques:Plug-in Delay Compensation with Protools LE / MPManually Compensating for Plug-in Delay in Protools LE and MP Jeff Markham Techbreakfast As of Protools 7.4, automatic plug-in delay compensation remains an option only in Protools HD. This tip/trick covers how to manually compensate for plug-in delay in LE and MP. What is Plug-in Delay and Why Should I Care? When you insert a plug-in into your signal path, it takes some amount of CPU cycles in order to do its task. Sometimes, the algorithm is computationally intensive or requires a wide buffer of samples in order to do its job. In these cases, a plug-in may not be able to do all its work in "real time", meaning it will delay the re-introduction of the processed path until some future time. Usually, this is measured in either samples or milliseconds. This is known as Plug-in delay or plug-in latency. Many plug-ins do not introduce latency and do their processing in real time. However, some do. Should you care? If you're using a DAW that has PDC built into it (and most do), you don't care. If you're using Protools LE or MP (which don't have it), then you might. Usually if a delay is short (50 samples or less), the delay that is introduced is very short ( delay = (samples_delayed / sample_rate) * 1000 ). Let's say I've got a plug-in that's delaying my path by 700 samples and I'm using a 44100 sample rate. The delay of this would be: delay (ms) = ( 700 / 44100 ) * 1000 or 15.87ms Does it matter? .. depends on the track or the aux path. If the path is going to a delay or reverb as a processing element . then the delay probably doesn't much matter. But .. if it's on a percussion or bass track where timing and feel could be impacted, then you should care. Audible artifacts occur when the delayed signal path is re-introduced with the rest of the tracks at some summation point. If there is some of the undelayed signal (from mic bleed, etc.), you may hear a slap echo effect or some weird sounding phase / comb-filtering effects that make the signal sound thinner and/or have the stereo image altered. As you'll see in our second example, one of the plugs is introducing a delay of over 8000 samples ... which would equate to a delay of over 180ms. That's going to be definitely audible .. and not in a good way. How Can I Tell If A Plug Introduces Delay? In Protools, go to the mix window and go to the bottom of the track where the volume is display .. press the Command key and then the left mouse button two times .. it should say "Dly" ... that's the delay in samples. If you're lucky, it will say "0" ... Remember you can use the "Alt + Command" to toggle all the tracks. Note that if you have more than one plug in your insert chain, the delay is the cumulative total through inserts A->E. A Simple Scenario First, I'll direct you to the Qt movie I did a while back . which is a fairly simple PDC scenario .. but should get you warmed up for a more gnarly case. Please see the following movie: http://techbreakfast.com/tutorials/PT_LE_Delay_Comp.mov A More Involved / Realistic Scenario Please consider the following mix: ![]() Please note that the following tracks inject delay Code: [LIST=1] In manual PDC, the first step is to find the slowest path through the mix. In this case, it is the Vox Pitch track with the whopping 8239 samples of delay. Everything will have to be delayed by this amount in order to get line up at the A1-2 interface. As I mentioned, I often get out a piece of paper and draw out the routing paths through the mix. It really helps to visualize and strategize where you will want to insert delays. If you have a complex bus routing, this becomes a necessity. Divide and Conquer If you have a complex mix, it's best to line things up in groups. For example, line up all the drums first .. and then move on to other logical groups of instruments. Existing summation busses / Aux Tracks are natural places to insert delays into your mix. Resist the temptation to slap a time adjuster on every track .. you can usually reduce the number of places you need to insert delays if you use aux tracks with delays (and routing busses) strategically. Breaking the problem down into sub-problems makes the whole process more manageable. Getting the drums to line up So, let's treat the drums as a sub-problem. Please notice that the drums are using a summing buss (Drum Sum). The OH are summed together with an ML4000 that will delay the overheads before hitting the DrumSum buss. So, we'll start by getting all the drums to be line up first. So, in order to get the drums to line up, we're going to have to delay everything that's not going to the OH sum path by 51 samples. I do this by creating an aux track (TADJ 51), slapping a TimeAdjuster Short plug-in on the new aux bus. Then route everything that's not going to the OH sum bus to this new delaying bus (also named TADJ 51). I route the output of the TADJ track to the Drum Sum bus. ![]() Now, everthing will arrive at the Drum Sum bus on time. You'll remember that the L2 on the Drum Sum will add 64 samples of delay as it goes to the A1-2 interface bus. We'll deal with that in a minute .. but for now, all the drums are lined up, so we don't have to worry about this group of tracks anymore. Guitar Tracks Let's start with the Rhythm Guitar track .. you'll notice that Izotope's Ozone is injecting 749 samples of delay. Can you trust the numbers? Not Always Some of you might be thinking Gee, I didn't think Ozone had any delay .. I've never seen any delay when I check the tracks? And you would be partly right .. Ozone does not report the delay it injects to your hosting app unless you enable an option. So, by default, it's injecting delay in to your mix .. but, like your girlfriend, it's doing things behind your back and not telling you. Not that this has ever happened to me. To get it to confess ... Under Options you'll see ... ![]() Clicking on the Delay Compensation ... button, you can turn it on .. and you should.. ![]() It's important to note that Ozone (and Trash too) don't do any delay compensation themselves, they just report the delay they introduce to the hosting app. So the control name is somewhat of a misnomer. Plugs that Lie There are some plugs that just plain lie about the delay. Luckily, they are a rarity ... but if you're hearing some funny stuff going in the time field (slaps, comb-filtering effects, etc.) be sure and check your plugs. You can usually figure them out by bouncing to track and looking at the two waves forms .. usually, it's pretty obvious. Irony of Ironies Time adjuster lies to Protools when you bypass it! ... A major annoyance when you get into automation and it's effect on PDC. When you bypass TimeAdjuster , the plug-in delay goes to zero .. although it still reports the delay setting. You have to disable (Control + Command Left Click) the plug altogether to have PT report the true delay on the insert path. Sigh. Back to the task at-hand ... Guitars So, I'm not good at math in my head .. so I use have a trusty Calc laying about on my desktop to bring up. We're going to want to line up the rhythm guitar to the longest path to the A1-2 Interface ... which is the Vox path and the 8293. So we're going to have delay the Rhythm Guitar track by 8293 minus 749 .... ![]() So .. we're going to put a Time Adjuster Long on the Rhythm Guitar track and set it to 7490 samples ![]() Hit the enter key ..(and sometimes you have to move the plug-in dialog to get PT to repaint the right value ).... Notice the delay jumped by 4 samples when you added the Time Adjuster Plug! This is important because you should note they delay of the track *before* you put the Time Adjuster in ... otherwise, you'll be off by 4 samples. Not that I've ever done this mind you. ![]() Ok ..so the Rhythm Guitar is now lined up... Next, we do the same with the Lead Guitar .. we need to add (8239-64) samples of delay or ![]() Bass Guitar Track .. and a limitation So, we need to delay the bass guitar by 8239 samples (since it has no delay on the track). We could make an aux buss and route all 0 delay tracks to this aux track. But since the bass is the only one that has a 0 delay routing, we'll just slap a time adjuster on the track directly. Now .. here's where you'll notice a limitation. The TimeAdjuster Long has a max delay of 8195 samples. So, you'll need to use two time adjusters to get it to line up .. a TimeAdjuster Long, followed by a TimeAdjuster Short. ![]() I can hear you Sonar, Cubase, Nuendo, Reaper, Logic, Audtion, etc. users out there snickering at this point .. and it's very unbecoming ;-) And back to the drums Ok , the last thing is the drum summation bus which we need to delay to get it to line up on the A1-2 interface. ![]() Ok .. now everything is lined up to max delay of 8239. Automation and Manual Delay Compensation If you use automation in your mix to enable / disable the bypass of inserts or to change the settings of an insert, you may be altering the plug-in delay. For example, if I were to by-pass Ozone at some point in the mix, I would also have to automate the sample delay of the time-adjuster on that track too. Also, different settings in Ozone have different amounts of delay. So, if I were to change the parameters in Ozone such that they affected the delay through it, I would also have to adjust the time adjuster to match. Sound like a pain-in-the-you-know-what? It is. Summary So .. remember to check the delay of your tracks on LE and MP. If you're lucky, you're not using any delay injecting plugs .. but unfortunately, some of the coolest ones do. One alternate strategy (if a delay is on a audio track) is to duplicate the playlist, apply the effect as an audio suite effect and then nudge the track back by the delay. This works reasonably well if you're not making a lot of tonal changes before it hits this particular insert. I don't particularly like nudging tracks around as it's too easy to forget. A Closing Plea Dear Digidesign R&D team ... do not listen to your management or marketing teams when discussing features and their priority. Auto PDC is your highest priority without question. By introducing PDC in LE and MP, you're validating your self-worth and professional reputation in the Digital Audio field. We will be eternally grateful (or until the next major audio advancement or cool feature is introduced, which ever comes first). Sincerely Jeff jeff@techbreakfast.com
|
(2) Comments for: Plug-in Delay Compensation with Protools LE / MP | Page Tools | Search this Page |
| | #1 |
| Lives for gear Joined: Aug 2006 Location: No longer participating here.
Comments: 6,705
|
Nice work Jeff! More on this, including a bulletproof method for compensating everything including hardware inserts, available on this thread: PT LE Bus Delay Compensation |
| | |
| | #2 |
| Gear Head Joined: Oct 2008 Location: Europe
Comments: 43
| Delay view in mixer - don't trust number
If you do delay compensation you can't do it only reading data from mixer (delay view) cause for some plugins it is not correct. So you need manually find delay compensation time for every plug.
|
| | |
![]() |
| |
| Bookmarks |
| Page Tools |
| Search this Page |
Posting Rules
|