wwmm / easyeffects

Limiter, compressor, convolver, equalizer and auto volume and many other plugins for PipeWire applications
GNU General Public License v3.0
6.4k stars 267 forks source link

Feature request: Alternative limiter plugin addition (x42-dpl) #1645

Open XanderBaatz opened 2 years ago

XanderBaatz commented 2 years ago

The current limiters in EasyEffects are quite good, but it lacks a simple brickwall limiter. The Maximizer from zam-plugins does exactly that and it is included, however the latency that's introduced with Zam's Maximizer is a bit too much for certain realtime/live use-cases. The LSP limiter is also quite good, especially when you want to smoothen/flatten out signal before limiting, but with oversampling (which is basically a must if you want a cleaner, but louder output) you can actually surpass the set threshold and clip the audio.

Introducing the x42-dpl (digital peak limiter) with dBFS and dBTP limiting. It's dead simple, clean and open source (duh). The functionality is similar to that of Zam's Maximizer, but without the latency and loudness normalization. Like the Maximizer it only has three controls (excluding the dBFS/dBTP switch).

As a reference, unfa even did a video on limiters, and the x42-dpl greatly impressed him: https://youtu.be/xinY-4eusYM

He also did a video on the x42-dpl plugin: https://youtu.be/IYwaZTdlzk4

I would love to take on this task myself and attempt to add this plugin into EasyEffects, but I'm a C++ rookie and I've just started a few weeks ago, so at the time I'm not competent enough.

wwmm commented 2 years ago

I have to think about this. While I understand this may be more interesting for people needing a "brickwall limiter" having multiple filters for the "same task" isn't really the intention in EasyEffects.

Digitalone1 commented 2 years ago

We could add it in place of the current Maximizer, but since Maximizer is similar and it's also good (I saw unfa video, it's still good even if he prefers x42-dpl) I don't think it's worth replacing it (maybe people used to it will claim here to reinsert it). The only downside of the Maximizer is the latency, but since EasyEffects is a general purpose application, it's not a big issue.

wwmm commented 2 years ago

We could add it in place of the current Maximizer, but since Maximizer is similar and it's also good

I did not have time to watch the youtube video yet. The maximizer also can be used to change the dynamic range in a way that usually limiters can not do. It does not look like x42-dpl also does this.

LebedevRI commented 2 years ago

Passing by, just ignore.

a simple brickwall limiter x42-dpl

Without watching videos, but after reading the manuals, it is still not obvious to me how is is technically/effectively different/better from the current limiter with lookahead/attack/release set to the minimal possible values, which effectively also results in ~no latency? Just the fact there is no lookahead and the attack time is instant? (=artifacts)

Digitalone1 commented 2 years ago

Wait, I gave a look at the manual and it says:

Latency is 1.2 ms, rounded up to the nearest multiple of 8, 16 or 32 samples depending on sampling frequency. This amounts to 56 samples at 44.1 kHz, 64 samples at 48 kHz, and twice those values for 88.2 or 96 kHz.

So it has latency, only shorter than other limiters.