Jump to content

Plug-in Delay Compensation broken with external side-chain


Recommended Posts

Plug-in delay compensation is not applied to the side-chain routing which means that signals drift out of sync and vary depending on how many plug-ins have been applied to the track(s).

 

Turning off plug-in delay compensation can make some tracks sync again while the rest of the mix will drift radically instead.

 

This might not be a major problem with some situations in a mix, but it renders stem limiting with the new FabFilter Pro-L 2 using external side-chain input completely useless. Makes me consider switching to Cubase, where this is working correctly, since it's a pretty nifty feature when you're doing stem mastering bounces for live, TV, etc.

 

Logic Pro X 10.3.3

OS X 10.11.6

Mac Mini 2.6 GHz i7, 16 GB RAM

Link to comment
Share on other sites

  • 2 weeks later...

hmm... that's the highest i can go with

 

17,408 samples/394.7ms

 

Apple's Linear Phase EQ only generates 2,560 samples/58.0ms of latency

 

You'll see that the latency is compensated as expected on the channel, but not on the side-chain signal. They're out of sync..

 

I'm having a noob moment, does that mean if i side chain Taylor Swift to a drummer, the drummer signal is not properly compensated?

 

Like the source of the side-chain signal (the drummer in this case)?

Link to comment
Share on other sites

Correct.

 

When you're use a compressor on a track it's using the internal side-chain by default, i.e. the input signal is being fed through the side-chain to the detection circuit. Inserting a compressor on a vocal track means that the vocal is the input signal, i.e. the vocal is being fed through the internal side-chain to the detection circuit. This happens automatically and by default in a compressor.

 

When you substitute the internal side-chain with an external side-chain input you're using another signal (from different channel, i.e. external) to trigger the compressor. When people say "side-chain compression" they actually should be saying "external side-chain compression".

 

So let's imagine you still have the compressor on the vocal track, but you substitute the internal side-chain (with the vocal input) with an external side-chain, e.g. a drum track from another channel. Now the compressor on the vocal is no longer listening to the vocal itself but listens to the drum track. This means that the compressor no longer ducks the vocal in relation to the peaks of the vocal, but instead to the peaks of drums, i.e. the external side-chain input.

 

If you have other plug-ins on the vocal and/or drum track - which you normally do - these plug-ins will cause a delay or latency on each track, depending on how much lookahead and processing cycles each plug-in demands. Logic automatically shifts or compensates the timing of the affected tracks so they're aligned in time in the mix.

 

But here's the bug in Logic: the side-chain signal itself is not compensated correctly. This means that the drum track used for triggering the vocal compression is out of sync in the external side-chain but is in sync in the rest of the mix, causing anything from minor rhythmical problems with all external side-chain compression to completely breaking a feature such as sum-limiting between stems. And the amount of sync problems depends on the processing going on in the mix. Anywhere between not very audible to a second out of sync!

 

All other DAWs that I'm aware of compensate processing delays correctly in the external side-chains, except Logic.

Link to comment
Share on other sites

Thanks for the explanation lagerfeldt.

 

Sadly, this is beyond me, as i do not know what method to use to detect if the external side-chain signal being properly compensated, or not.

 

My wish is to replicate it on my end to understand it, and to help report to Logic Pro X team, but due to noobiness (LOL!) i can't seem to do that.

 

But I trust you and Eric, if you guys say it's there, then it's there for me.

Link to comment
Share on other sites

  • 2 months later...

if someone also wants to submit a bug report to apple, here are the steps to reproduce the problem

 

"Logic side-chain bug"

 

create track “audio 1”

create track “audio 2”

 

route track “audio 1” over “bus 1” to “aux 1”

insert latency inducing plugin “Linear Phase EQ” into “aux 1”

route “aux 1” over “bus 2” to “aux 2”

 

route track “audio 2” over “bus 3” to “aux 3”

 

insert plugin “Compressor” to “aux 3”

change side chain of the compressor to “bus 2”

 

put a identical drum-loop on both tracks

 

result:

audio 1 <-> audio 2 are NOT in sync

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

I think there is no question that problem is related to PDC because the signal signal is exactly delayed with the number of samples like the number of samples which the plugin report as latency. As I understand yor issue the side-chained "control" signal is out-of-sync, while in my example also the processed signal is (also) out-of-sync.

 

If you’re in contact with the logic team I would be happy if you can send them my steps to reproduce the issue:

 

Logic side-chain bug"

 

create track “audio 1”

create track “audio 2”

 

route track “audio 1” over “bus 1” to “aux 1”

insert latency inducing plugin “Linear Phase EQ” into “aux 1”

route “aux 1” over “bus 2” to “aux 2”

 

route track “audio 2” over “bus 3” to “aux 3”

 

insert plugin “Compressor” to “aux 3”

change side chain of the compressor to “bus 2”

 

put a identical drum-loop on both tracks

 

result:

audio 1 <-> audio 2 are NOT in sync

Link to comment
Share on other sites

  • 1 month later...

Possible workaround:

 

I discovered this then came here to read about it. Pretty shabby to be honest. Anyway .. what I did to work around this is as follows

 

In teh example I am looking to compress a bass line when the kick hits so that the kick comes through. I am using Logic Pro X 10.4.1 and FabFilter C2

I make a copy of teh kick track and mute it (renaming it to "Kick-delay-compensation")

Then I put the C2 on the bass track and select side chain as Kick-delay-compensation.

I audition the side chain with the bass track and the original kick solo'd.

Then I slide the Kick-delay-compensation track forward until it hits with the original kick through the C2 plugin.

Done!

 

Hope that helps people.

Link to comment
Share on other sites

  • 2 months later...

So I stumbled across this thread since I am researching about Logic and it's PDC at the moment, too.

 

I came across your instruction and tried them myself and came to the same result.

 

I have discovered something, regarding the hirarchy of the different track types.

 

tl;dr: PDC in the external side-chain doesn't work as the Aux track's Bus is chosen for SC input. If you want to avoid the issue, avoid Latency-inducing Plugins in the Aux-tracks as far as possible or always chose Audio-Tracks instead of Busses for SC when possible. The latter might be the best solution, since all the Plugin's effects on the Audio-Track are also effecting the SC signal.

 

These are my settings:

 

Track 1 → Aux 1 (via Bus 1)

Track 2 → Aux 2 (via Bus 2)

Aux 2 → Aux 3 (via Bus 3)

Aux 3 → Aux 4 (via Bus 4)

 

 

 

Aux 1 and Aux 3 go to Stereo Master. This is a similiar setting to what logness described, But with one extra stage (explained later)

 

These are my observations:

 

- Compressor in Aux 1, Lin Phase in Aux 2, SC from Bus 2: Since the Latency-inducing Plugin isn't involved in the SC Path yet, the PDC is working. So you are able to trigger like that, when you aren't required to use the exact same signal as after your Delay-causing Plugin.

- Compressor in Aux 1, Lin Phase in Aux 2, SC from Bus 3: PDC does not work

- Compressor in Aux 1, Lin Phase in Track 1, SC from Bus 2: PDC does work here. Since it's working with Bus 2, SC from Aux 3 & 4 will work as well (as long as there are no Latency-inducing plugins themselves)

 

that made me think: is it required for the PDC to work to get its signal from an already compensated track?

That's why i decided to route Aux 3 again on another Bus (Bus 4)

 

- Compressor in Aux 1, Lin Phase in Aux 2, SC from Bus 4: PDC does not work either. So there's definitely a bug there

 

- Compressor in Track 1, Lin Phase in Track 1, SC from Track 1: PDC does work.

- Compressor in Track 1, Lin Phase in Track 1, SC from Bus 2, 3 or 4: PDC does work.

- Compressor in Track 1, Lin Phase in Aux 2 or higher, SC from Bus 2, 3 or 4: PDC doesn't work.

 

and for completeness:

 

- Compressor in Aux 1, Lin Phase in Aux 2, SC from Track 1: PDC does work.

 

It doesn't matter if you're using MIDI Tracks or Audio tracks btw, only when acting with busses PDC doesn't seem to work.

Seems like Aux tracks are generally not able to being compensated, as soon as they are involved in any kind of side-chain.

 

Cheers

Link to comment
Share on other sites

  • 3 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...