<div dir="ltr">> <span style="font-size:13px">But [bp~] and [vcf~] are almost unusable IMHO and should probably be replaced</span><div><span style="font-size:13px">> by better filters in the future (while keeping the old ones for compatibility reasons).</span><br style="font-size:13px"></div><div><span style="font-size:13px"><br></span></div><div><span style="font-size:13px">how about bob~?</span></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-10-14 21:34 GMT-03:00 Christof Ressi <span dir="ltr"><<a href="mailto:christof.ressi@gmx.at" target="_blank">christof.ressi@gmx.at</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">There are a number of big problems with all build-in filters in Pd (expect for the raw filters).<br>
<br>
Problem number 1:<br>
[lop~] and [hip~] both use a weird (you could also say: wrong) formula for the cutoff frequency which makes them gradually converge to a fixed output state (reached by about 7000 Hz). The same is true for [vcf~] and [bp~] with Q <= 1. Therefore the actual cutoff frequency is only correct for very low frequencies and approximately gets more and more off until it doesn't move at all.<br>
<br>
Problem number 2:<br>
[bp~] and [vcf~] don't have zeros at DC and Nyquist. For low Q values, the slope is different for each side and changes with frequency.<br>
<br>
Problem number 3:<br>
the gain at the center frequency is not 1 for both [bp~] and [vcf~]. It rather depends on frequency and Q. [bp~] even has has a gain of 2 for Q <= 1!<br>
<br>
I did some FFT plots, see the attachment.<br>
<br>
I remember Miller saying somewhere that these filters are not designed for high cutoff frequencies - but even for low frequencies, the behaviour of [bp~] and [vcf~] is horrible. I can see these filters are mere approximations to reduce CPU usage.<br>
[hip~] is indeed much more efficient than iemlib's [hp1~], so it's well suited for DC removal (but not much else).<br>
[bp~] only is a little bit more CPU friendly than iemlib's [bp2~] - but the latter one has a correct and stable frequency response.<br>
[vcf~], however, is a real CPU sucker!!! 100 [vcf~] objects need 3,40% on my laptop whereas 100 of iemlib's [vcf_bp2~] only need 1,80%! But you have to consider that [vcf_bp2~] not only acts correctly but lets you set the Q at audio rate. The high CPU usage of [vcf~] seems like a bug to me...<br>
<br>
I only use the vanilla filters for the most basic stuff like DC removal and smoothing. I guess these are the use cases which Miller had in mind and that way [lop~] and [hip~] have their justification (although there should be some more warning about the 'wrong' frequency response in the help file).<br>
But [bp~] and [vcf~] are almost unusable IMHO and should probably be replaced by better filters in the future (while keeping the old ones for compatibility reasons).<br>
<br>
Christof<br>
<br>
<br>
> Gesendet: Freitag, 14. Oktober 2016 um 23:51 Uhr<br>
> Von: katja <<a href="mailto:katjavetter@gmail.com">katjavetter@gmail.com</a>><br>
> An: pd-list <<a href="mailto:pd-list@iem.at">pd-list@iem.at</a>><br>
> Betreff: [PD] could vanilla borrow iemlib's hi pass filter recipe?<br>
<div><div class="h5">><br>
> In pd 0.47.1 [hip~] is still not perfect. Attenuation at cutoff is not<br>
> constant over the frequency range: -6 dB with cutoff=SR/8, -3 dB with<br>
> cutoff=SR/4, 0 DB with cutoff=SR/2. In contrast, iemlib's [hp1~] has<br>
> -3 dB at cutoff consistently.<br>
><br>
> Could vanilla pd implement iemlib's hipass filter recipe? I don't know<br>
> if the license also covers the math. Documentation in<br>
> <a href="https://git.iem.at/pd/iemlib/tree/master" rel="noreferrer" target="_blank">https://git.iem.at/pd/iemlib/<wbr>tree/master</a> points to external literature<br>
> for part of the math (bilinear transform). I've implemented the recipe<br>
> with vanilla objects for comparison, see attached.<br>
><br>
> Katja<br>
</div></div>> ______________________________<wbr>_________________<br>
> <a href="mailto:Pd-list@lists.iem.at">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/<wbr>listinfo/pd-list</a><br>
> <br>______________________________<wbr>_________________<br>
<a href="mailto:Pd-list@lists.iem.at">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/<wbr>listinfo/pd-list</a><br>
<br></blockquote></div><br></div>