Hello list!

Here's jon~, a reverb abstraction based on the algorithm in this
article by Jon Dattorro:
http://www.stanford.edu/~dattorro/EffectDesignPart1.pdf

The allpass bit was taken from pd-list and the help file is copied
from Millers rev3~-help and then modified a bit.

Any feedback is appreciated.

/Anton

http://www.hornquist.se/pd/jon
#N canvas 229 105 390 422 12;
#X obj 24 32 inlet~;
#X obj 27 282 outlet~;
#X obj 135 282 outlet~;
#N canvas 0 166 634 506 input_diffusion 0;
#X obj 30 60 inlet~;
#X obj 29 295 outlet~;
#X obj 337 79 r \$0-input_diffusion1;
#X obj 336 170 r \$0-input_diffusion2;
#N canvas 393 17 574 578 allpass 0;
#X obj 56 127 inlet~;
#X obj 56 400 +~;
#X obj 427 232 loadbang;
#X obj 417 286 t f f;
#X obj 417 310 *;
#X obj 417 334 expr 1-$f1;
#X obj 253 364 *~;
#X obj 232 394 +~;
#X obj 114 177 * -1;
#X obj 88 207 *~;
#X obj 232 426 outlet~;
#X obj 417 129 inlet;
#X obj 114 117 loadbang;
#X obj 75 365 *~ -1;
#X obj 201 364 *~ -1;
#X obj 114 149 f 0.75;
#X obj 417 262 f 0.75;
#X obj 56 491 delwrite~ \$0-tap_13_14 200;
#X obj 252 262 *~ 0.75;
#X obj 252 53 delread~ \$0-tap_13_14 4.77134;
#X connect 0 0 1 0;
#X connect 0 0 9 0;
#X connect 1 0 17 0;
#X connect 2 0 16 0;
#X connect 3 0 4 0;
#X connect 3 1 4 1;
#X connect 4 0 5 0;
#X connect 5 0 6 1;
#X connect 6 0 7 1;
#X connect 7 0 10 0;
#X connect 8 0 9 1;
#X connect 9 0 14 0;
#X connect 11 0 15 0;
#X connect 11 0 16 0;
#X connect 11 0 18 1;
#X connect 12 0 15 0;
#X connect 13 0 1 1;
#X connect 14 0 7 0;
#X connect 15 0 8 0;
#X connect 16 0 3 0;
#X connect 18 0 6 0;
#X connect 18 0 13 0;
#X connect 19 0 18 0;
#X restore 30 99 pd allpass tap_13_14;
#N canvas 314 10 579 582 allpass 0;
#X obj 56 127 inlet~;
#X obj 56 400 +~;
#X obj 427 232 loadbang;
#X obj 417 286 t f f;
#X obj 417 310 *;
#X obj 417 334 expr 1-$f1;
#X obj 253 364 *~;
#X obj 232 394 +~;
#X obj 114 177 * -1;
#X obj 88 207 *~;
#X obj 232 426 outlet~;
#X obj 417 129 inlet;
#X obj 114 117 loadbang;
#X obj 75 365 *~ -1;
#X obj 201 364 *~ -1;
#X obj 114 149 f 0.75;
#X obj 417 262 f 0.75;
#X obj 252 262 *~ 0.75;
#X obj 56 491 delwrite~ \$0-tap_19_20 200;
#X obj 252 53 delread~ \$0-tap_19_20 3.5953;
#X connect 0 0 1 0;
#X connect 0 0 9 0;
#X connect 1 0 18 0;
#X connect 2 0 16 0;
#X connect 3 0 4 0;
#X connect 3 1 4 1;
#X connect 4 0 5 0;
#X connect 5 0 6 1;
#X connect 6 0 7 1;
#X connect 7 0 10 0;
#X connect 8 0 9 1;
#X connect 9 0 14 0;
#X connect 11 0 15 0;
#X connect 11 0 16 0;
#X connect 11 0 17 1;
#X connect 12 0 15 0;
#X connect 13 0 1 1;
#X connect 14 0 7 0;
#X connect 15 0 8 0;
#X connect 16 0 3 0;
#X connect 17 0 6 0;
#X connect 17 0 13 0;
#X connect 19 0 17 0;
#X restore 30 135 pd allpass tap_19_20;
#N canvas 238 0 570 590 allpass 0;
#X obj 56 127 inlet~;
#X obj 56 400 +~;
#X obj 427 232 loadbang;
#X obj 417 286 t f f;
#X obj 417 310 *;
#X obj 417 334 expr 1-$f1;
#X obj 253 364 *~;
#X obj 232 394 +~;
#X obj 114 177 * -1;
#X obj 88 207 *~;
#X obj 232 426 outlet~;
#X obj 417 129 inlet;
#X obj 114 117 loadbang;
#X obj 75 365 *~ -1;
#X obj 201 364 *~ -1;
#X obj 114 149 f 0.625;
#X obj 252 262 *~ 0.625;
#X obj 417 262 f 0.625;
#X obj 56 491 delwrite~ \$0-tap_15_16 200;
#X obj 252 53 delread~ \$0-tap_15_16 12.7348;
#X connect 0 0 1 0;
#X connect 0 0 9 0;
#X connect 1 0 18 0;
#X connect 2 0 17 0;
#X connect 3 0 4 0;
#X connect 3 1 4 1;
#X connect 4 0 5 0;
#X connect 5 0 6 1;
#X connect 6 0 7 1;
#X connect 7 0 10 0;
#X connect 8 0 9 1;
#X connect 9 0 14 0;
#X connect 11 0 15 0;
#X connect 11 0 16 1;
#X connect 11 0 17 0;
#X connect 12 0 15 0;
#X connect 13 0 1 1;
#X connect 14 0 7 0;
#X connect 15 0 8 0;
#X connect 16 0 6 0;
#X connect 16 0 13 0;
#X connect 17 0 3 0;
#X connect 19 0 16 0;
#X restore 30 190 pd allpass tap_15_16;
#N canvas 238 0 566 586 allpass 0;
#X obj 56 127 inlet~;
#X obj 56 400 +~;
#X obj 427 232 loadbang;
#X obj 417 286 t f f;
#X obj 417 310 *;
#X obj 417 334 expr 1-$f1;
#X obj 253 364 *~;
#X obj 232 394 +~;
#X obj 114 177 * -1;
#X obj 88 207 *~;
#X obj 232 426 outlet~;
#X obj 417 129 inlet;
#X obj 114 117 loadbang;
#X obj 75 365 *~ -1;
#X obj 201 364 *~ -1;
#X obj 114 149 f 0.625;
#X obj 252 262 *~ 0.625;
#X obj 417 262 f 0.625;
#X obj 56 491 delwrite~ \$0-tap_21_22 200;
#X obj 252 53 delread~ \$0-tap_21_22 9.30748;
#X connect 0 0 1 0;
#X connect 0 0 9 0;
#X connect 1 0 18 0;
#X connect 2 0 17 0;
#X connect 3 0 4 0;
#X connect 3 1 4 1;
#X connect 4 0 5 0;
#X connect 5 0 6 1;
#X connect 6 0 7 1;
#X connect 7 0 10 0;
#X connect 8 0 9 1;
#X connect 9 0 14 0;
#X connect 11 0 15 0;
#X connect 11 0 16 1;
#X connect 11 0 17 0;
#X connect 12 0 15 0;
#X connect 13 0 1 1;
#X connect 14 0 7 0;
#X connect 15 0 8 0;
#X connect 16 0 6 0;
#X connect 16 0 13 0;
#X connect 17 0 3 0;
#X connect 19 0 16 0;
#X restore 30 230 pd allpass tap_21_22;
#X connect 0 0 4 0;
#X connect 2 0 4 1;
#X connect 2 0 5 1;
#X connect 3 0 6 1;
#X connect 3 0 7 1;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 1 0;
#X restore 25 168 pd input_diffusion;
#N canvas 38 72 501 476 reverberation_tank 0;
#X obj 168 85 inlet~;
#X obj 43 120 +~;
#X obj 255 121 +~;
#N canvas 0 0 458 308 z^-4217 0;
#X obj 106 55 inlet~;
#X obj 105 120 delwrite~ \$0-tap_48_54 141.695;
#X text 358 135 4217;
#X obj 105 147 delread~ \$0-tap_48_54 141.695;
#X obj 106 223 outlet~;
#X connect 0 0 1 0;
#X connect 3 0 4 0;
#X restore 255 190 pd z^-4217;
#N canvas 0 0 458 308 z^-4453 0;
#X obj 41 104 delwrite~ \$0-tap_24_30 149.625;
#X obj 42 128 delread~ \$0-tap_24_30 149.625;
#X text 287 119 4453;
#X obj 43 60 inlet~;
#X obj 43 168 outlet~;
#X connect 1 0 4 0;
#X connect 3 0 0 0;
#X restore 43 192 pd z^-4453;
#N canvas 0 0 466 316 damping 0;
#X obj 74 53 inlet~;
#X obj 70 222 outlet~;
#X obj 73 137 lop~ 22050;
#X obj 162 137 r \$0-damping;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 3 0 2 1;
#X restore 44 221 pd damping;
#N canvas 0 0 470 320 damping 0;
#X obj 74 53 inlet~;
#X obj 70 222 outlet~;
#X obj 73 137 lop~ 22050;
#X obj 162 137 r \$0-damping;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 3 0 2 1;
#X restore 256 221 pd damping;
#N canvas 0 0 470 320 decay 0;
#X obj 71 66 inlet~;
#X obj 71 220 outlet~;
#X obj 140 139 r \$0-decay;
#X obj 70 140 *~ 0.5;
#X connect 0 0 3 0;
#X connect 2 0 3 1;
#X connect 3 0 1 0;
#X restore 43 249 pd decay;
#N canvas 0 0 470 320 decay 0;
#X obj 71 66 inlet~;
#X obj 71 220 outlet~;
#X obj 140 139 r \$0-decay;
#X obj 70 140 *~ 0.5;
#X connect 0 0 3 0;
#X connect 2 0 3 1;
#X connect 3 0 1 0;
#X restore 257 250 pd decay;
#N canvas 0 0 466 316 decay 0;
#X obj 71 66 inlet~;
#X obj 71 220 outlet~;
#X obj 140 139 r \$0-decay;
#X obj 70 140 *~ 0.5;
#X connect 0 0 3 0;
#X connect 2 0 3 1;
#X connect 3 0 1 0;
#X restore 43 87 pd decay;
#N canvas 0 0 466 316 decay 0;
#X obj 71 66 inlet~;
#X obj 71 220 outlet~;
#X obj 140 139 r \$0-decay;
#X obj 70 140 *~ 0.5;
#X connect 0 0 3 0;
#X connect 2 0 3 1;
#X connect 3 0 1 0;
#X restore 273 85 pd decay;
#N canvas 0 0 498 348 decay_diffusion1 0;
#N canvas 232 298 494 344 excursion 0;
#X obj 66 192 outlet~;
#X obj 62 90 osc~ 1;
#X obj 63 143 *~ 0.53761;
#X obj 138 109 r \$0-excursion;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 3 0 2 1;
#X restore 133 120 pd excursion;
#X obj 43 32 inlet~;
#X obj 44 250 outlet~;
#X obj 88 84 r \$0-decay_diffusion1;
#N canvas 409 74 612 523 allpassvd 0;
#X obj 48 83 inlet~;
#X obj 48 296 +~;
#X obj 285 142 loadbang;
#X obj 285 196 t f f;
#X obj 285 220 *;
#X obj 285 244 expr 1-$f1;
#X obj 229 277 *~;
#X obj 216 300 +~;
#X obj 94 138 * -1;
#X obj 80 163 *~;
#X obj 217 401 outlet~;
#X obj 392 30 inlet~;
#X obj 447 56 sig~;
#X obj 447 10 loadbang;
#X obj 390 78 +~;
#X obj 255 45 inlet;
#X obj 94 60 loadbang;
#X text 9 6 arguments: delay(ms) feedback(mult);
#X text 10 20 inlets: signal feedback(mult) excursion;
#X obj 94 114 f 0.7;
#X obj 230 152 *~ 0.7;
#X obj 285 172 f 0.7;
#X obj 391 404 +~;
#X text 372 428 excursion;
#X obj 48 327 delwrite~ \$0-tap_23_24 100;
#X obj 283 101 vd~ \$0-tap_23_24;
#X obj 447 33 f 22.5599;
#X connect 0 0 1 0;
#X connect 0 0 9 0;
#X connect 1 0 24 0;
#X connect 2 0 21 0;
#X connect 3 0 4 0;
#X connect 3 1 4 1;
#X connect 4 0 5 0;
#X connect 5 0 6 1;
#X connect 6 0 7 1;
#X connect 7 0 10 0;
#X connect 8 0 9 1;
#X connect 9 0 7 0;
#X connect 11 0 14 0;
#X connect 12 0 14 1;
#X connect 13 0 26 0;
#X connect 14 0 22 0;
#X connect 14 0 25 0;
#X connect 15 0 19 0;
#X connect 15 0 20 1;
#X connect 15 0 21 0;
#X connect 16 0 19 0;
#X connect 19 0 8 0;
#X connect 20 0 1 1;
#X connect 20 0 6 0;
#X connect 21 0 3 0;
#X connect 25 0 20 0;
#X connect 26 0 12 0;
#X restore 43 150 pd allpassvd;
#X connect 0 0 4 2;
#X connect 1 0 4 0;
#X connect 3 0 4 1;
#X connect 4 0 2 0;
#X restore 44 156 pd decay_diffusion1;
#N canvas 0 0 529 394 decay_diffusion1 0;
#N canvas 232 298 482 332 excursion 0;
#X obj 65 192 outlet~;
#X obj 63 81 osc~ 1;
#X obj 64 134 *~ 0.53761;
#X obj 139 104 r \$0-excursion;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 3 0 2 1;
#X restore 138 92 pd excursion;
#X obj 49 25 inlet~;
#X obj 49 200 outlet~;
#X obj 93 60 r \$0-decay_diffusion1;
#N canvas 348 52 608 519 allpassvd 0;
#X obj 48 83 inlet~;
#X obj 48 296 +~;
#X obj 285 142 loadbang;
#X obj 285 196 t f f;
#X obj 285 220 *;
#X obj 285 244 expr 1-$f1;
#X obj 229 277 *~;
#X obj 216 300 +~;
#X obj 94 138 * -1;
#X obj 80 163 *~;
#X obj 217 401 outlet~;
#X obj 392 30 inlet~;
#X obj 447 56 sig~;
#X obj 447 10 loadbang;
#X obj 390 78 +~;
#X obj 255 45 inlet;
#X obj 94 60 loadbang;
#X text 9 6 arguments: delay(ms) feedback(mult);
#X text 10 20 inlets: signal feedback(mult) excursion;
#X obj 48 327 delwrite~ \$0-tap_46_48 100;
#X obj 283 101 vd~ \$0-tap_46_48;
#X obj 447 33 f 30.5097;
#X obj 94 114 f 0.7;
#X obj 230 152 *~ 0.7;
#X obj 285 172 f 0.7;
#X obj 391 404 +~;
#X text 372 428 excursion;
#X connect 0 0 1 0;
#X connect 0 0 9 0;
#X connect 1 0 19 0;
#X connect 2 0 24 0;
#X connect 3 0 4 0;
#X connect 3 1 4 1;
#X connect 4 0 5 0;
#X connect 5 0 6 1;
#X connect 6 0 7 1;
#X connect 7 0 10 0;
#X connect 8 0 9 1;
#X connect 9 0 7 0;
#X connect 11 0 14 0;
#X connect 12 0 14 1;
#X connect 13 0 21 0;
#X connect 14 0 20 0;
#X connect 14 0 25 0;
#X connect 15 0 22 0;
#X connect 15 0 23 1;
#X connect 15 0 24 0;
#X connect 16 0 22 0;
#X connect 20 0 23 0;
#X connect 21 0 12 0;
#X connect 22 0 8 0;
#X connect 23 0 1 1;
#X connect 23 0 6 0;
#X connect 24 0 3 0;
#X restore 48 135 pd allpassvd;
#X connect 0 0 4 2;
#X connect 1 0 4 0;
#X connect 3 0 4 1;
#X connect 4 0 2 0;
#X restore 256 155 pd decay_diffusion1;
#N canvas 327 329 552 336 decay_diffusion2 0;
#X obj 37 63 inlet~;
#X obj 37 220 outlet~;
#N canvas 393 17 582 586 allpass 0;
#X obj 56 127 inlet~;
#X obj 56 400 +~;
#X obj 427 232 loadbang;
#X obj 417 286 t f f;
#X obj 417 310 *;
#X obj 417 334 expr 1-$f1;
#X obj 253 364 *~;
#X obj 232 394 +~;
#X obj 114 177 * -1;
#X obj 88 207 *~;
#X obj 232 426 outlet~;
#X obj 417 129 inlet;
#X obj 114 117 loadbang;
#X obj 75 365 *~ -1;
#X obj 201 364 *~ -1;
#X obj 252 52 delread~ \$0-tap_31_33 60.4818;
#X obj 56 491 delwrite~ \$0-tap_31_33 200;
#X obj 114 149 f 0.5;
#X obj 252 262 *~ 0.5;
#X obj 417 262 f 0.5;
#X connect 0 0 1 0;
#X connect 0 0 9 0;
#X connect 1 0 16 0;
#X connect 2 0 19 0;
#X connect 3 0 4 0;
#X connect 3 1 4 1;
#X connect 4 0 5 0;
#X connect 5 0 6 1;
#X connect 6 0 7 1;
#X connect 7 0 10 0;
#X connect 8 0 9 1;
#X connect 9 0 14 0;
#X connect 11 0 17 0;
#X connect 11 0 18 1;
#X connect 11 0 19 0;
#X connect 12 0 17 0;
#X connect 13 0 1 1;
#X connect 14 0 7 0;
#X connect 15 0 18 0;
#X connect 17 0 8 0;
#X connect 18 0 6 0;
#X connect 18 0 13 0;
#X connect 19 0 3 0;
#X restore 36 143 pd allpass tap_31_33;
#X obj 191 114 r \$0-decay_diffusion2;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 3 0 2 1;
#X restore 43 277 pd decay_diffusion2;
#N canvas 0 0 553 336 decay_diffusion2 0;
#X obj 52 38 inlet~;
#X obj 54 171 outlet~;
#X obj 210 85 r \$0-decay_diffusion2;
#N canvas 393 17 586 590 allpass 0;
#X obj 56 127 inlet~;
#X obj 56 400 +~;
#X obj 427 232 loadbang;
#X obj 417 286 t f f;
#X obj 417 310 *;
#X obj 417 334 expr 1-$f1;
#X obj 253 364 *~;
#X obj 232 394 +~;
#X obj 114 177 * -1;
#X obj 88 207 *~;
#X obj 232 426 outlet~;
#X obj 417 129 inlet;
#X obj 114 117 loadbang;
#X obj 75 365 *~ -1;
#X obj 201 364 *~ -1;
#X obj 114 149 f 0.5;
#X obj 252 262 *~ 0.5;
#X obj 417 262 f 0.5;
#X obj 56 491 delwrite~ \$0-tap_55_59 200;
#X obj 252 52 delread~ \$0-tap_55_59 89.2443;
#X connect 0 0 1 0;
#X connect 0 0 9 0;
#X connect 1 0 18 0;
#X connect 2 0 17 0;
#X connect 3 0 4 0;
#X connect 3 1 4 1;
#X connect 4 0 5 0;
#X connect 5 0 6 1;
#X connect 6 0 7 1;
#X connect 7 0 10 0;
#X connect 8 0 9 1;
#X connect 9 0 14 0;
#X connect 11 0 15 0;
#X connect 11 0 16 1;
#X connect 11 0 17 0;
#X connect 12 0 15 0;
#X connect 13 0 1 1;
#X connect 14 0 7 0;
#X connect 15 0 8 0;
#X connect 16 0 6 0;
#X connect 16 0 13 0;
#X connect 17 0 3 0;
#X connect 19 0 16 0;
#X restore 55 114 pd allpass tap_55_59;
#X connect 0 0 3 0;
#X connect 2 0 3 1;
#X connect 3 0 1 0;
#X restore 256 278 pd decay_diffusion2;
#N canvas 0 0 454 304 feedback 0;
#X obj 43 118 outlet~;
#X obj 44 55 delread~ \$0-tap_59_63 106.28;
#X connect 1 0 0 0;
#X restore 43 49 pd feedback;
#N canvas 0 0 454 304 feedback 0;
#X obj 81 188 outlet~;
#X obj 81 134 delread~ \$0-tap_33_39 124.996;
#X connect 1 0 0 0;
#X restore 274 51 pd feedback;
#N canvas 0 0 458 308 to_left 0;
#X obj 48 52 inlet~;
#X obj 48 95 delwrite~ \$0-tap_59_63 106.28;
#X connect 0 0 1 0;
#X restore 255 306 pd to_left;
#N canvas 0 0 454 304 to_right 0;
#X obj 53 173 delwrite~ \$0-tap_33_39 124.996;
#X obj 56 100 inlet~;
#X connect 1 0 0 0;
#X restore 44 305 pd to_right;
#X text 344 190 48_54;
#X text 136 193 24_30;
#X connect 0 0 1 1;
#X connect 0 0 2 0;
#X connect 1 0 11 0;
#X connect 2 0 12 0;
#X connect 3 0 6 0;
#X connect 4 0 5 0;
#X connect 5 0 7 0;
#X connect 6 0 8 0;
#X connect 7 0 13 0;
#X connect 8 0 14 0;
#X connect 9 0 1 0;
#X connect 10 0 2 1;
#X connect 11 0 4 0;
#X connect 12 0 3 0;
#X connect 13 0 18 0;
#X connect 14 0 17 0;
#X connect 15 0 9 0;
#X connect 16 0 10 0;
#X restore 25 198 pd reverberation_tank;
#N canvas 58 172 593 487 predelay 0;
#X obj 97 19 inlet~;
#X obj 97 317 outlet~;
#X obj 393 56 sel 0;
#X obj 96 209 *~ 1;
#X obj 110 178 f 1;
#X obj 140 179 f 0;
#X obj 428 106 t a b;
#X obj 377 222 *~ 1;
#X obj 402 191 f 0;
#X obj 433 191 f 1;
#X text 17 210 no delay;
#X text 237 212 delay;
#N canvas 0 0 496 308 predelay 0;
#X obj 35 52 inlet~;
#X obj 263 227 outlet~;
#X obj 264 50 inlet;
#X obj 35 101 delwrite~ \$0-predelay 1000;
#X obj 264 183 delread~ \$0-predelay 1;
#X connect 0 0 3 0;
#X connect 2 0 4 0;
#X connect 4 0 1 0;
#X restore 297 190 pd predelay;
#X obj 393 25 r \$0-predelay;
#X connect 0 0 3 0;
#X connect 0 0 12 0;
#X connect 2 0 4 0;
#X connect 2 0 8 0;
#X connect 2 1 6 0;
#X connect 3 0 1 0;
#X connect 4 0 3 1;
#X connect 5 0 3 1;
#X connect 6 0 12 1;
#X connect 6 1 5 0;
#X connect 6 1 9 0;
#X connect 7 0 1 0;
#X connect 8 0 7 1;
#X connect 9 0 7 1;
#X connect 12 0 7 0;
#X connect 13 0 2 0;
#X restore 25 105 pd predelay;
#X obj 85 32 inlet~;
#X obj 223 35 inlet;
#N canvas 0 0 458 308 bandwidth 0;
#X obj 66 22 inlet~;
#X obj 65 183 outlet~;
#X obj 65 107 lop~;
#X obj 92 74 r \$0-bandwidth;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 3 0 2 1;
#X restore 25 137 pd bandwidth;
#N canvas 0 43 903 567 params 0;
#X obj 44 29 inlet;
#X obj 44 158 s \$0-predelay;
#X obj 161 158 s \$0-bandwidth;
#X obj 44 205 route input_diffusion1 input_diffusion2 decay_diffusion1
decay_diffusion2;
#X obj 44 65 route predelay bandwidth damping decay;
#X obj 285 157 s \$0-damping;
#X obj 398 158 s \$0-decay;
#X obj 44 312 s \$0-input_diffusion1;
#X obj 224 312 s \$0-input_diffusion2;
#X obj 400 313 s \$0-decay_diffusion1;
#X obj 580 314 s \$0-decay_diffusion2;
#X obj 42 450 s \$0-excursion;
#N canvas 295 162 450 343 default 0;
#X obj 55 33 inlet;
#X obj 55 299 outlet;
#X obj 194 34 loadbang;
#X obj 231 144 f 0;
#X obj 55 198 f;
#X obj 194 69 t b b;
#X obj 174 97 f \$1;
#X obj 174 124 sel 0;
#X text 269 145 default;
#X text 250 97 argument;
#X connect 0 0 4 0;
#X connect 2 0 5 0;
#X connect 3 0 4 0;
#X connect 4 0 1 0;
#X connect 5 0 6 0;
#X connect 5 1 3 0;
#X connect 6 0 7 0;
#X connect 7 1 4 0;
#X restore 44 110 pd default;
#N canvas 295 162 450 343 default 0;
#X obj 55 33 inlet;
#X obj 55 299 outlet;
#X obj 194 34 loadbang;
#X obj 55 198 f;
#X obj 194 69 t b b;
#X obj 174 124 sel 0;
#X text 299 145 default;
#X text 250 97 argument;
#X obj 174 97 f \$2;
#X obj 231 144 f 22050;
#X connect 0 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 1 0;
#X connect 4 0 8 0;
#X connect 4 1 9 0;
#X connect 5 1 3 0;
#X connect 8 0 5 0;
#X connect 9 0 3 0;
#X restore 161 111 pd default;
#N canvas 295 162 450 343 default 0;
#X obj 55 33 inlet;
#X obj 55 299 outlet;
#X obj 194 34 loadbang;
#X obj 55 198 f;
#X obj 194 69 t b b;
#X obj 174 124 sel 0;
#X text 299 145 default;
#X text 250 97 argument;
#X obj 174 97 f \$3;
#X obj 231 144 f 22050;
#X connect 0 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 1 0;
#X connect 4 0 8 0;
#X connect 4 1 9 0;
#X connect 5 1 3 0;
#X connect 8 0 5 0;
#X connect 9 0 3 0;
#X restore 285 112 pd default;
#N canvas 295 162 450 343 default 0;
#X obj 55 33 inlet;
#X obj 55 299 outlet;
#X obj 194 34 loadbang;
#X obj 55 198 f;
#X obj 194 69 t b b;
#X obj 174 124 sel 0;
#X text 299 145 default;
#X text 250 97 argument;
#X obj 174 97 f \$4;
#X obj 231 144 f 0.5;
#X connect 0 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 1 0;
#X connect 4 0 8 0;
#X connect 4 1 9 0;
#X connect 5 1 3 0;
#X connect 8 0 5 0;
#X connect 9 0 3 0;
#X restore 398 112 pd default;
#N canvas 295 162 450 343 default 0;
#X obj 55 33 inlet;
#X obj 55 299 outlet;
#X obj 194 34 loadbang;
#X obj 55 198 f;
#X obj 194 69 t b b;
#X obj 174 124 sel 0;
#X text 299 145 default;
#X text 250 97 argument;
#X obj 174 97 f \$5;
#X obj 231 144 f 0.75;
#X connect 0 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 1 0;
#X connect 4 0 8 0;
#X connect 4 1 9 0;
#X connect 5 1 3 0;
#X connect 8 0 5 0;
#X connect 9 0 3 0;
#X restore 44 266 pd default;
#N canvas 295 162 450 343 default 0;
#X obj 55 33 inlet;
#X obj 55 299 outlet;
#X obj 194 34 loadbang;
#X obj 55 198 f;
#X obj 194 69 t b b;
#X obj 174 124 sel 0;
#X text 299 145 default;
#X text 250 97 argument;
#X obj 174 97 f \$6;
#X obj 231 144 f 0.625;
#X connect 0 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 1 0;
#X connect 4 0 8 0;
#X connect 4 1 9 0;
#X connect 5 1 3 0;
#X connect 8 0 5 0;
#X connect 9 0 3 0;
#X restore 224 269 pd default;
#N canvas 295 162 450 343 default 0;
#X obj 55 33 inlet;
#X obj 55 299 outlet;
#X obj 194 34 loadbang;
#X obj 55 198 f;
#X obj 194 69 t b b;
#X obj 174 124 sel 0;
#X text 299 145 default;
#X text 250 97 argument;
#X obj 174 97 f \$7;
#X obj 231 144 f 0.7;
#X connect 0 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 1 0;
#X connect 4 0 8 0;
#X connect 4 1 9 0;
#X connect 5 1 3 0;
#X connect 8 0 5 0;
#X connect 9 0 3 0;
#X restore 400 268 pd default;
#N canvas 295 162 450 343 default 0;
#X obj 55 33 inlet;
#X obj 55 299 outlet;
#X obj 194 34 loadbang;
#X obj 55 198 f;
#X obj 194 69 t b b;
#X obj 174 124 sel 0;
#X text 299 145 default;
#X text 250 97 argument;
#X obj 174 97 f \$8;
#X obj 231 144 f 0.5;
#X connect 0 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 1 0;
#X connect 4 0 8 0;
#X connect 4 1 9 0;
#X connect 5 1 3 0;
#X connect 8 0 5 0;
#X connect 9 0 3 0;
#X restore 580 268 pd default;
#N canvas 189 104 450 343 default 0;
#X obj 55 33 inlet;
#X obj 55 299 outlet;
#X obj 194 34 loadbang;
#X obj 55 198 f;
#X obj 194 69 t b b;
#X obj 174 124 sel 0;
#X text 319 145 default;
#X text 250 97 argument;
#X obj 174 97 f \$9;
#X obj 231 144 f 0.53761;
#X connect 0 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 1 0;
#X connect 4 0 8 0;
#X connect 4 1 9 0;
#X connect 5 1 3 0;
#X connect 8 0 5 0;
#X connect 9 0 3 0;
#X restore 42 404 pd default;
#X obj 42 361 route excursion;
#X obj 218 416 print jon~_nosuchparameter;
#X connect 0 0 4 0;
#X connect 3 0 16 0;
#X connect 3 1 17 0;
#X connect 3 2 18 0;
#X connect 3 3 19 0;
#X connect 3 4 21 0;
#X connect 4 0 12 0;
#X connect 4 1 13 0;
#X connect 4 2 14 0;
#X connect 4 3 15 0;
#X connect 4 4 3 0;
#X connect 12 0 1 0;
#X connect 13 0 2 0;
#X connect 14 0 5 0;
#X connect 15 0 6 0;
#X connect 16 0 7 0;
#X connect 17 0 8 0;
#X connect 18 0 9 0;
#X connect 19 0 10 0;
#X connect 20 0 11 0;
#X connect 21 0 20 0;
#X connect 21 1 22 0;
#X restore 223 72 pd params;
#N canvas 0 0 458 308 1/2 0;
#X obj 102 56 inlet~;
#X obj 182 56 inlet~;
#X obj 103 138 *~ 0.5;
#X obj 103 102 +~;
#X obj 103 175 outlet~;
#X connect 0 0 3 0;
#X connect 1 0 3 1;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X restore 25 72 pd 1/2;
#N canvas 120 111 856 498 output_taps 0;
#X obj 28 409 outlet~;
#X obj 30 267 -~;
#X obj 31 109 +~;
#X obj 30 215 +~;
#X obj 29 369 -~;
#X text 30 26 left;
#X obj 32 55 delread~ \$0-tap_48_54 8.93787;
#X obj 51 82 delread~ \$0-tap_48_54 99.9294;
#X obj 50 134 delread~ \$0-tap_55_59 64.2787;
#X obj 31 163 -~;
#X obj 49 188 delread~ \$0-tap_59_63 67.0676;
#X obj 50 240 delread~ \$0-tap_24_30 66.866;
#X obj 50 293 delread~ \$0-tap_31_33 6.28339;
#X obj 30 317 -~;
#X obj 49 342 delread~ \$0-tap_33_39 35.8187;
#X obj 371 407 outlet~;
#X obj 370 105 +~;
#X obj 371 261 -~;
#X obj 370 208 +~;
#X obj 371 365 -~;
#X text 370 20 right;
#X obj 371 51 delread~ \$0-tap_24_30 11.8612;
#X obj 390 78 delread~ \$0-tap_24_30 121.871;
#X obj 390 130 delread~ \$0-tap_31_33 41.2621;
#X obj 390 181 delread~ \$0-tap_33_39 89.8155;
#X obj 391 234 delread~ \$0-tap_48_54 70.9317;
#X obj 372 313 -~;
#X obj 392 286 delread~ \$0-tap_55_59 11.2563;
#X obj 390 338 delread~ \$0-tap_59_63 4.06572;
#X obj 370 154 -~;
#X connect 1 0 13 0;
#X connect 2 0 9 0;
#X connect 3 0 1 0;
#X connect 4 0 0 0;
#X connect 6 0 2 0;
#X connect 7 0 2 1;
#X connect 8 0 9 1;
#X connect 9 0 3 0;
#X connect 10 0 3 1;
#X connect 11 0 1 1;
#X connect 12 0 13 1;
#X connect 13 0 4 0;
#X connect 14 0 4 1;
#X connect 16 0 29 0;
#X connect 17 0 26 0;
#X connect 18 0 17 0;
#X connect 19 0 15 0;
#X connect 21 0 16 0;
#X connect 22 0 16 1;
#X connect 23 0 29 1;
#X connect 24 0 18 1;
#X connect 25 0 17 1;
#X connect 26 0 19 0;
#X connect 27 0 26 1;
#X connect 28 0 19 1;
#X connect 29 0 18 0;
#X restore 27 247 pd output_taps;
#X connect 0 0 10 0;
#X connect 3 0 4 0;
#X connect 5 0 8 0;
#X connect 6 0 10 1;
#X connect 7 0 9 0;
#X connect 8 0 3 0;
#X connect 10 0 5 0;
#X connect 11 0 1 0;
#X connect 11 1 2 0;
#N canvas 20 25 606 503 12;
#X obj 71 368 jon~;
#N canvas 15 98 622 480 presets 0;
#X obj 40 26 inlet;
#X msg 43 122 \; param1 0 \; param2 22050 \; param3 22050 \; param4
0.5 \; param5 0.75 \; param6 0.625 \; param7 0.7 \; param8 0.5 \; param9
0.53761 \;;
#X msg 116 307 \; param1 0 \; param2 10000 \; param3 4637 \; param4
0.98 \; param5 0.685 \; param6 0.779 \; param7 0.74 \; param8 0.68
\; param9 0.53761 \;;
#X msg 199 123 \; param1 0 \; param2 10000 \; param3 4637 \; param4
0.98 \; param5 0.685 \; param6 0.779 \; param7 0.74 \; param8 0.68
\; param9 0 \;;
#X msg 278 304 \; param1 10 \; param2 10000 \; param3 4637 \; param4
0.99 \; param5 0.685 \; param6 0.779 \; param7 0.889 \; param8 0.84
\; param9 0.53761 \;;
#X msg 359 131 \; param1 10 \; param2 10000 \; param3 4637 \; param4
0.99 \; param5 0.685 \; param6 0.779 \; param7 0.889 \; param8 0.84
\; param9 0 \;;
#X msg 443 303 \; param1 216.535 \; param2 22050 \; param3 22050 \;
param4 0.677165 \; param5 0.850394 \; param6 0.92126 \; param7 0.80315
\; param8 0.818898 \; param9 0.11811 \;;
#X obj 39 70 route default large large_noexcursion huge huge_noexcursion
tadada;
#X connect 0 0 7 0;
#X connect 7 0 1 0;
#X connect 7 1 2 0;
#X connect 7 2 3 0;
#X connect 7 3 4 0;
#X connect 7 4 5 0;
#X connect 7 5 6 0;
#X restore 366 343 pd presets;
#X msg 366 201 default;
#X msg 366 270 huge;
#X floatatom 130 423 0 0 120 0 - - -;
#N canvas 0 0 600 322 output 0;
#X obj 164 247 dac~;
#X obj 349 170 pack 0 100;
#X obj 349 193 line~;
#X obj 164 210 *~;
#X obj 349 148 dbtorms;
#X obj 58 65 inlet~;
#X obj 394 93 inlet;
#X obj 394 125 clip 0 120;
#X msg 474 184 \; pd dsp 1;
#X obj 164 23 inlet~;
#X obj 204 213 *~;
#X obj 215 48 inlet~;
#X obj 55 129 *~ 1;
#X obj 160 114 *~ 1;
#X obj 211 112 *~ 1;
#X obj 80 95 r dry;
#X obj 248 85 r wet;
#X connect 1 0 2 0;
#X connect 2 0 3 1;
#X connect 2 0 10 1;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X connect 5 0 12 0;
#X connect 6 0 7 0;
#X connect 6 0 8 0;
#X connect 7 0 4 0;
#X connect 9 0 13 0;
#X connect 10 0 0 1;
#X connect 11 0 14 0;
#X connect 12 0 3 0;
#X connect 12 0 10 0;
#X connect 13 0 3 0;
#X connect 14 0 10 0;
#X connect 15 0 12 1;
#X connect 16 0 14 1;
#X connect 16 0 13 1;
#X restore 42 423 pd output;
#X text 165 424 output level \, dB;
#N canvas 0 0 539 448 tests 0;
#X obj 67 33 inlet;
#X obj 309 189 inlet;
#X obj 235 207 line~;
#X obj 235 230 cos~;
#X obj 235 68 loadbang;
#X msg 235 91 -0.25;
#X obj 235 276 *~;
#X obj 186 309 hip~ 5;
#X floatatom 308 218 0 0 0 0 - - -;
#X obj 308 264 osc~ 440;
#X obj 308 241 mtof;
#X obj 235 253 *~ 0.1;
#X obj 308 299 *~;
#X obj 326 325 *~;
#X obj 292 330 *~;
#X msg 279 150 -0.25 \, 0.25 \$1;
#X obj 41 148 biquad~ 0 0 1 -1 0;
#X obj 63 70 t b;
#X obj 104 72 del 3;
#X obj 57 101 1;
#X obj 96 101 0;
#X obj 41 355 outlet~;
#X obj 279 126 inlet;
#X obj 51 192 *~;
#X connect 0 0 17 0;
#X connect 1 0 8 0;
#X connect 2 0 3 0;
#X connect 3 0 11 0;
#X connect 4 0 5 0;
#X connect 5 0 2 0;
#X connect 6 0 7 0;
#X connect 7 0 21 0;
#X connect 8 0 10 0;
#X connect 9 0 6 1;
#X connect 9 0 12 0;
#X connect 9 0 12 1;
#X connect 9 0 13 0;
#X connect 10 0 9 0;
#X connect 11 0 6 0;
#X connect 12 0 13 1;
#X connect 12 0 6 1;
#X connect 12 0 14 0;
#X connect 12 0 14 1;
#X connect 13 0 6 1;
#X connect 14 0 6 1;
#X connect 15 0 2 0;
#X connect 16 0 23 0;
#X connect 17 0 18 0;
#X connect 17 0 19 0;
#X connect 18 0 20 0;
#X connect 19 0 16 0;
#X connect 19 0 23 1;
#X connect 20 0 16 0;
#X connect 20 0 23 1;
#X connect 22 0 15 0;
#X connect 23 0 21 0;
#X restore 42 260 pd tests;
#X msg 81 141 10;
#X msg 79 168 20;
#X msg 78 196 100;
#X msg 77 221 500;
#X obj 42 121 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 62 115 impulse;
#X floatatom 122 233 0 0 0 0 - - -;
#X text 161 202 tone;
#X text 160 218 pitch;
#X text 120 141 tone;
#X text 121 158 bursts;
#X text 157 236 (60 for;
#X text 140 256 middle C);
#X msg 366 293 huge_noexcursion;
#X msg 366 224 large;
#X msg 366 247 large_noexcursion;
#X text 344 176 some presets:;
#X text 342 114 click to edit parameters:;
#X text 38 23 jon~ - Reverb abstraction based on "Simplified plate-class
reverberation topology in the style of Griesinger" from the article
"Effect Design \, Part 1: Reverberator and Other Filters" by Jon Dattorro.
;
#X obj 367 402 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 427 402 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 427 424 s wet;
#X obj 367 424 s dry;
#X msg 366 316 tadada;
#X text 340 375 toggle dry/wet output:;
#N canvas 670 63 280 336 edit_params 0;
#X obj 25 92 hsl 128 15 220.5 22050 1 0 param3 param3 damping -2 -8
0 10 -262144 -1 -1 12700 0;
#X floatatom 157 91 10 0 0 0 - param3 damping;
#X obj 25 123 hsl 128 15 0 1 0 0 param4 param4 decay -2 -8 0 10 -262144
-1 -1 12700 0;
#X floatatom 157 122 10 0 0 0 - param4 decay;
#X obj 25 28 hsl 128 15 0 250 0 0 param1 param1 predelay -2 -8 0 10
-262144 -1 -1 11000 0;
#X floatatom 157 27 10 0 0 0 - param1 predelay;
#X obj 25 60 hsl 128 15 220.5 22050 1 0 param2 param2 bandwidth -2
-8 0 10 -262144 -1 -1 12700 0;
#X floatatom 157 59 10 0 0 0 - param2 bandwidth;
#X obj 24 191 hsl 128 15 0 1 0 0 param6 param6 input_diffusion_2 -2
-8 0 10 -262144 -1 -1 11700 0;
#X floatatom 156 190 10 0 0 0 - param6 input_diffusion2;
#X obj 25 156 hsl 128 15 0 1 0 0 param5 param5 input_diffusion_1 -2
-8 0 10 -262144 -1 -1 10800 0;
#X floatatom 157 155 10 0 0 0 - param5 input_diffusion1;
#X obj 23 255 hsl 128 15 0 1 0 0 param8 param8 decay_diffusion_2 -2
-8 0 10 -262144 -1 -1 10400 0;
#X floatatom 155 254 10 0 0 0 - param8 decay_diffusion2;
#X obj 24 222 hsl 128 15 0 1 0 0 param7 param7 decay_diffusion_1 -2
-8 0 10 -262144 -1 -1 10200 0;
#X floatatom 156 221 10 0 0 0 - param7 decay_diffusion1;
#X obj 23 287 hsl 128 15 0 5 0 0 param9 param9 excursion -2 -8 0 10
-262144 -1 -1 300 0;
#X floatatom 155 286 10 0 0 0 - param9 excursion;
#X restore 365 139 pd edit_params;
#N canvas 66 24 387 608 receive_params 0;
#X msg 58 293 input_diffusion1 \$1;
#X msg 70 349 input_diffusion2 \$1;
#X msg 78 410 decay_diffusion1 \$1;
#X msg 87 469 decay_diffusion2 \$1;
#X msg 33 75 predelay \$1;
#X msg 33 132 bandwidth \$1;
#X msg 33 183 damping \$1;
#X msg 33 238 decay \$1;
#X msg 125 533 excursion \$1;
#X obj 33 547 outlet;
#X obj 33 48 r predelay;
#X obj 33 105 r bandwidth;
#X obj 33 159 r damping;
#X obj 33 213 r decay;
#X obj 58 268 r input_diffusion1;
#X obj 70 322 r input_diffusion2;
#X obj 78 383 r decay_diffusion1;
#X obj 87 442 r decay_diffusion2;
#X obj 125 503 r excursion;
#X connect 0 0 9 0;
#X connect 1 0 9 0;
#X connect 2 0 9 0;
#X connect 3 0 9 0;
#X connect 4 0 9 0;
#X connect 5 0 9 0;
#X connect 6 0 9 0;
#X connect 7 0 9 0;
#X connect 8 0 9 0;
#X connect 10 0 4 0;
#X connect 11 0 5 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 0 0;
#X connect 15 0 1 0;
#X connect 16 0 2 0;
#X connect 17 0 3 0;
#X connect 18 0 8 0;
#X restore 100 327 pd receive_params;
#X connect 0 0 5 1;
#X connect 0 1 5 2;
#X connect 2 0 1 0;
#X connect 3 0 1 0;
#X connect 4 0 5 3;
#X connect 7 0 0 0;
#X connect 7 0 0 1;
#X connect 7 0 5 0;
#X connect 8 0 7 1;
#X connect 9 0 7 1;
#X connect 10 0 7 1;
#X connect 11 0 7 1;
#X connect 12 0 7 0;
#X connect 14 0 7 2;
#X connect 21 0 1 0;
#X connect 22 0 1 0;
#X connect 23 0 1 0;
#X connect 27 0 30 0;
#X connect 28 0 29 0;
#X connect 31 0 1 0;
#X connect 34 0 0 2;
_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to