K1 - RMS compressor

Post any examples or modules that you want to share here
User avatar
Spogg
Posts: 3368
Joined: Thu Nov 20, 2014 4:24 pm
Location: Birmingham, England
Contact:

Re: K1 - Pro Grade compressor (?)

Post by Spogg »

Actually I never used the Delay Compensation prim but since the prim's Integer input is in samples couldn’t that be set in relation to the current look-ahead delay time, automatically?
I don't know if it can be changed in a VST in real time but you could try it...

Cheers

Spogg
Rocko
Posts: 186
Joined: Tue May 15, 2012 12:42 pm

Re: K1 - Pro Grade compressor (?)

Post by Rocko »

Hey...

Going back to the 'limiter' topic.
As a reminder, the general recommendation is to add a limiter at the end of the process chain, to avoid glitches and over-peak transients caused by the algorithm.

After doing that, I auditioned again the K1 compressor, and once it over-peaks - it starts clipping the sound (obvious).

Since this is an attempt to mimic and learn about 'pro grade' compressors, I couldn;t have not noticed that those compressors do not limit (Ableton live built in comp, Waves C1, Fabfilter ProC, etc.). They let the signal pass even if over peaked and rely on the fact that at the end of the DAW's process chain there is a peak limiter.

So, I've decided to leave the limiter out of this design.

Any comments about that? Your inputs are valuable.

Rocko
Rocko
Posts: 186
Joined: Tue May 15, 2012 12:42 pm

Re: K1 - RMS compressor

Post by Rocko »

HI all,

At the time I had started two posts regarding 'RMS compressor' (the current post) and 'PEAK compressor':
http://www.dsprobotics.com/support/viewtopic.php?f=3&t=6274

They had received many views and comments. Some very interesting comments came from Martin Vicanek side (thanks) especially regarding the 'signal flow' of the 'side chain' (gain calculation) as well as the 'smoothing/filter' mechanism.

Side Chain Flow:

Attached is another version of an RMS compressor. In this version the 'side chain' signal flow is more common (like Martin had suggested).

Ths signal (within the side chain) flow:
--> Energy Detector (RMS calculation) --> Time based smoothing (Attack and release) --> Lin2Db --> Transfer function -- Db2Lin
(see attached image).

Smoothing Filter Mechanism:

The 'smoothing' mechanism is a simple first order LPF which (as discussed in this post http://www.dsprobotics.com/support/viewtopic.php?f=3&t=6274 ) far from ideal.
I still have doubts about this issue.
For instance, in Abelton Live's compressor (and other many examples), there are three 'latency settings': 0ms, 1ms, 10ms.
For the 0ms - one can only think of an IIR smoothing mechanism running inside (1st or higher order)?
Is this correct?

I agree that if latency (look ahead) is allowed the FIR (moving average) followes and therfore 'sounds' much better.
But what is the case of ZERO latency ?
Attachments
K_RMS.fsm
(22.24 KiB) Downloaded 1175 times
K_RMS.jpg
K_RMS.jpg (79.65 KiB) Viewed 14493 times
Rocko
Posts: 186
Joined: Tue May 15, 2012 12:42 pm

Re: K1 - RMS compressor

Post by Rocko »

One more topic:

I thought I would need a de-normalizer with the 1st order smoothing filter, so I'm adding and subtractin 1e-09 :

Code: Select all

//if (in > out) then 'attack' else 'release'
c = release + (in > out) & (attack - release);
out = c * in + (1-c) * out + 1e-09 - 1e-09;


Does this make any sense ?
Post Reply