Custom Compressor module in Scriptnode
-
You could also wait for the SNEX Workbench that was mentioned by Christoph recently, a lot of us DSP guys are hyped for that.
-
@iamlamprey said in Custom Compressor module in Scriptnode:
[HISEFOLDER]/hi_modules/nodes
I think the compressor files are DynamicsNode.cpp and DynamicsNode.h.
I'm seeing a
p.range.setSkewForCentre(50.0);
In the attack and release sections which might be what you're looking for, but honestly edit these at your own risk I'm just spitballing here
There's also a reference to chunkware_simple::SimpleComp which is found at
[HISEFOLDER]/hi_modules/effects/fx/chunkware_simple_dynamics which I'd also take a look at :)
Good luck!
I will check Thank you!
-
A skew factor is used to determine the center value of a knob, it has nothing to do with a kneeโฆ The stock comp seems to have a simple hard knee so it's not customizable, somewhat a very simple code. When above the threshold, it just multiply with the ratio. A simple ramp/saw test can show you the hard knee
-
@ustk said in Custom Compressor module in Scriptnode:
A skew factor is used to determine the center value of a knob, it has nothing to do with a kneeโฆ The stock comp seems to have a simple hard knee so it's not customizable, somewhat a very simple code. When above the threshold, it just multiply with the ratio. A simple ramp/saw test can show you the hard knee
I see that the Compressor module uses Simple Envelope too. Maybe the hard knee factor is directly related to this?
Also in SimpleComp.cpp file (line 70);
// simple compressor with RMS detection //------------------------------------------------------------- SimpleCompRms::SimpleCompRms() : ave_( 5.0 ) , aveOfSqrs_( DC_OFFSET ) { }
Might it be RMS detection smoothness value?
-
@Fortune RMS stands for Root Mean Square, it is a way to average the signal because you probably don't want the compressor to act on every samples that pass above the threshold. So you average it's envelope for a smoother response, nothing to do with the knee either. A knee factor is a way to have an variable ratio depending how much the signal exceeds the threshold. The RMS detection or average envelope smoothes out the compressor reaction, or makes it less erratic
-
@ustk Understood, thank you!
-
@Fortune When I first started, I did exactly what you are doing now. Look thru the code, figure out what everything does, then modify to suit your needs.
-
@dustbro I also did this only I also added in bricking my HISE multiple times :)
-
-
@dustbro said in Custom Compressor module in Scriptnode:
@Fortune When I first started, I did exactly what you are doing now. Look thru the code, figure out what everything does, then modify to suit your needs.
Do you prefer to use scriptnode comp or Hise's Dynamics FX unit (not scriptnode)?
-
@Fortune The source code is exactly the same for those 2 modules