x42 / darc.lv2

Dynamic Audio Range Compressor
https://x42-plugins.com/x42/x42-compressor
GNU General Public License v3.0
30 stars 5 forks source link

False Feedback #4

Open dsreyes1014 opened 3 years ago

dsreyes1014 commented 3 years ago

In Ardour-6.8 downloaded from the ardour's website, when disabling 'PDC' and also re-enabling 'PDC' the plugin creates a sort of false feedback that keeps the Master bus pegged all the way red. ardour-6 8-plugin-bug

x42 commented 3 years ago

This plugin does not have any latency to begin with. Looks like you meant https://github.com/x42/dpl.lv2/

Either way, given your description, the issue must be in Ardour. Can you reliably reproduce it? Is there a recipe? I tried, created a new session, added 1mono track, loaded x42-dpl to the master-bus, toggle PDC.. all fine

What Settings do you use in Ardour > Preferences > Performance > CPU/FPU Denormals?

+40dBFS is a hard limit in Ardour's peak-meter and it seems like the issue is some inf or NaN, perhaps caused by an earlier plugin. If you can reliably reproduce this, could you add "bitmeter" plugin to the master-bus and check the signal?

x42 commented 3 years ago

PS. what other plugin(s) are in the session? Where do the "verb" sends go? Does removing the reverb plugin(s) if any help?

dsreyes1014 commented 3 years ago

This plugin does not have any latency to begin with. Looks like you meant https://github.com/x42/dpl.lv2/

Either way, given your description, the issue must be in Ardour. Can you reliably reproduce it? Is there a recipe? I tried, created a new session, added 1mono track, loaded x42-dpl to the master-bus, toggle PDC.. all fine

What Settings do you use in Ardour > Preferences > Performance > CPU/FPU Denormals?

+40dBFS is a hard limit in Ardour's peak-meter and it seems like the issue is some inf or NaN, perhaps caused by an earlier plugin. If you can reliably reproduce this, could you add "bitmeter" plugin to the master-bus and check the signal?

This wasn't happening with Ardour-6.7 now that you mention that.

Did you add your compressor plugin to the mono track?

I can reliably reproduce it by just enabling/disabling the 'PDC' button.

As for the settings you asked for I have Use DC bias to protect against denormals unchecked and Processor handling: use FlushToZero and DenormalsAreZero

dsreyes1014 commented 3 years ago

PS. what other plugin(s) are in the session? Where do the "verb" sends go? Does removing the reverb plugin(s) if any help?

The sends go to a stereo bus with Dragonfly room reverb on one bus and Dragonfly plate reverb on the other.

x42 commented 3 years ago

The sends go to a stereo bus with Dragonfly room reverb on one bus and Dragonfly plate reverb on the other.

Does it also happen if you remove those. Dragonfly reverbs are known to issues that could explain this.

dsreyes1014 commented 3 years ago

The sends go to a stereo bus with Dragonfly room reverb on one bus and Dragonfly plate reverb on the other.

Does it also happen if you remove those. Dragonfly reverbs are known to issues that could explain this.

Yes even after removing them this still happens.

x42 commented 3 years ago

Could you provide a step by step recipe how to reproduce this issue? or upload an Ardour session that causes this?

dsreyes1014 commented 3 years ago

Sure I can when I get back to my desk back at home. I didn't know you were on vacation. I very much appreciate your responding. How can I donate a little something to you personally for your time?

dsreyes1014 commented 3 years ago

It won't let me add the session file but simply adding 24 tracks all with x42 paraEQ mono and x42 dynamic compressor x42 limiter for 8 foldback busses and master bus and 2 aux send busses with dragonfly plate reverb. Click 'Disable PDC' to disable and click again to enable and the compressors stay pegged which in turn pegs the master bus to red. This is fixed by deleting compressors that get pegged and adding a new instance of the same plugin but if I click 'Disable PDC' again on & off it will do the same thing.

x42 commented 3 years ago

I've fixed the symptom (stuck meter in display), but the cause remains a bit of a mystery, likely something related to Ardour, or your Ardour build. I cannot reproduce it with your description (but I do not have dragonfly reverb installed and have not created those reverb busses)

mixer

Mixer screenshot does not include foldback busses, but I've created 8 of them each with x42-EQ, and x42-DPL and assigned all 24 tracks to those 8 FB.

Could you upload the session as .zip or perhaps elsewhere (dropbox or similar)?

-- PS. I'm curious, how do you manage such a session? Do you have a control surface with 24 channels? Seems a bit overkill to have a 24x8 matrix mixer. I'd probably create sub-mixes first.

dsreyes1014 commented 3 years ago

This is more of a test to see if its possible as my interface has 24/24 ins/outs for live perfomances. I'm sure this is not normally done but so far I've been able to reliably run at 32/48kHz with this setup while recording 3-4 hours with no issues so far. Trying to see how far I might be able to take this.

I'm using the official download from ardour.org. I can try git maybe to see if it still happens.

Do you mean the XXX.ardour file compressed in zip?

x42 commented 3 years ago

Do you mean the XXX.ardour file compressed in zip?

Yes (or the whole session folder if that's small enough). I have a few ideas how this could be caused in Ardour but each less likely than the other... e.g. Have you used templates created with an earlier version to create those tracks? There was a bug a while ago (that would show in the .ardour session file with duplicate IDs).

Does it also happen with other latent plugins?

x42 commented 3 years ago

PS. what backend do you use? JACK?

I've tested with Ardour/ALSA (no JACK here),

dsreyes1014 commented 3 years ago

Here's the zip file for the session folder: RME MADIface Pro Test.zip

I haven't opened this session with a template and I use jack2. I did try pipewire but that seemed to be where this issue started and is far from stable for me.

x42 commented 3 years ago

Can you try if the issue persists with Ardour 6.8-249-g5c9f5ae895 or later (available from https://nightly.ardour.org)

dsreyes1014 commented 3 years ago

Using rev 6.8-263-gc1dddb1b25 DSP stays red pegged all the way to 100% which obviously won't allow me to test further using the same session.

x42 commented 3 years ago

That is very mysterious. BTW, I have not been able to reproduce the issue, not even with your session.

However the issue could perhaps have been explained with an edge-case related to foldback-sends (fixed in 5c9f5ae895), but it seems that was not it. -- have you tried clearing Ardour's preferences (~/.config/ardour6) and see if that makes a difference?

As far as I can see, there is also no change that would explain a difference in DSP load either. Your session loads fine here, and takes about 35% load (4 core i7 at 1024/48k), and that's with the debug version, optimized build should perform better, still.

dsreyes1014 commented 3 years ago

That is weird. I'll wipe the preferences and start fresh with the nightly and report back.

dsreyes1014 commented 3 years ago

So after starting with a fresh preferences its exhibiting the same behavior with jack2.

I'm going to build ardour-git from AUR which is 6.8-265 and see how that behaves.

x42 commented 3 years ago

..and without JACK?

just to simplify the setup system, and rule out any complexity introduced by JACK. (Stop jackd. Then, Ardour Menu > Window > Audio/MIDI Setup -> Audio system: ALSA)

x42 commented 3 years ago

Could you add "Bit Meter" (lv2 plugin, comes with x42-plugins on AUR) just before the compressor that gets stuck at large value when you toggle PDC?

That can provide clue as to what value is fed into it, enable "Integrate" to collect data (min/max,..)

image

PS. if you have time, It might be easiest to interactively debug this early/mid next week on #ardour IRC

dsreyes1014 commented 3 years ago

Haven't added the bit meter yet but after installing 6.8-274 from the AUR problem is still there. I'll try with bit meter and add what shows up when I get a chance.