[bug] Filter makes noise all by itself
-
@Frankbeat Thanks for confirming.
-
@d-healey You're welcome! Now I had the chance to do a little for you finally :-D
-
@Christoph-Hart Any chance of getting a fix for this? I just had a user report the issue on a Windows system.
-
@d-healey Does it happen with all filter types or just some of them?
-
@ustk I just tested with the snippet from my first post and it only happens with the Peak EQ
-
@d-healey The filter coefficients are exploding which puts the filter in an unstable state (auto-oscillation)
The value seems to be linear instead of log (which should be the case for the Gain), this might be why the filter explodes at 0, but it's hard to confirm.
Have you tried to recompile using this pre-proc
HISE_USE_SVF_FOR_CURVE_EQ
?
Though I don't know if it impacts the Filter Peak EQ, it might only be for the Parametric EQ module :man_shrugging:EDIT: Apparently it is only used in the Parametric EQ to replace the biquad with a state variable filter...
-
@d-healey Confirmed, 0 creates a gain to -100dB which makes the filter unstable. I found where it happens, now it's a matter of finding the right conversion...
-
@d-healey Alright I got it to work.
Now the question is, what is the range we want?
With the fix, it applies a -18dB to 0dB gain (cc val 0 to 127)
meaning that with these Gain values we get the associated modulation result below:- Gain set to 0 -> cc val 0 to 127 -> -18dB to 0dB
- Gain set to +18 -> cc val 0 to 127 -> 0dB to +18dB
- Gain set to -18 -> cc val 0 to 127 -> -36dB to -18dB
So I wonder if CC val 64 shouldn't be the middle value instead, so the range becomes
- Gain set to 0 -> cc val 0 to 127 -> -18dB to18dB
- Gain set to +18 -> cc val 0 to 127 -> 0dB to +36dB
- Gain set to -18 -> cc val 0 to 127 -> -36dB to 0dB
So the modulation always adds -18 to 18 to the value the Gain is already set to, a bipolar-like modulation but around 64...
What do you think? -
-
The best option here (which I thought it was already) is that it applies the gain modulation as simple multiplication on the dB value - so if you have set it to +8 dB, the modulation goes from 0 to +8 and if you set it to -12dB, it goes from 0 to -12dB with an inverted curve (so that a modValue == 0 still means 0dB).
I think I've never used the gain modulation on a filter...
-
@Christoph-Hart Alright, trying this method! :)
-
@Christoph-Hart @d-healey Fixed and pushed
-