Gearslutz.com
All Advertisers

Go Back   Gearslutz.com > The Forums > So much gear, so little time! > Sub forums > Tips & Techniques

 
 
Article Tools Search this Article Rate Article Display Modes
  #1  

Plug-in Delay Compensation with Protools LE / MP

Manually 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:
  1. Vox Pitch --> Waves Ultra Pitch -->8239 Samples
  2. Rhythm Gtr --> Izotope Ozone 3 --> 749 Samples
  3. Lead Guitar --> Waves GTR3 ToolRack --> 64 Samples
  4. Drum Sum --> Waves L2 --> 64 Samples
  5. OH Sum --> McDSP ML4000 --> 51 Samples
Step 1: Find the Slowest Path to your output interface

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


Contributors:
Created by jmarkham, 26th March 2008 at 07:45 AM
Last edited by jmarkham, 27th March 2008 at 10:37 PM
1 Comments , 1101 Views
 

Bookmarks

Article Tools Search this Article
Search this Article:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Protools Delay Compensation and Midi Programming help! jamieboss1 Music computers 6 22nd March 2008 04:41 PM
PT LE Plug-In Delay Compensation Curiosity hearmeshimmer Music computers 3 15th November 2007 03:26 PM
protools le delay compensation, question gizeh12 Music computers 5 10th September 2007 10:09 AM
plug for PINGING OUTBOARD PLUG IN DELAY COMPENSATION? Durv Music computers 1 18th July 2005 12:09 AM
Plug in delay compensation kushan_ku Expert Question & Answer Archives (read only archive, not open for new posts) 34 8th November 2002 03:03 AM


All times are GMT +1. The time now is 10:50 PM.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.0.0