[PD] biquad~ with elementary filters [was: Re: dinosaurs ...]

Frank Barknecht fbar at footils.org
Tue Sep 16 09:36:56 CEST 2008

Hallo Chuck,

thank you soo much! All is clear now. It seems I already was close or
at least on the right path. The check for real roots is very nice as
well, I had a bad feeling ignoring them completely and just crossing
fingers in my patch.

Now it isn't difficult anymore to replace the message calculations
with signal objects and make a biquad with all signal inlets, for
example for Damian's dinosaurs abstractions, that are are using the
Biquad Cookbook [1] formulas for various filter types. 

I wonder if dealing with the cookbook includes unnecessary
conversions? The cookbook calculates parameters for the transfer
function (ff1, ff2, ...) from frequency, gain and Q settings, which
can be used in [biquad~] directly, but must be converted to poles and
zeros for elementary filters. Calculating the poles and zeros directly
from frequency, gain and Q should be much simpler, wouldn't it? An
Elementary-Filter-Cookbook would be a nice project.

[1] http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt

Thanks again.

Charles Henry hat gesagt: // Charles Henry wrote:

> There's two problems with your patch.
> There's a sign error in one of the expr which calculates the imaginary value.
> The second problem (in the same expr) was a * vs / error ( you put "/
> 2*$f1" instead of / 2 / $f1).  Does that make a difference?
> Anyway, I jiggled with it enough to get it right.  Also, I put two
> other expr that check to make sure the poles / zeros are in fact
> complex rather than real.
> Wait a minute.... how about just making some long expr that will sort
> it out correctly and supply the zeros and poles for the real case as
> well.  I'll add that too.
> Chuck
> p.s.  I had some trouble following your expr syntax.  It makes me
> wonder if there's something I don't know about expr?

 Frank Barknecht                                     _ ______footils.org__

More information about the Pd-list mailing list