<div dir="ltr">I've done a nice job plotting the frequency response of both bp~ and vcf~ and exposing their formulas, <div><br></div><div>see <a href="https://github.com/porres/Live-Electronics-Tutorial/tree/v1.0-beta-17/Examples/Vol.2/Part.05-Filters(Basic)/22-Filters.types/2.Filter.Types/2.Resonant/2.Bandpass">https://github.com/porres/Live-Electronics-Tutorial/tree/v1.0-beta-17/Examples/Vol.2/Part.05-Filters(Basic)/22-Filters.types/2.Filter.Types/2.Resonant/2.Bandpass</a></div><div><br></div><div>and <a href="https://github.com/porres/Live-Electronics-Tutorial/tree/v1.0-beta-17/Examples/Vol.2/Part.09-Filters-Reverb-Karplus/31-Filters(Advanced)/3.Z-plane">https://github.com/porres/Live-Electronics-Tutorial/tree/v1.0-beta-17/Examples/Vol.2/Part.09-Filters-Reverb-Karplus/31-Filters(Advanced)/3.Z-plane</a></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Em dom., 8 de mar. de 2020 às 19:59, Miller Puckette via Pd-list <<a href="mailto:pd-list@lists.iem.at">pd-list@lists.iem.at</a>> escreveu:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> <br>
> Measuring vcf~ with a Q of 5 and noise~ I do get different results<br>
> depending on the center frequency. For 100Hz the filter output is<br>
> 26dBRMS softer than its input signal, at 1000Hz it is 16dBRMS softer,<br>
> and at 10000Hz it is 5dB softer. Raising the Q to 15 softenes all three<br>
> levels accordingly.<br>
>  <br>
Aha - yes, my (Q+!) fix aims to allow changing Q without much affecting<br>
the perceived loudness, but doesn't account for varying the center<br>
frequency.<br>
<br>
To loudness-balance filtered white noise, you'd want to aim to get the<br>
same signal power as the noise has in a one-bark-wide band.  Above 500Hz<br>
this increases linearly with frequency.  So you'd want a 10-dB increase<br>
in the signal for a 10x increase in center frequency.  However, for frequencies<br>
below 500hz you'd want the result to be roughly independent of center<br>
frequency.  So what you're seeing looks OK except that it should be corrected<br>
below 500 Hz.<br>
<br>
OTOH if you want to balance with the whole of the white-spectrum noise (not<br>
just the slice that's in your local bark) then you have to go look at<br>
equal-loudness coutours (since in that case we're comparing loudnesses of<br>
sounds at different frequencies).  At that point I just give up and use my<br>
ears :)<br>
<br>
> > Me, I use Q+1 to normalize filtered white noise.  <br>
> Is that the way how you do it in vcf~'s code or how you would do it to<br>
> normalize after bp~?<br>
> <br>
That's how I normalize in the patch.  Example (but ignore the Hilbert stuff):<br>
<br>
<a href="http://msp.ucsd.edu/syllabi/171.20w/patches/7.e.graphing-resonant-filter.pd" rel="noreferrer" target="_blank">http://msp.ucsd.edu/syllabi/171.20w/patches/7.e.graphing-resonant-filter.pd</a><br>
<br>
> > But theory would suggest<br>
> > the output power should be proportional to bandwidth (= f/Q) - with the<br>
> > bandwidth limited to Nyquist frequency - so one would divide by<br>
> > sqrt(min(f/Q, SR/2)) . I'll stick with multiplying by Q+1 for myself :)<br>
> I can't seem to get around the fact that sqrt(f/Q) changes with center<br>
> frequency, and Q+1 does not. Is that part of the simplification???<br>
> <br>
> Shouldn't the bandwidth of the filter let the same signal enery pass<br>
> regardless of center frequency?<br>
> <br>
Yeah, depends on whether you want to match power ( roughly dividing by<br>
sqrt(f/Q) for "reasonable" f/Q values) or "sound good" (as I think Q+1 does<br>
fairly well).<br>
<br>
Also, the result for white noise isn't necessarily representative of what you<br>
get filtering real signals - all sorts of things happen then.<br>
<br>
cheers<br>
Miller<br>
> Sorry if I skipped this part of my DSP classes...<br>
> <br>
> thanks!<br>
> P<br>
> <br>
> <br>
> <br>
> _______________________________________________<br>
> <a href="mailto:Pd-list@lists.iem.at" target="_blank">Pd-list@lists.iem.at</a> mailing list<br>
> UNSUBSCRIBE and account-management -> <a href="https://lists.puredata.info/listinfo/pd-list" rel="noreferrer" target="_blank">https://lists.puredata.info/listinfo/pd-list</a><br>
<br>
<br>
<br>
_______________________________________________<br>
<a href="mailto:Pd-list@lists.iem.at" target="_blank">Pd-list@lists.iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -> <a href="https://lists.puredata.info/listinfo/pd-list" rel="noreferrer" target="_blank">https://lists.puredata.info/listinfo/pd-list</a><br>
</blockquote></div>