Jump to content
Wong Jian Ming

Help with Understanding PDC During Live Monitoring

Recommended Posts

I need some help on understanding Plugin Delay Compensation and how it works. 

Here's the setup, I am trying to run a band setup (16 channels of multi mic drums, gtr, bass and vocals) through Cakewalk with plugins on individual mics and sending this processed output (by turning on live monitoring) to my livestreaming software to stream online. There is obvious latency, but that is no problem as the video feeds are usually being received late by the streaming software too and I can just resync them by delaying the audio or video (whichever is later). 

Here the problem, by inserting different plugins on the different drums mics, some offending plugins are causing the live monitored signal to not be compensated correctly thus arriving later than expected, resulting in audible flam between drums. 

This only happens on the live monitoring, when playing back the same recorded tracks, it plays back with all the drum tracks in sync. 

So my hypothesis is that certain plugins are not reporting the correct delay for PDC to correct.

Therefore my guess for a probable solution is to use a latency plugin (something like voxengo latency delay) to place on every track so as to make it the highest latency plugin on each track thus making all tracks being compensated by the preset amount in Voxengo Latency Delay. 

However, even after doing this, the obvious flam is still audible. Is my understanding of PDC or somewhere 

 

Anywhere is an excerpt of Voxengo Latency Delay function:

Latency Delay is an auxiliary AAX, AudioUnit, and VST audio plugin which allows you to compensate latency produced by any audio plugins, instruments and processes which produce latency but do not try to report it to the audio host application.  Latency Delay introduces 10000 samples latency itself and delays the audio signal by 10000 minus the specified amount of samples or milliseconds, thus eliminating the unreported latency.  Please note that audio host application should support the latency compensation itself for this plugin to function properly.

 

Share this post


Link to post
Share on other sites
5 hours ago, Wong Jian Ming said:

Here the problem, by inserting different plugins on the different drums mics, some offending plugins are causing the live monitored signal to not be compensated correctly thus arriving later than expected, resulting in audible flam between drums. 

This only happens on the live monitoring, when playing back the same recorded tracks, it plays back with all the drum tracks in sync. 

So my hypothesis is that certain plugins are not reporting the correct delay for PDC to correct.

1. To avoid misunderstanding for "PDC" button, please check:

https://discuss.cakewalk.com/index.php?/topic/34909-what-is-the-default-state-of-pdc/

In short, the button "PDC" overrides the compensation once activated, in your case you don't want that (you want PDC is working).

2. I don't think plug-ins (can) distinguish between playback and recording. So if during playback everything is in sync, plug-ins report delays correctly.

Note that you need to test with re-loaded project without changing anything. At least stop and start transport (play/stop). Cakewalk is still buggy when routing/delays are changed "on the fly".

If you plan to mix live, avoid related changes. F.e. don't switch between presets which change particular plug-in delay, don't turn monitoring on/off, etc.

3. Make sure you don't mix the output from the DAW with live signals, f.e. you don't have "direct monitoring" mixed with DAW output. Even when PDC works and so everything from the DAW is in sync, it is always out of sync with original signal (plug-ins with delays just make the difference more prominent).

4. External signal looping can't be accounted correctly live. There is difference between live and playback. F.e. if you have backing track and loop it externally (with "output to input" cable), monitored input will be out of sync (by the interface latency plus delays in plug-ins). But if you record looped signal, on playback it will be in sync with backing track (assuming audio interface latency is reported correctly). In other words, DAW assumes you are recording listening backing track and shift the result "back in time".

 

PS. CbB is good for "offline" work, I mean recording and mixing. It is also reasonable for live performance at home. But personally I agree with bdickens, I don't trust CbB when more then 2-3 persons are listening the output live. At the same time, I know people which have successfully used Sonar for live performances.

PSPS. Before someone claim my personal opinion has no reason. I normally try to quick check that what I am writing is reality. So I have created 3 tracks project during writing this post, one "loop back" and 2 "live", which monitor that loop back. On one of loop back tracks I put Ozone with mastering preset. During simplest checks (switching monitoring on/off, several second recording and duplicating the result to the 4th track) CbB one time glitched with compensation and one time "silenced" monitored tracks. Play/stop helped both times. 🤨

  • Like 1

Share this post


Link to post
Share on other sites
18 hours ago, azslow3 said:

1. To avoid misunderstanding for "PDC" button, please check:

https://discuss.cakewalk.com/index.php?/topic/34909-what-is-the-default-state-of-pdc/

In short, the button "PDC" overrides the compensation once activated, in your case you don't want that (you want PDC is working).

2. I don't think plug-ins (can) distinguish between playback and recording. So if during playback everything is in sync, plug-ins report delays correctly.

Note that you need to test with re-loaded project without changing anything. At least stop and start transport (play/stop). Cakewalk is still buggy when routing/delays are changed "on the fly".

If you plan to mix live, avoid related changes. F.e. don't switch between presets which change particular plug-in delay, don't turn monitoring on/off, etc.

3. Make sure you don't mix the output from the DAW with live signals, f.e. you don't have "direct monitoring" mixed with DAW output. Even when PDC works and so everything from the DAW is in sync, it is always out of sync with original signal (plug-ins with delays just make the difference more prominent).

4. External signal looping can't be accounted correctly live. There is difference between live and playback. F.e. if you have backing track and loop it externally (with "output to input" cable), monitored input will be out of sync (by the interface latency plus delays in plug-ins). But if you record looped signal, on playback it will be in sync with backing track (assuming audio interface latency is reported correctly). In other words, DAW assumes you are recording listening backing track and shift the result "back in time".

 

PS. CbB is good for "offline" work, I mean recording and mixing. It is also reasonable for live performance at home. But personally I agree with bdickens, I don't trust CbB when more then 2-3 persons are listening the output live. At the same time, I know people which have successfully used Sonar for live performances.

PSPS. Before someone claim my personal opinion has no reason. I normally try to quick check that what I am writing is reality. So I have created 3 tracks project during writing this post, one "loop back" and 2 "live", which monitor that loop back. On one of loop back tracks I put Ozone with mastering preset. During simplest checks (switching monitoring on/off, several second recording and duplicating the result to the 4th track) CbB one time glitched with compensation and one time "silenced" monitored tracks. Play/stop helped both times. 🤨

Hey! Thanks for the detailed reply, 

 

1) PDC is what I need and hence the PDC button is not activated. (hence PDC active) 

2) this is what confuses me. One would think that playback and live monitoring should be the same, but it isn't the case. So I hope maybe the Cakewalk team can chip in here. There seems to be more happening than it seems. 

3) I've learnt this the hard way trying to get band to play along with a backing track loaded up in Cakewalk while live monitoring is on. While they are playing live, they are all in time, but on playback, they are all definitely off with the backing track. I've overcome this by just feeding the backing track as a live input and going through the same live monitoring. 

Actually no musician is listening to the live monitoring feed except for me (where I'm controlling the livestream mix which is significantly delayed due to the latency). 

What I'm simply trying to do is to mix a live performance thru a DAW to be sent to a livestream, every musician is still listening to monitor mixes straight out of a Behringer X32 rack. 

Share this post


Link to post
Share on other sites

I remember one discussion about X32. Some of it's build-in effects have delay (just like some software plug-ins), but the devices is not compensating (so it works like Cakewalk with PDC off). Such delays are not reported to the DAW and so can't be compensated by Cakewalk PDC.

You can correct X32 real latency manually in Cakewalk (in section "Sync and Caching"). There are many posts (for any DAW) how you can do this. F.e. real settings on X32 (with all desired effects) and headphones record beat listening backing track. Adjust offset till tracks are in sync on playback (you need to re-record after every adjustment). There are more accurate methods as well.

Note in case the band listen backing track throw speakers, every 1m from speaker to listener adds ~3ms acoustic delay. Probably not significant in your case, so just to keep in mind these tiny (but visible in DAW) delays exist.

But if you have 2 live tracks and put a plug-in with delay on one of them, live sound should be in sync (both tracks delayed). In case you have some plug-in which fail that (easy to check one by one), I guess it is better just avoid that plug-in.

Share this post


Link to post
Share on other sites
On 10/31/2021 at 1:12 AM, Wong Jian Ming said:

Hey! Thanks for the detailed reply, 

 

1) PDC is what I need and hence the PDC button is not activated. (hence PDC active) 

2) this is what confuses me. One would think that playback and live monitoring should be the same, but it isn't the case. So I hope maybe the Cakewalk team can chip in here. There seems to be more happening than it seems. 

3) I've learnt this the hard way trying to get band to play along with a backing track loaded up in Cakewalk while live monitoring is on. While they are playing live, they are all in time, but on playback, they are all definitely off with the backing track. I've overcome this by just feeding the backing track as a live input and going through the same live monitoring. 

Actually no musician is listening to the live monitoring feed except for me (where I'm controlling the livestream mix which is significantly delayed due to the latency). 

What I'm simply trying to do is to mix a live performance thru a DAW to be sent to a livestream, every musician is still listening to monitor mixes straight out of a Behringer X32 rack. 

As far as delay compensation goes playback and monitoring is identical. Delay is queried at the time of inserting the plugin as well as when playback starts. And also if the plugin notifies the DAW that delay has changed. The latter is more deterministic in VST3.

Re 3 it really sounds like you are monitoring something using direct monitoring. If you are listening to the band AND the backing track monitoring through the DAW's outputs it should be in sync. Of course if you are listening to acoustic sound it wont be in sync. Many people use this scenario in Cakewalk so there is most likely a simple explanation for this.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...