Hey!
I have a kind of problem working with BPF object.
i do not understand why but with some rq and freq, the signal gets really glitchy. I tried to whatch out for the amp and gain problems.
SynthDef(\prova, {|freq=9000, rq, mul, amp, mix = 0|
var wet, dry;
dry = PinkNoise.ar()!2;
wet = BPF.ar(dry, freq.poll, rq.poll, rq.reciprocal.sqrt) * amp;
Out.ar(0, wet)
}).add
This is the synth def, and then
x = Synth.new(\prova,[
\freq, rrand(120, 10000),
\rq, rrand(0.001, 20),
\amp, 1
]
);
I noticed that somehow, somethimes, i get glitches…
Some rq values I had glitches were: 2.92462; 19.9483; 5.23484; 6.43507 (even though with 6.25098 i did not have any problem)… I am reallly getting confused…
EDIT: this happens only with numers >1.
By the standard definition of Q, sqrt(1/2) is the magic number – for resonant LPF/HPF, this is the Q value corresponding to no resonance, or an ideally smooth rolloff. When Q is lower than this, you’re asking for “flatter than flat” and the math does blow up if the frequency is too close to 0 or Nyquist.
SC uses reciprocal-of-Q, so that magic number becomes sqrt(2). If rq > sqrt(2), you’re in questionable territory.
High rq means a very wide bandwidth, meaning that a BPF will have very little effect on the output anyway. So my suggestion is to reduce the upper bound for rq, to 1 or 1.4.
hjh
Thanks a lot jamshart!
Yesterday I ended up reducing rq values to 1, now I just tried with 2.sqrt and it works just fine; I was just not understanding why, and probably I was a little bit confused in my head initially, because of the rq instead of Q!
Thanks again!