hello,
i know there is a lot's of filter externals available for pd, but i'd like to use some using rpole~ / cpole~ etc. my main motiviations are :
as there is not a lot's of exemples, i'd like to know if anyone used this objects to make good filter abstraction. or anyone have references in order to disign filter? (i'm looking for a low pass resonant filter by exemple)
thanks Cyrille
cyrille henry wrote:
or anyone have references in order to disign filter?
http://crca.ucsd.edu/~msp/techniques/latest/book-html/node139.html http://www-users.cs.york.ac.uk/~fisher/mkfilter/ http://ccrma.stanford.edu/~jos/filters/
Hope these help,
Hello Claude,
thanks, i did not knew the reference 2. i did not find in any of them a low pass resonant filter but i'll have to investigate.
thanks, cyrille
Claude Heiland-Allen a écrit :
cyrille henry wrote:
or anyone have references in order to disign filter?
http://crca.ucsd.edu/~msp/techniques/latest/book-html/node139.html http://www-users.cs.york.ac.uk/~fisher/mkfilter/ http://ccrma.stanford.edu/~jos/filters/
Hope these help,
Claude
cyrille henry wrote:
i did not find in any of them a low pass resonant filter but i'll have to investigate.
I made a (non-scientific, but sounds ok to my (bad) ears...) resonant low-pass filter, see attached. two zeros at 1/2 sampling rate, plus two poles (conjugate pair) that can be moved about controlled by audio input. The gain formula comes from Miller's book, iirc, and I probably misused it, but it seems to work ok.
thanks, cyrille
Thanks,
http://claudiusmaximus.goto10.org
#N canvas 0 0 457 569 12; #X obj 31 54 inlet~; #X obj 147 54 inlet~; #X obj 326 57 inlet~; #X text 34 22 audio; #X text 138 22 frequency; #X text 314 27 resonance; #X obj 29 301 cpole~; #X obj 29 351 cpole~; #X obj 29 406 czero~; #X obj 28 445 czero~; #X obj 175 109 samplerate~; #X obj 175 136 * 0.5; #X obj 175 84 bang~; #X obj 148 165 /~ 1; #X obj 97 378 sig~ -1; #X obj 156 411 sig~ 0; #X obj 327 117 clip~ 0 0.999; #X obj 29 535 outlet~; #X obj 41 273 sig~ 0; #X obj 29 482 *~; #X obj 147 192 expr~ $v2*cos($v1) ; $v2*sin($v1) ; $v2*-sin($v1) ; (1.0-$v2)*(1.0-$v2+$v1); #X connect 0 0 6 0; #X connect 1 0 13 0; #X connect 2 0 16 0; #X connect 6 0 7 0; #X connect 6 1 7 1; #X connect 7 0 8 0; #X connect 7 1 8 1; #X connect 8 0 9 0; #X connect 8 1 9 1; #X connect 9 0 19 0; #X connect 10 0 11 0; #X connect 11 0 13 1; #X connect 12 0 10 0; #X connect 13 0 20 0; #X connect 14 0 8 2; #X connect 14 0 9 2; #X connect 15 0 9 3; #X connect 15 0 8 3; #X connect 16 0 20 1; #X connect 18 0 6 1; #X connect 19 0 17 0; #X connect 20 0 6 2; #X connect 20 0 7 2; #X connect 20 1 6 3; #X connect 20 2 7 3; #X connect 20 3 19 1;
#N canvas 89 39 538 452 12; #X obj 205 297 rlop~; #X obj 189 381 dac~; #X obj 78 237 hip~ 10; #X obj 204 325 *~ 0.25; #X obj 223 164 mtof~; #X obj 222 139 vline~; #X obj 297 42 metro 1000; #X obj 297 21 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X msg 222 113 120 10 , 48 490 10 , 84 500 500; #X obj 15 200 phasor~; #X obj 77 200 phasor~; #X obj 140 202 phasor~; #X obj 77 83 random 25; #X obj 77 135 mtof; #X obj 77 109 + 36; #X obj 76 261 *~ 0.5; #X obj 14 170 / 2.01; #X obj 297 256 vline~; #X obj 297 197 metro 125; #X msg 297 226 0.99 5 , 0.95 120 5; #X obj 139 173 * 1.01; #X text 313 285 resonance; #X text 313 141 frequency; #X text 16 262 sound; #X connect 0 0 3 0; #X connect 2 0 15 0; #X connect 3 0 1 0; #X connect 3 0 1 1; #X connect 4 0 0 1; #X connect 5 0 4 0; #X connect 6 0 8 0; #X connect 6 0 12 0; #X connect 6 0 18 0; #X connect 7 0 6 0; #X connect 8 0 5 0; #X connect 9 0 2 0; #X connect 10 0 2 0; #X connect 11 0 2 0; #X connect 12 0 14 0; #X connect 13 0 10 0; #X connect 13 0 16 0; #X connect 13 0 20 0; #X connect 14 0 13 0; #X connect 15 0 0 0; #X connect 16 0 9 0; #X connect 17 0 0 2; #X connect 18 0 19 0; #X connect 19 0 17 0; #X connect 20 0 11 0;
Hello Claude,
this is very nice.
changing resonnance does affect the amplitude, so it's quite hard to use this parameter. so i think it's possible to make a better one, but i'll use it for now.
thanks Cyrille
Claude Heiland-Allen a écrit :
cyrille henry wrote:
i did not find in any of them a low pass resonant filter but i'll have to investigate.
I made a (non-scientific, but sounds ok to my (bad) ears...) resonant low-pass filter, see attached. two zeros at 1/2 sampling rate, plus two poles (conjugate pair) that can be moved about controlled by audio input. The gain formula comes from Miller's book, iirc, and I probably misused it, but it seems to work ok.
thanks, cyrille
Thanks,
Claude
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
hi cyrille
i am glad to hear that someone has similar thoughts. i would love to have some filter abstractions based on pd's built-in elementary filters. however, my understanding is far too limited to create them myself.
i once ported and adapted a peakfilter from millers examples into pdmtl abs (are they now part of pd-extended, actually?). it is called
[fx.filter.peak.sig~]
the sig stands for audio frequency inlet and audio q inlet. especially modulating the q parameter with a signal is fun.
to hear it in action (besides a lot of other modulations): http://www.netpd.org/sessions/2007-08-17_nordatlantik.mp3
roman
On Fri, 2007-11-23 at 20:54 +0100, cyrille henry wrote:
hello,
i know there is a lot's of filter externals available for pd, but i'd like to use some using rpole~ / cpole~ etc. my main motiviations are :
- i don't like using externals
- this object allow an audio control of the cutoff frequency
as there is not a lot's of exemples, i'd like to know if anyone used this objects to make good filter abstraction. or anyone have references in order to disign filter? (i'm looking for a low pass resonant filter by exemple)
thanks Cyrille
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
___________________________________________________________ Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: http://mail.yahoo.de
yeah roman, that peak filter is lush.
has anyone else noticed that the rpole~ / cpole~ filters use quite a bit of cpu?
hard off a écrit :
yeah roman, that peak filter is lush.
has anyone else noticed that the rpole~ / cpole~ filters use quite a bit of cpu?
if you use other software, i think good quality filter does also use lot's of cpu. i accept to use more cpu if it does increase audio quality.
cyrille
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
hello Roman,
it's a nice filter.
here is a butterworth low pass filter that came with exemple H13. i just change expr to expr~ to allow an audio control of the cutoff frequency.
cyrille
Roman Haefeli a écrit :
hi cyrille
i am glad to hear that someone has similar thoughts. i would love to have some filter abstractions based on pd's built-in elementary filters. however, my understanding is far too limited to create them myself.
i once ported and adapted a peakfilter from millers examples into pdmtl abs (are they now part of pd-extended, actually?). it is called
[fx.filter.peak.sig~]
the sig stands for audio frequency inlet and audio q inlet. especially modulating the q parameter with a signal is fun.
to hear it in action (besides a lot of other modulations): http://www.netpd.org/sessions/2007-08-17_nordatlantik.mp3
roman
On Fri, 2007-11-23 at 20:54 +0100, cyrille henry wrote:
hello,
i know there is a lot's of filter externals available for pd, but i'd like to use some using rpole~ / cpole~ etc. my main motiviations are :
- i don't like using externals
- this object allow an audio control of the cutoff frequency
as there is not a lot's of exemples, i'd like to know if anyone used this objects to make good filter abstraction. or anyone have references in order to disign filter? (i'm looking for a low pass resonant filter by exemple)
thanks Cyrille
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
___________________________________________________________ Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: http://mail.yahoo.de
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On Nov 23, 2007 9:54 PM, cyrille henry cyrille.henry@la-kitchen.fr wrote:
hello,
i know there is a lot's of filter externals available for pd, but i'd like to use some using rpole~ / cpole~ etc.
I like playing with raw filters too. I don't have any references to add to Claude's, and really for me it's more a matter of getting through the references I already have. Miller's book has a very good explanation, lots of graphs, lots of explanations for the rotation and complex number stuff, but still lots of detail. I've also used the graphing abstractions in H14.all.pass.pd, substituting rpole~ et al to see the frequency and phase response as I change the values. I also found the [fexpr~] object educational. I wonder what more knowledgeable people will say to this: my impression has been that, as interesting as filter design is, and although it's possible and not terribly difficult to learn to understand it well, it is not something that will necessarily become intuitive with practice. That, to design specific filters, it will still be a matter of performing series of calculations to know what values to use, rather than "sort of knowing" what to put. Thoughts?
-Chuckk
On Nov 23, 2007 9:54 PM, cyrille henry cyrille.henry@la-kitchen.fr wrote:
hello,
i know there is a lot's of filter externals available for pd, but i'd like to use some using rpole~ / cpole~ etc.
I like playing with raw filters too. I don't have any references to add to Claude's, and really for me it's more a matter of getting through the references I already have. Miller's book has a very good explanation, lots of graphs, lots of explanations for the rotation and complex number stuff, but still lots of detail. I've also used the graphing abstractions in H14.all.pass.pd, substituting rpole~ et al to see the frequency and phase response as I change the values. I also found the [fexpr~] object educational. I wonder what more knowledgeable people will say to this: my impression has been that, as interesting as filter design is, and although it's possible and not terribly difficult to learn to understand it well, it is not something that will necessarily become intuitive with practice. That, to design specific filters, it will still be a matter of performing series of calculations to know what values to use, rather than "sort of knowing" what to put. Thoughts?
Yes, master the Z-Transform (which is not hard, really). :-)
regards, PP
-Chuckk
-- http://www.badmuthahubbard.com
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
I remember there were many filter abstractions based on biquad~s. I thought they were in the iemabs directory, but I can't find them. With the biquad based filters, you can put them in a [block~ 1] abstraction and modify the cutoff/center frequency at audio rate.
Chuck
On Nov 23, 2007 1:54 PM, cyrille henry cyrille.henry@la-kitchen.fr wrote:
hello,
i know there is a lot's of filter externals available for pd, but i'd like to use some using rpole~ / cpole~ etc. my main motiviations are :
- i don't like using externals
- this object allow an audio control of the cutoff frequency
as there is not a lot's of exemples, i'd like to know if anyone used this objects to make good filter abstraction. or anyone have references in order to disign filter? (i'm looking for a low pass resonant filter by exemple)
thanks Cyrille
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
hello Ioannes
IOhannes m zmölnig a écrit :
Charles Henry wrote:
I remember there were many filter abstractions based on biquad~s. I thought they were in the iemabs directory, but I can't find them.
there are abstractions in ggext that do this.
you mean ggee?
there is only externals there. or did i miss something?
thanks Cyrille
fgmad.r IOhannes
cyrille henry wrote:
hello Ioannes
IOhannes m zmölnig a écrit :
Charles Henry wrote:
I remember there were many filter abstractions based on biquad~s. I thought they were in the iemabs directory, but I can't find them.
there are abstractions in ggext that do this.
you mean ggee?
yes
there is only externals there.
true (i checked now :-))
or did i miss something?
i don't think so. it was my fault. but i guess most of ggee's filter externals can be rewritten as abstractions (i checked only [highshelf] and i haven't seen anything you cannot do with plain pd.) the only problems that might occur are about precision (as you can only use single precision in abstractions), but at least highshelf.c uses single precision too, so that should be ok.
fgmasd.r IOhannes
ok, thanks
i'll have a look at gunter code.
thanks Cyrille
IOhannes m zmölnig a écrit :
cyrille henry wrote:
hello Ioannes
IOhannes m zmölnig a écrit :
Charles Henry wrote:
I remember there were many filter abstractions based on biquad~s. I thought they were in the iemabs directory, but I can't find them.
there are abstractions in ggext that do this.
you mean ggee?
yes
there is only externals there.
true (i checked now :-))
or did i miss something?
i don't think so. it was my fault. but i guess most of ggee's filter externals can be rewritten as abstractions (i checked only [highshelf] and i haven't seen anything you cannot do with plain pd.) the only problems that might occur are about precision (as you can only use single precision in abstractions), but at least highshelf.c uses single precision too, so that should be ok.
fgmasd.r IOhannes
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list