From 00929beb975b2af843e83e28d6c3cc786863cdbd Mon Sep 17 00:00:00 2001 From: Jonathan Wilkes <jon.w.wilkes@gmail.com> Date: Thu, 2 Jun 2016 21:14:31 -0400 Subject: [PATCH] Vanilla 0.47 backport 2: rev~ abstractions --- pd/extra/rev1~-help.pd | 114 ++++++++++++++++++++--------------------- pd/extra/rev1~.pd | 2 +- pd/extra/rev2~.pd | 84 +++++++++++++++--------------- pd/extra/rev3~-help.pd | 8 +-- pd/extra/rev3~.pd | 104 ++++++++++++++++++++++++++++++++++--- 5 files changed, 202 insertions(+), 110 deletions(-) diff --git a/pd/extra/rev1~-help.pd b/pd/extra/rev1~-help.pd index 55580bd5b..fae97e9ec 100644 --- a/pd/extra/rev1~-help.pd +++ b/pd/extra/rev1~-help.pd @@ -1,69 +1,69 @@ -#N canvas 55 21 1008 526 12; -#X obj 148 439 dac~; -#X obj 58 72 line~; -#X msg 58 49 0 \, 10000 5; -#X obj 58 118 cos~; -#X msg 146 70 1; -#X obj 146 47 loadbang; -#X obj 58 95 clip~ 0 0.25; -#X floatatom 173 264 0 0 0; -#X obj 251 134 line~; -#X obj 251 157 cos~; -#X msg 324 54 -0.25 \, 0.25 100; -#X obj 251 8 loadbang; -#X msg 251 31 -0.25; -#X obj 251 203 *~; -#X obj 58 140 hip~ 5; -#X floatatom 162 328 0 0 0; -#X obj 162 373 pack 0 100; -#X obj 162 396 line~; -#X obj 148 416 *~; -#X obj 162 350 dbtorms; -#X msg 324 77 -0.25 \, 0.25 400; -#X floatatom 324 145 0 0 0; -#X obj 324 191 osc~ 440; -#X obj 324 168 mtof; -#X msg 324 31 -0.25 \, 0.25 20; -#X obj 251 180 *~ 0.1; -#X msg 324 100 -0.25 \, 0.25 1000; -#X msg 324 122 -0.25 \, 0.25 2000; -#X obj 324 226 *~; -#X obj 342 252 *~; -#X obj 58 439 dac~; -#X floatatom 68 323 0 0 0; -#X obj 68 368 pack 0 100; -#X obj 68 391 line~; -#X obj 58 416 *~; -#X obj 68 346 dbtorms; -#X msg 324 8 0; -#X obj 308 257 *~; -#X obj 58 26 metro 2000; -#X floatatom 58 4 0 0 0; -#X msg 220 265 bang; -#X obj 284 322 env~ 32768; -#X floatatom 284 344 0 0 0; -#X text 166 244 1 sec; -#X text 143 226 dB after; -#X text 220 245 clear; -#X text 1 51 impulse; -#X text 362 7 tone; -#X text 484 31 beeps; -#X text 428 167 This is an experimental reverberator design composed +#N canvas 55 22 956 541 12; +#X obj 167 441 dac~; +#X obj 70 74 line~; +#X msg 70 51 0 \, 10000 5; +#X obj 70 120 cos~; +#X msg 158 72 1; +#X obj 158 49 loadbang; +#X obj 70 97 clip~ 0 0.25; +#X floatatom 185 266 0 0 0 0 - - -; +#X obj 263 136 line~; +#X obj 263 159 cos~; +#X msg 336 56 -0.25 \, 0.25 100; +#X obj 263 10 loadbang; +#X msg 263 33 -0.25; +#X obj 263 205 *~; +#X obj 70 142 hip~ 5; +#X floatatom 181 330 0 0 0 0 - - -; +#X obj 181 375 pack 0 100; +#X obj 181 398 line~; +#X obj 167 418 *~; +#X obj 181 352 dbtorms; +#X msg 336 79 -0.25 \, 0.25 400; +#X floatatom 336 147 0 0 0 0 - - -; +#X obj 336 193 osc~ 440; +#X obj 336 170 mtof; +#X msg 336 33 -0.25 \, 0.25 20; +#X obj 263 182 *~ 0.1; +#X msg 336 102 -0.25 \, 0.25 1000; +#X msg 336 124 -0.25 \, 0.25 2000; +#X obj 336 228 *~; +#X obj 354 254 *~; +#X obj 70 441 dac~; +#X floatatom 80 325 0 0 0 0 - - -; +#X obj 80 370 pack 0 100; +#X obj 80 393 line~; +#X obj 70 418 *~; +#X obj 80 348 dbtorms; +#X msg 336 10 0; +#X obj 320 259 *~; +#X obj 70 28 metro 2000; +#X floatatom 70 6 0 0 0 0 - - -; +#X msg 232 267 bang; +#X obj 303 324 env~ 32768; +#X floatatom 303 346 0 0 0 0 - - -; +#X text 178 246 1 sec; +#X text 155 228 dB after; +#X text 232 247 clear; +#X text 7 51 impulse; +#X text 374 9 tone; +#X text 496 33 beeps; +#X text 440 169 This is an experimental reverberator design composed of a series of allpass filters with exponentially growing delay times. Each allpass filter has a gain of 0.7. The reverb time is adjusted by adjusting the input gains of the allpass filters. The last unit is modified so that its first two "echos" mimic those of an allpass but its loop gain depends on reverb time.; -#X text 430 299 Reverb time is controlled by specifying the dB gain +#X text 442 301 Reverb time is controlled by specifying the dB gain (100 normal) after one second \, so that 100 corresponds to infinite reverb time \, 70 to two seconds \, 40 to one second \, and 0 to 0 ; -#X text 671 499 modified for Pd version 0.30.; -#X msg 560 34 \; pd dsp 1; -#X text 427 475 The rev1~ module eats about 18% of my 300mHz P2 machine. +#X text 683 501 modified for Pd version 0.30.; +#X msg 572 36 \; pd dsp 1; +#X text 439 477 The rev1~ module eats about 18% of my 300mHz P2 machine. ; -#X obj 148 289 rev1~; -#X text 428 381 The "clear" button impolitely clears out all the delay +#X obj 167 291 rev1~; +#X text 440 383 The "clear" button impolitely clears out all the delay lines \, You may immediately resume pumping the reverberator \, but the input signal should be cleanly enveloped. The output \, too \, must be enveloped and may not be opened until 5 msec after the "clear" diff --git a/pd/extra/rev1~.pd b/pd/extra/rev1~.pd index 83fd6d207..0a86330fa 100644 --- a/pd/extra/rev1~.pd +++ b/pd/extra/rev1~.pd @@ -1,4 +1,4 @@ -#N canvas 66 116 512 312 10; +#N canvas 65 115 537 339 10; #X obj 345 154 dbtorms; #X obj 316 120 min 100; #X obj 316 100 inlet; diff --git a/pd/extra/rev2~.pd b/pd/extra/rev2~.pd index 5b87faa78..143f2e1a8 100644 --- a/pd/extra/rev2~.pd +++ b/pd/extra/rev2~.pd @@ -1,4 +1,4 @@ -#N canvas 333 147 832 664 12; +#N canvas 327 141 850 684 12; #X obj 161 497 +~; #X obj 520 105 inlet; #X obj 184 407 *~; @@ -48,18 +48,7 @@ #X obj 625 167 moses 1; #X msg 631 193 3000; #X obj 705 193 clip 0 100; -#N canvas 345 88 355 597 early-reflect 0; -#X obj 119 477 delread~ \$0-ref6 13.645; -#X obj 119 453 delwrite~ \$0-ref6 13.645; -#X obj 106 400 delread~ \$0-ref5 16.364; -#X obj 106 376 delwrite~ \$0-ref5 16.364; -#X obj 102 324 delread~ \$0-ref4 19.392; -#X obj 102 300 delwrite~ \$0-ref4 19.392; -#X obj 106 247 delread~ \$0-ref3 25.796; -#X obj 106 223 delwrite~ \$0-ref3 25.796; -#X obj 107 169 delread~ \$0-ref2 43.5337; -#X obj 107 145 delwrite~ \$0-ref2 43.5337; -#X obj 110 90 delread~ \$0-ref1 75.2546; +#N canvas 341 84 355 597 early-reflect 1; #X obj 84 119 -~; #X obj 49 119 +~; #X obj 50 195 +~; @@ -71,37 +60,48 @@ #X obj 83 428 -~; #X obj 49 428 +~; #X obj 65 7 inlet~; -#X obj 110 66 delwrite~ \$0-ref1 75.2546; #X obj 49 508 outlet~; #X obj 119 507 outlet~; -#X connect 0 0 24 0; -#X connect 2 0 20 1; -#X connect 2 0 19 1; -#X connect 4 0 18 1; -#X connect 4 0 17 1; -#X connect 6 0 16 1; -#X connect 6 0 15 1; -#X connect 8 0 13 1; -#X connect 8 0 14 1; -#X connect 10 0 12 1; -#X connect 10 0 11 1; -#X connect 11 0 9 0; -#X connect 12 0 14 0; -#X connect 12 0 13 0; -#X connect 13 0 16 0; -#X connect 13 0 15 0; -#X connect 14 0 7 0; -#X connect 15 0 5 0; -#X connect 16 0 18 0; -#X connect 16 0 17 0; -#X connect 17 0 3 0; -#X connect 18 0 20 0; -#X connect 18 0 19 0; -#X connect 19 0 1 0; -#X connect 20 0 23 0; -#X connect 21 0 12 0; -#X connect 21 0 11 0; -#X connect 21 0 22 0; +#X obj 110 66 delwrite~ \$0-ref1 43.5337; +#X obj 110 90 delread~ \$0-ref1 43.5337; +#X obj 107 145 delwrite~ \$0-ref2 25.796; +#X obj 107 169 delread~ \$0-ref2 25.796; +#X obj 106 223 delwrite~ \$0-ref3 19.392; +#X obj 106 247 delread~ \$0-ref3 19.392; +#X obj 102 300 delwrite~ \$0-ref4 16.364; +#X obj 102 324 delread~ \$0-ref4 16.364; +#X obj 119 452 delwrite~ \$0-ref6 4.2546; +#X obj 119 477 delread~ \$0-ref6 4.2546; +#X obj 106 376 delwrite~ \$0-ref5 7.645; +#X obj 106 400 delread~ \$0-ref5 7.645; +#X connect 0 0 15 0; +#X connect 1 0 3 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 2 0 4 0; +#X connect 3 0 17 0; +#X connect 4 0 19 0; +#X connect 5 0 7 0; +#X connect 5 0 6 0; +#X connect 6 0 23 0; +#X connect 7 0 9 0; +#X connect 7 0 8 0; +#X connect 8 0 21 0; +#X connect 9 0 11 0; +#X connect 10 0 1 0; +#X connect 10 0 0 0; +#X connect 10 0 13 0; +#X connect 14 0 1 1; +#X connect 14 0 0 1; +#X connect 16 0 2 1; +#X connect 16 0 3 1; +#X connect 18 0 5 1; +#X connect 18 0 4 1; +#X connect 20 0 7 1; +#X connect 20 0 6 1; +#X connect 22 0 12 0; +#X connect 24 0 9 1; +#X connect 24 0 8 1; #X restore 9 416 pd early-reflect; #X obj 618 216 f; #X obj 618 105 inlet; diff --git a/pd/extra/rev3~-help.pd b/pd/extra/rev3~-help.pd index 78ef15f53..ec476e96e 100644 --- a/pd/extra/rev3~-help.pd +++ b/pd/extra/rev3~-help.pd @@ -1,7 +1,7 @@ -#N canvas 70 263 765 380 12; +#N canvas 321 265 765 380 12; #X floatatom 99 212 0 0 120 0 - - -; #X floatatom 105 340 0 0 120 0 - - -; -#N canvas 0 0 539 448 tests 0; +#N canvas 0 50 539 448 tests 0; #X obj 67 33 inlet; #X obj 309 189 inlet; #X obj 235 207 line~; @@ -66,7 +66,7 @@ #X obj 16 32 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X text 36 26 impulse; -#N canvas 0 0 450 300 output 0; +#N canvas 0 50 450 300 output 0; #X obj 54 202 dac~; #X obj 132 119 pack 0 100; #X obj 132 142 line~; @@ -96,7 +96,7 @@ #X text 140 212 level \, dB; #X floatatom 134 234 0 0 100 0 - - -; #X text 175 234 liveness \, 0-100; -#X floatatom 169 258 4 0 5000 0 - - -; +#X floatatom 169 258 4 0 5000 0 - - -, f 4; #X floatatom 204 281 0 0 100 0 - - -; #X text 217 256 crossover frequency \, Hz.; #X text 240 283 HF damping \, percent; diff --git a/pd/extra/rev3~.pd b/pd/extra/rev3~.pd index 0d8ea4729..07b43473d 100644 --- a/pd/extra/rev3~.pd +++ b/pd/extra/rev3~.pd @@ -1,4 +1,4 @@ -#N canvas 220 79 810 570 12; +#N canvas 325 130 810 570 12; #X obj 520 105 inlet; #X obj 452 105 inlet; #X obj 370 335 line~; @@ -34,7 +34,7 @@ #X text 400 62 3: crossover frequency in Hz. (3000 default); #X text 400 45 2: liveness \, 0-100 \, usually between 85 and 100; #X obj 616 242 s \$0-lop; -#N canvas 169 94 919 805 doit 0; +#N canvas 2 141 918 880 doit 0; #X obj 218 386 *~; #X obj 341 396 *~; #X obj 267 389 *~; @@ -391,13 +391,103 @@ #X connect 117 0 129 0; #X connect 122 0 38 0; #X restore 164 317 pd doit; -#X obj 165 255 inlet~; -#X obj 222 255 inlet~; +#X obj 164 242 inlet~; +#X obj 221 242 inlet~; #X obj 520 241 s \$0-fb; #X obj 705 290 s \$0-damp; #X text 57 490 rev3 - 16-delay reverberator. Like rev2~ but presumably higher-quality and takes two audio inputs.; #X obj 520 187 / 400; +#N canvas 2 52 400 576 early 0; +#X obj 84 10 inlet~; +#X obj 159 10 inlet~; +#N canvas 19 394 468 181 write1 0; +#X obj 83 25 inlet~; +#X obj 116 66 delwrite~ \$0-early1 1.42763; +#X obj 84 99 outlet~; +#X connect 0 0 1 0; +#X connect 0 0 2 0; +#X restore 160 67 pd write1; +#N canvas 323 263 472 159 read1 0; +#X obj 77 12 inlet~; +#X obj 78 56 delread~ \$0-early1 1.42763; +#X obj 78 81 outlet~; +#X connect 1 0 2 0; +#X restore 160 92 pd read1; +#X obj 84 121 +~; +#X obj 138 122 -~; +#X obj 82 205 +~; +#X obj 136 206 -~; +#X obj 84 289 +~; +#X obj 138 290 -~; +#N canvas 20 395 468 181 write2 0; +#X obj 83 25 inlet~; +#X obj 84 99 outlet~; +#X obj 116 65 delwrite~ \$0-early2 3.23873; +#X connect 0 0 1 0; +#X connect 0 0 2 0; +#X restore 158 151 pd write2; +#N canvas 322 262 472 159 read2 0; +#X obj 77 12 inlet~; +#X obj 78 81 outlet~; +#X obj 78 56 delread~ \$0-early2 3.23873; +#X connect 2 0 1 0; +#X restore 158 176 pd read2; +#N canvas 19 394 468 181 write3 0; +#X obj 83 25 inlet~; +#X obj 84 99 outlet~; +#X obj 116 66 delwrite~ \$0-early3 5.2345; +#X connect 0 0 1 0; +#X connect 0 0 2 0; +#X restore 160 236 pd write3; +#N canvas 322 262 472 159 read3 0; +#X obj 77 12 inlet~; +#X obj 78 81 outlet~; +#X obj 78 56 delread~ \$0-early3 5.2345; +#X connect 2 0 1 0; +#X restore 160 260 pd read3; +#N canvas 20 395 468 181 write4 0; +#X obj 83 25 inlet~; +#X obj 84 99 outlet~; +#X obj 117 66 delwrite~ \$0-early4 7.82312; +#X connect 0 0 1 0; +#X connect 0 0 2 0; +#X restore 153 320 pd write4; +#N canvas 321 261 472 159 read4 0; +#X obj 77 12 inlet~; +#X obj 78 81 outlet~; +#X obj 78 56 delread~ \$0-early4 7.82312; +#X connect 2 0 1 0; +#X restore 153 345 pd read4; +#X obj 84 406 outlet~; +#X obj 174 409 outlet~; +#X obj 84 381 *~ 0.3535; +#X obj 173 384 *~ 0.3535; +#X connect 0 0 4 0; +#X connect 0 0 5 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 5 1; +#X connect 3 0 4 1; +#X connect 4 0 6 0; +#X connect 4 0 7 0; +#X connect 5 0 10 0; +#X connect 6 0 8 0; +#X connect 6 0 9 0; +#X connect 7 0 12 0; +#X connect 8 0 18 0; +#X connect 9 0 14 0; +#X connect 10 0 11 0; +#X connect 11 0 7 1; +#X connect 11 0 6 1; +#X connect 12 0 13 0; +#X connect 13 0 9 1; +#X connect 13 0 8 1; +#X connect 14 0 15 0; +#X connect 15 0 19 0; +#X connect 18 0 16 0; +#X connect 19 0 17 0; +#X restore 163 279 pd early; #X connect 0 0 12 0; #X connect 1 0 11 0; #X connect 2 0 3 1; @@ -434,6 +524,8 @@ higher-quality and takes two audio inputs.; #X connect 35 1 4 0; #X connect 35 2 16 0; #X connect 35 3 17 0; -#X connect 36 0 35 0; -#X connect 37 0 35 1; +#X connect 36 0 42 0; +#X connect 37 0 42 1; #X connect 41 0 7 0; +#X connect 42 0 35 0; +#X connect 42 1 35 1; -- GitLab