RH BiQuad

BiQuad Multimode Filter module

– Types: LP, HP, BPF1 (new!), BPF2, Notch, Peak, Loshelf, Hishelf
– BPF1: peak gain = Q, BPF2: peak gain = zero.
– Cascade: up to 8x (new!)
– Freq: 20 – 20.000Hz
– Q: 0 – 10v
– PeakGain: -30dB – 30dB
– 64bit internal processing
– CPU usage (32bit): for LP 12dB about 0.17% (streaming)(Core i5-2450m).
– CPU usage (64bit): for LP 12dB about 0.70% (streaming)(Core i5-2450m).

– Gain compensation: use the properties screen to subtract a value from the Q, per stage.
This way it allows the Q range on the slider to stay 0 – 10v, and stop/contain the peak overload.

Example values to subtract from Q ( closer to 0 means more overload ):
– Gaincomp2: 6.5
– GainComp3: 7.7
– GainComp4: 8.2
– etc..

Todo:
– Code optimising.
– Maybe split the Coefficients from the Engine ( like CK his BiQuad system ).

Download

Source 32bit: RH-BiQuad
Source 64bit: RH-BiQuad-64

Credits:
– Andrew aka Ichad.c (blog)
– Nigel Redmon @ Earlevel.com (used his implementation).
– Chris Townsend @ MusicDSP.org.
– Peter (Scoofy) Schoffhauser, used his musicDSP post for the coefficient calc of the BPF1 type.

RH-BiQuad

 

 

 

 

Update 19-9-2015:
– Cascade up to 8x
– Added additionkal BPF type ( BPF1 ).
– Added manual “gain compensation”.

Update 10-2-2014:
– Added Adaptive processing.
Credits for this enhancement go out to Andrew @ SESDK usergroup.
He offered his help to implement this, fixed my Many2one problem in the process.
This lowers CPU usage a lot while an input parameter is not streaming.

Update 6-2-2014:
– Downscaled Q a bit.
– Added Cascading: 12,24,36,48dB

Update 5-2-2014:
– Changed some compiler settings, speeds up the module slightly.
– Low value limit set on the Q parameter, to prevent the filter crashing.
– Made some code improvements, and small fixes ( thanks Andrew @ Yahoo Usergroup ).
– Removed the fake blockmode, it didn’t work as planned while using a Manytoone.
When I come up with a fix i’ll reintroduce it..as it does save quite a lot on CPU usage.
– Sleepmode corrected.