hello,
you're right. i made some fast clean up to this patch. it makes a nice low pass resonant filter.
i'm wondering if it's possible to have signal based frequency and resonant factor?
playing with block~ is the solution maybe?
Cyrille
Frank Barknecht a écrit :
Hallo, frablanc hat gesagt: // frablanc wrote:
I've made this little abstraction (modale.pd), which is an approximation of the mass-spring-damper equation, to make some modal synthesis. The abstraction works fine, but the amplitude of the impulsional response decreases with the frequency, and so i'd like to "normalize" the output of the filter. (The amplitude is really too big for low frequencies, as 100Hz ...).
I don't have a real answer, but your patch includes lots of completely undefined execution orders, that might or might not be related to the unusual scaling. You should use manymany more trigger objects.
For example this little construct in your patch:
| [pow -1] |
|
[* ]has an undefined result. You must replace it with:
[pow -1] | [t a a] | / | / [* ]
to correctly get the square of the inverse as you probably intended and you must do similar triggering in the rest of your patch.
Maybe this already fixes your problem.
Ciao
#N canvas 0 0 584 767 10; #X obj 84 14 inlet~; #X obj 253 122 samplerate~; #X obj 216 13 loadbang; #X obj 145 302 *; #X obj 145 189 /; #X obj 145 250 pow -1; #X obj 145 370 * 2; #X obj 145 394 - 1; #X obj 167 418 +; #X obj 341 353 / 2; #X obj 341 306 *; #X obj 341 330 pow -1; #X obj 145 452 /; #X obj 145 589 pack 0 0 0 0 0; #X obj 325 422 -; #X obj 309 508 /; #X obj 84 685 outlet~; #X obj 145 15 inlet; #X obj 357 13 inlet; #X obj 83 653 biquad~; #X obj 216 55 -1; #X obj 216 80 expr acos($f1); #X obj 145 148 *; #X obj 216 102 * 2; #X obj 214 531 pow -1; #X obj 145 277 t f f; #X obj 145 213 t f f; #X obj 325 447 * -1; #X obj 145 337 t f f f; #X msg 309 531 1 $1; #X obj 309 553 /; #X connect 0 0 19 0; #X connect 1 0 4 1; #X connect 2 0 1 0; #X connect 2 0 20 0; #X connect 3 0 28 0; #X connect 4 0 26 0; #X connect 5 0 25 0; #X connect 6 0 7 0; #X connect 7 0 12 0; #X connect 8 0 24 0; #X connect 8 0 12 1; #X connect 8 0 15 0; #X connect 9 0 8 1; #X connect 9 0 14 1; #X connect 10 0 11 0; #X connect 11 0 9 0; #X connect 12 0 13 0; #X connect 13 0 19 0; #X connect 14 0 27 0; #X connect 15 0 29 0; #X connect 17 0 22 0; #X connect 18 0 10 1; #X connect 19 0 16 0; #X connect 20 0 21 0; #X connect 21 0 23 0; #X connect 22 0 4 0; #X connect 23 0 22 1; #X connect 24 0 13 3; #X connect 25 0 3 0; #X connect 25 1 3 1; #X connect 26 0 5 0; #X connect 26 1 10 0; #X connect 27 0 15 1; #X connect 28 0 6 0; #X connect 28 1 8 0; #X connect 28 2 14 0; #X connect 29 0 30 0; #X connect 30 0 13 1;