Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interpolate controls to eliminate zipper noise #3

Closed
unfa opened this issue Jul 15, 2021 · 10 comments
Closed

Interpolate controls to eliminate zipper noise #3

unfa opened this issue Jul 15, 2021 · 10 comments

Comments

@unfa
Copy link

unfa commented Jul 15, 2021

I'm currently making a video about x42-dpl and I've found that one shouldn't automate the controls if there's signal coming though, or there'll be zipper noise (if you have loud bass, it'll be very noticeable).

Do you think it'd make sense to tackle that?

BTW, I think this is an excellent limiter - simple, sounds great and has a slick, clean UI.

I'm really thankfkul you've made this plug-in, @x42. I've only recently realized it's one of the very best FOSS limiter plug-ins out there. It saves user's time and provides excellent quality.

@x42
Copy link
Owner

x42 commented Jul 15, 2021

The input-gain is filtered, however the threshold is not, default release-time applies to it though.

That is intentional: no sample must exceed the threshold, ever. If it was low-pass filtered there may be short times where the signal can exceed a given threshold.

I assume you've automated the threshold. What use-case is there for that?

@x42
Copy link
Owner

x42 commented Jul 15, 2021

I see. The issue is sparse automation. Internally the de-zipper takes place over a very short time (sample-rate dependent; at 48kHz the fade take 64 samples), but Ardour only sends a new value every cycle, here 512 samples / 48kHz = 10ms ~ 1 horizontal gird in the scope:

image

So there's a short ramp (internal dezipper) and then a longer flat period.

@unfa
Copy link
Author

unfa commented Jul 15, 2021

I actually just changed it quickly by hand while playing loud bass though and noticed artifacting.
I would very rarely automate a limiter, but at times such option is useful if I for example want to remove dynamics on a drum part for section of a composition to then bring that back.

@x42
Copy link
Owner

x42 commented Jul 15, 2021

Which parameter have you changed?

@unfa
Copy link
Author

unfa commented Jul 15, 2021

This is exactly what I've done:
https://user-images.githubusercontent.com/491704/125860451-8d8262ac-e4ec-4e67-8d06-145ef7ca38de.mp4

x42 added a commit that referenced this issue Jul 15, 2021
Previously gain fades in a rather short time (64 samples at 48kHz),
while host-automation is usually slower. This lead to stepwise
increments.
@x42
Copy link
Owner

x42 commented Jul 15, 2021

git pull :)

Sadly just missed the quarterly release cycle by less than 24hours.

@x42
Copy link
Owner

x42 commented Jul 15, 2021

now ramping up 30dB over the span of 1/2 second at 1024 / 48kHz looks like

image

One process cycle (new gain value) happens roughly every two horizontal grid units.

@unfa
Copy link
Author

unfa commented Jul 15, 2021

Alright, so the interpolation was just too fast? :D

I'll remove the mention of this in my video then to not confuse viewers.

BTW, would you like to watch my whole video before I publish it to make sure I'm not getting something completely wrong?
it should be about ~10m long total.

@x42
Copy link
Owner

x42 commented Jul 15, 2021

yes, it was too fast. Now it's an exponential approach that reaches the 90% of the target value in ~10ms.

Still I'm not too worried if a rapid +/- 40dB control value increase introduces some audible artifacts. Going from min to max in a short time is borderline insane.. still thanks for bringing this to my attention.

sure, please email the video to me.

@x42
Copy link
Owner

x42 commented Oct 12, 2021

Fixed in dpl-1 v0.5.3 -- which is part of the x42-plugins 20211012 release

@x42 x42 closed this as completed Oct 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants