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

2008-09-30 Thread Hans-Christoph Steiner
Sure, that wouldnt' be too hard with Tcl/Tk. Data structures would probably not work so well. Ever looked at Kzrysztof's [Scope~]? It's in cyclone. .hc On Sep 15, 2008, at 7:21 PM, Martin Peach wrote: Any chance of an interactive implementation like zplane in max/msp? Looks like it

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

2008-09-21 Thread Damian Stewart
Charles Henry wrote: There is no zero at z=0. I'm not sure about this one--but it seems as though it's impossible to have a zero at z=0? [shrug] i don't even know what a 'zero' is. and that's after reading several different webpages that attempted to explain biquad filtering to me. i just

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

2008-09-21 Thread Claude Heiland-Allen
Charles Henry wrote: z^-1 is the unit delay operator so, Y(z)=z*X(z) means y(n) = x(n+1) while this is not impossible... it's non-causal. For real-time filtering, you can't already know the sample that comes next. I've been thinking about it for a little while now. I hope we can

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

2008-09-21 Thread martin brinkmann
Damian Stewart wrote: [shrug] i don't even know what a 'zero' is. a (probably a little too simple) explanation: a zero is a valley. its depth is 0 on its deepest point. a pole is a very (very,very,...) high mountain. both things exist on the complex plane (just a plain, where all points have 2

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

2008-09-21 Thread Steffen Juul
On 21/09/2008, at 16.02, Charles Henry wrote: For real-time filtering, you can't already know the sample that comes next. Isn't that what windows (=(?) blocks in Pd-lingo) is for? ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management

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

2008-09-20 Thread Damian Stewart
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

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

2008-09-20 Thread Charles Henry
On Sat, Sep 20, 2008 at 7:09 AM, Damian Stewart [EMAIL PROTECTED] wrote: however, there's some weird gain thing going on. check out the attached: notice how the left channel output (biquad~ output) drops gain, while the right channel output (handmade) does not. any ideas how to fix this?

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

2008-09-16 Thread Frank Barknecht
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

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

2008-09-15 Thread Frank Barknecht
Hallo, martin brinkmann hat gesagt: // martin brinkmann wrote: Claude Heiland-Allen wrote: cpole~ czero~ rpole~ rzero~ have signal inlets for filter control, so i assume sufficiently smooth changes will not cause clicks that is true, but it looks like no one has made a (usual

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

2008-09-15 Thread Claude Heiland-Allen
Frank Barknecht wrote: Hallo, martin brinkmann hat gesagt: // martin brinkmann wrote: Claude Heiland-Allen wrote: cpole~ czero~ rpole~ rzero~ have signal inlets for filter control, so i assume sufficiently smooth changes will not cause clicks that is true, but it looks like no one has

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

2008-09-15 Thread Claude Heiland-Allen
Claude Heiland-Allen wrote: Frank Barknecht wrote: Hallo, martin brinkmann hat gesagt: // martin brinkmann wrote: Claude Heiland-Allen wrote: cpole~ czero~ rpole~ rzero~ have signal inlets for filter control, so i assume sufficiently smooth changes will not cause clicks that is true, but

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

2008-09-15 Thread Damian Stewart
Claude Heiland-Allen wrote: http://ccrma.stanford.edu/~jos/filters/BiQuad_Section.html you need to munge the biquad coefficients from the form expected by Pd's biquad~ to the form of the difference equation at the bottom - should just be some scaling and sign stuff. then you can

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

2008-09-15 Thread martin brinkmann
Frank Barknecht wrote: that is true, but it looks like no one has made a (usual lp,hp,etc.) filter with these objects until now. Except Miller. [1] you are right, there are some usual filters made with pole/zero objects, the shelving and peaking ones, a nonresonant lp and a bp, iirr. and the

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

2008-09-15 Thread Damian Stewart
Charles Henry wrote: wow - this is a bit above my head at the moment. i can go from equations in C to pd, but only if i have the equations themselves to look at... It's easy. I've done it half a dozen times. For example, http://lists.puredata.info/pipermail/pd-list/2007-01/046315.html

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

2008-09-15 Thread Charles Henry
On Mon, Sep 15, 2008 at 7:49 AM, Damian Stewart [EMAIL PROTECTED] wrote: dude, that's not 'easy'. i can barely remember how the quadratic formula works with pen and paper, let alone in C, and let alone to the point where i could confidently transfer from C to Pd. i'd have no idea where the bugs

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

2008-09-15 Thread Frank Barknecht
Hallo, Charles Henry hat gesagt: // Charles Henry wrote: On Mon, Sep 15, 2008 at 7:49 AM, Damian Stewart [EMAIL PROTECTED] wrote: dude, that's not 'easy'. i can barely remember how the quadratic formula works with pen and paper, let alone in C, and let alone to the point where i could

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

2008-09-15 Thread Frank Barknecht
Hallo, Frank Barknecht hat gesagt: // Frank Barknecht wrote: 1*z^2 - fb1*z^1 - fb2 = 0 zb = (-fb1 +- sqrt(fb1*fb1 - 4*fb2)) / 2 Sorry, the one above is wrong, of course. Given the minus-signs in the original transfer formula it should be: zb = (fb1 +- sqrt(fb1*fb1 + 4*fb2)) / 2 if I'm

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

2008-09-15 Thread Damian Stewart
Frank Barknecht wrote: Hallo, Frank Barknecht hat gesagt: // Frank Barknecht wrote: 1*z^2 - fb1*z^1 - fb2 = 0 zb = (-fb1 +- sqrt(fb1*fb1 - 4*fb2)) / 2 Sorry, the one above is wrong, of course. Given the minus-signs in the original transfer formula it should be: zb = (fb1 +-

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

2008-09-15 Thread Martin Peach
Any chance of an interactive implementation like zplane in max/msp? Looks like it could be done with data structures or gem... Martin attachment: zplanescreenshot.PNG___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -

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

2008-09-15 Thread Charles Henry
On Mon, Sep 15, 2008 at 9:39 AM, Damian Stewart [EMAIL PROTECTED] wrote: Frank Barknecht wrote: Hallo, Frank Barknecht hat gesagt: // Frank Barknecht wrote: 1*z^2 - fb1*z^1 - fb2 = 0 zb = (-fb1 +- sqrt(fb1*fb1 - 4*fb2)) / 2 Sorry, the one above is wrong, of course. Given the minus-signs in

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

2008-09-15 Thread Frank Barknecht
Hallo, Damian Stewart hat gesagt: // Damian Stewart wrote: Frank Barknecht wrote: Hallo, Frank Barknecht hat gesagt: // Frank Barknecht wrote: 1*z^2 - fb1*z^1 - fb2 = 0 zb = (-fb1 +- sqrt(fb1*fb1 - 4*fb2)) / 2 Sorry, the one above is wrong, of course. Given the minus-signs in the

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

2008-09-15 Thread Charles Henry
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.