aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/vasp/pd-ex/enhance.pd
diff options
context:
space:
mode:
Diffstat (limited to 'externals/grill/vasp/pd-ex/enhance.pd')
-rw-r--r--externals/grill/vasp/pd-ex/enhance.pd478
1 files changed, 478 insertions, 0 deletions
diff --git a/externals/grill/vasp/pd-ex/enhance.pd b/externals/grill/vasp/pd-ex/enhance.pd
new file mode 100644
index 00000000..05e8ef8a
--- /dev/null
+++ b/externals/grill/vasp/pd-ex/enhance.pd
@@ -0,0 +1,478 @@
+#N canvas 215 47 982 666 12;
+#X obj 85 323 nbx 6 18 -100 0 0 1 empty empty spectral_gate(dB) 0 -8
+0 12 -225271 -1 -1 -18 256;
+#X obj 85 366 nbx 7 18 -10000 10000 0 1 empty empty transpose(cents)
+0 -8 0 12 -225271 -1 -1 0 256;
+#X obj 463 303 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 744 304 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 22 476 326 save 0;
+#X obj 30 198 soundfiler;
+#X obj 30 134 symbol;
+#X obj 29 106 savepanel;
+#X obj 32 8 inlet;
+#X obj 27 232 outlet;
+#X obj 30 42 route new again;
+#X obj 29 73 t b;
+#X obj 84 73 t b;
+#X msg 27 169 write -bytes 3 -wave \$1 dst;
+#X connect 0 0 4 0;
+#X connect 1 0 8 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X connect 6 0 2 0;
+#X connect 7 0 1 0;
+#X connect 8 0 0 0;
+#X restore 744 275 pd save;
+#N canvas 205 58 359 496 open 0;
+#X obj 19 96 openpanel;
+#X obj 21 6 inlet;
+#X obj 15 390 outlet;
+#X obj 20 123 symbol;
+#X obj 17 345 vasp.u;
+#X obj 17 233 t b;
+#X obj 22 33 route new again;
+#X obj 19 66 t b;
+#X obj 74 66 t b;
+#X msg 16 281 vasp src;
+#X obj 74 230 s \$0-srclen;
+#X obj 15 313 vasp.opt;
+#X obj 18 192 sndfiler;
+#X msg 19 152 read -resize \$1 src;
+#X connect 0 0 3 0;
+#X connect 1 0 6 0;
+#X connect 3 0 13 0;
+#X connect 4 0 2 0;
+#X connect 5 0 9 0;
+#X connect 6 0 7 0;
+#X connect 6 1 8 0;
+#X connect 7 0 0 0;
+#X connect 8 0 3 0;
+#X connect 9 0 11 0;
+#X connect 11 0 4 0;
+#X connect 12 0 5 0;
+#X connect 12 0 10 0;
+#X connect 13 0 12 0;
+#X restore 463 275 pd open;
+#X msg 396 247 stop;
+#N canvas 0 22 450 300 graph10 0;
+#X array src 5.99654e+06 float 0;
+#X coords 0 1 5.99654e+06 -1 600 150 1;
+#X restore 322 20 graph;
+#X msg 462 247 new;
+#X msg 497 247 again;
+#X msg 743 247 new;
+#X msg 776 247 again;
+#X msg 347 247 play;
+#X obj 8 9 cnv 15 300 48 empty empty enhance 5 14 0 20 -233017 -66577
+0;
+#X obj 18 108 bng 25 250 50 0 empty empty do! 0 -6 0 12 -24198 -1 -1
+;
+#X obj 107 115 nbx 12 18 0 1e+08 0 1 empty empty length(frames) 0 -8
+0 12 -225271 -1 -1 1e+06 256;
+#X obj 347 222 cnv 15 100 20 empty empty play_src 5 8 0 10 -261681
+-66577 0;
+#X obj 462 222 cnv 15 100 20 empty empty read_src 5 8 0 10 -261681
+-66577 0;
+#X obj 742 222 cnv 15 100 20 empty empty write_dst 5 8 0 10 -261681
+-66577 0;
+#N canvas 0 22 450 300 graph10 0;
+#X array dst 1e+06 float 0;
+#X coords 0 1 999999 -1 600 150 1;
+#X restore 324 392 graph;
+#X msg 678 248 stop;
+#X msg 629 248 play;
+#X obj 629 223 cnv 15 100 20 empty empty play_dst 5 8 0 10 -261681
+-66577 0;
+#N canvas 0 22 519 371 playsrc 0;
+#X obj 17 274 dac~;
+#X obj 19 21 inlet;
+#X obj 17 49 route play;
+#X obj 18 197 tabplay~ src;
+#X obj 338 23 r \$0-srclen;
+#X obj 166 22 r \$0-offs;
+#X obj 249 22 r \$0-len;
+#X obj 338 48 t b f;
+#X obj 166 94 *;
+#X obj 248 93 *;
+#X obj 75 132 pack 0 0;
+#X obj 19 81 t b;
+#X obj 77 105 loadbang;
+#X obj 113 274 outlet;
+#X obj 19 159 any;
+#X obj 18 237 *~;
+#X obj 451 21 inlet;
+#X obj 451 50 pack 0 30;
+#X obj 451 78 line~;
+#X connect 1 0 2 0;
+#X connect 2 0 11 0;
+#X connect 2 1 3 0;
+#X connect 3 0 15 0;
+#X connect 3 1 13 0;
+#X connect 4 0 7 0;
+#X connect 5 0 8 0;
+#X connect 6 0 9 0;
+#X connect 7 0 8 0;
+#X connect 7 0 9 0;
+#X connect 7 1 8 1;
+#X connect 7 1 9 1;
+#X connect 8 0 10 0;
+#X connect 9 0 10 1;
+#X connect 10 0 14 1;
+#X connect 11 0 14 0;
+#X connect 12 0 10 0;
+#X connect 14 0 3 0;
+#X connect 15 0 0 0;
+#X connect 15 0 0 1;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 18 0 15 1;
+#X restore 347 275 pd playsrc;
+#N canvas 0 22 499 351 playdst 0;
+#X obj 23 199 dac~;
+#X obj 19 21 inlet;
+#X obj 22 51 route play;
+#X obj 21 83 tabplay~ dst;
+#X obj 113 200 outlet;
+#X obj 27 147 *~;
+#X obj 171 27 inlet;
+#X obj 171 56 pack 0 30;
+#X obj 171 84 line~;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 3 0;
+#X connect 3 0 5 0;
+#X connect 3 1 4 0;
+#X connect 5 0 0 0;
+#X connect 5 0 0 1;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 8 0 5 1;
+#X restore 629 276 pd playdst;
+#N canvas 249 202 587 530 copy 0;
+#X obj 27 26 inlet;
+#X obj 27 51 t b b;
+#X obj 316 19 inlet;
+#X obj 25 361 outlet;
+#X obj 26 81 vasp src;
+#X obj 26 229 vasp.f;
+#X obj 26 201 vasp.o;
+#X obj 128 31 r \$0-offs;
+#X obj 211 31 r \$0-len;
+#X obj 316 87 f 1e+06;
+#X obj 366 21 loadbang;
+#X obj 84 169 *;
+#X obj 117 169 *;
+#X obj 82 139 vasp.f?;
+#X obj 27 109 t a a;
+#X obj 27 259 vasp.sync;
+#X obj 26 328 vasp.f -1;
+#X text 167 288 copy src to dst;
+#X text 108 328 take all dst;
+#X text 307 213 resize dst buffer;
+#X obj 26 287 vasp.-> @detach 1;
+#X text 340 139 set to zero;
+#X obj 184 140 vasp.= 0 @ref dst @detach 1;
+#X obj 183 194 vasp.s @detach 1;
+#X connect 0 0 1 0;
+#X connect 1 0 4 0;
+#X connect 1 1 22 0;
+#X connect 2 0 9 0;
+#X connect 4 0 14 0;
+#X connect 5 0 15 0;
+#X connect 6 0 5 0;
+#X connect 7 0 11 1;
+#X connect 8 0 12 1;
+#X connect 9 0 23 1;
+#X connect 10 0 9 0;
+#X connect 11 0 6 1;
+#X connect 12 0 5 1;
+#X connect 13 0 11 0;
+#X connect 13 0 12 0;
+#X connect 14 0 6 0;
+#X connect 14 1 13 0;
+#X connect 15 0 20 0;
+#X connect 15 1 20 1;
+#X connect 16 0 3 0;
+#X connect 20 1 16 0;
+#X connect 22 0 23 0;
+#X connect 23 0 15 1;
+#X restore 18 159 pd copy;
+#X text 82 155 copy and resize;
+#X obj 323 170 hsl 600 15 0 1 0 1 \$0-r2 empty empty -2 -6 0 8 -262131
+-1 -1 51900 0;
+#X obj 323 5 hsl 600 15 0 1 0 1 \$0-r1 empty empty -2 -6 0 8 -262131
+-1 -1 34600 0;
+#N canvas 148 330 313 273 sel 0;
+#X obj 30 25 r \$0-r1;
+#X obj 110 25 r \$0-r2;
+#X obj 30 100 min;
+#X obj 113 100 max;
+#X obj 30 53 t f f;
+#X obj 110 50 t b b f;
+#X obj 113 130 -;
+#X obj 27 190 s \$0-offs;
+#X obj 113 190 s \$0-len;
+#X obj 114 161 * -1;
+#X connect 0 0 4 0;
+#X connect 1 0 5 0;
+#X connect 2 0 6 0;
+#X connect 2 0 7 0;
+#X connect 3 0 6 1;
+#X connect 4 0 2 0;
+#X connect 4 1 3 0;
+#X connect 5 0 2 0;
+#X connect 5 1 3 0;
+#X connect 5 2 3 1;
+#X connect 5 2 2 1;
+#X connect 6 0 9 0;
+#X connect 9 0 8 0;
+#X restore 872 223 pd sel;
+#X obj 85 410 nbx 7 18 0.01 10 1 1 empty empty power 0 -8 0 12 -225271
+-1 -1 1.37078 256;
+#X obj 346 302 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 628 302 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 165 324 -100... no gate;
+#N canvas 0 22 482 332 normalize 0;
+#X obj 127 29 loadbang;
+#X msg 127 54 detach 1;
+#X text 120 75 no attributes yet;
+#X obj 39 115 vasp.opt;
+#X obj 38 149 vasp.u;
+#X obj 39 32 inlet;
+#X obj 38 184 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 0 3 0;
+#X restore 18 575 pd normalize;
+#X obj 608 245 vsl 15 70 0.01 10 1 1 empty empty empty 0 -8 0 8 -262144
+-1 -1 4400 1;
+#X obj 324 247 vsl 15 70 0.01 10 1 1 empty empty empty 0 -8 0 8 -262144
+-1 -1 5600 1;
+#X text 11 37 (C)2007 Thomas Grill;
+#N canvas 293 22 655 744 enhance 0;
+#X obj 27 137 vasp.split 2;
+#X obj 31 415 vasp.join 2;
+#X obj 27 74 vasp.cfft @detach 1;
+#X obj 33 471 vasp.c!fft @detach 1;
+#X obj 25 13 inlet;
+#X obj 91 230 * 0.01;
+#X obj 302 17 inlet;
+#X obj 26 107 vasp.polar @detach 1;
+#X obj 33 442 vasp.rect @detach 1;
+#X obj 29 321 vasp.gate @detach 1;
+#X obj 30 386 vasp.sync;
+#X obj 91 208 vasp.max? @detach 1;
+#X obj 381 17 inlet;
+#X obj 437 692 outlet;
+#N canvas 238 212 484 334 non0 0;
+#X obj 58 254 outlet;
+#X obj 60 158 / 1;
+#X obj 26 11 inlet;
+#X obj 26 39 t a a;
+#X obj 234 77 vasp.f?;
+#X obj 46 98 vasp.!= 0 @detach 1;
+#X obj 27 124 vasp.sum?;
+#X obj 60 195 rmstodb;
+#X obj 60 225 - 100;
+#X obj 47 71 vasp.!;
+#X connect 1 0 7 0;
+#X connect 2 0 3 0;
+#X connect 3 0 6 0;
+#X connect 3 1 4 0;
+#X connect 4 0 1 1;
+#X connect 5 0 6 0;
+#X connect 6 1 1 0;
+#X connect 7 0 8 0;
+#X connect 8 0 0 0;
+#X connect 9 0 5 0;
+#X restore 436 660 pd non0;
+#X obj 34 511 vasp.n 0;
+#X obj 302 45 + 100;
+#X obj 300 76 dbtorms;
+#N canvas 445 282 498 348 cplx 0;
+#X obj 19 229 vasp.join;
+#X obj 19 73 t a b a;
+#X obj 149 137 vasp.f?;
+#X obj 19 14 inlet;
+#X obj 19 258 outlet;
+#X text 216 135 get length of source;
+#X text 225 181 make immediate;
+#X text 225 196 initialized to 0;
+#X text 101 230 make complex vasp;
+#X obj 87 176 vasp.! @detach 1;
+#X obj 19 203 vasp.sync;
+#X connect 0 0 4 0;
+#X connect 1 0 10 0;
+#X connect 1 1 9 0;
+#X connect 1 2 2 0;
+#X connect 2 0 9 1;
+#X connect 3 0 1 0;
+#X connect 9 0 10 1;
+#X connect 10 0 0 0;
+#X connect 10 1 0 1;
+#X restore 27 43 pd cplx;
+#X text 281 166 resample;
+#X text 146 230 find spectral peak;
+#X text 203 320 gate spectrum below threshold;
+#X text 107 387 wait for threads to finish;
+#X text 193 75 FFT;
+#X text 195 100 -> polar;
+#X text 192 439 -> cartesian;
+#X text 202 467 inverse FFT;
+#X text 440 637 get spectral density;
+#X obj 28 168 vasp.xtilt 1 @detach 1 @inter 2;
+#X obj 30 347 vasp.pow @detach 1;
+#X obj 441 21 inlet;
+#X text 194 347 treat spectrum exponentially;
+#X obj 28 238 t a a;
+#X obj 28 288 vasp;
+#X obj 89 257 t b f;
+#X obj 381 51 / -1200;
+#X obj 381 77 t b f;
+#X obj 382 129 pow;
+#X msg 382 103 2;
+#X obj 73 542 t a a;
+#X obj 74 640 vasp.* @detach 1;
+#X obj 108 573 vasp.flp;
+#X obj 33 678 outlet;
+#X connect 0 0 28 0;
+#X connect 0 1 10 1;
+#X connect 1 0 8 0;
+#X connect 2 0 7 0;
+#X connect 3 0 15 0;
+#X connect 4 0 18 0;
+#X connect 5 0 34 0;
+#X connect 6 0 16 0;
+#X connect 7 0 0 0;
+#X connect 8 0 3 0;
+#X connect 9 0 29 0;
+#X connect 10 0 1 0;
+#X connect 10 1 1 1;
+#X connect 11 0 5 0;
+#X connect 12 0 35 0;
+#X connect 14 0 13 0;
+#X connect 15 0 42 0;
+#X connect 16 0 17 0;
+#X connect 17 0 5 1;
+#X connect 18 0 2 0;
+#X connect 28 0 32 0;
+#X connect 29 0 10 0;
+#X connect 29 0 14 0;
+#X connect 30 0 29 1;
+#X connect 32 0 11 0;
+#X connect 32 1 33 1;
+#X connect 33 0 9 0;
+#X connect 34 0 33 0;
+#X connect 34 1 9 1;
+#X connect 35 0 36 0;
+#X connect 36 0 38 0;
+#X connect 36 1 37 1;
+#X connect 37 0 28 1;
+#X connect 38 0 37 0;
+#X connect 39 0 40 0;
+#X connect 39 1 41 0;
+#X connect 40 0 42 0;
+#X restore 17 440 pd enhance;
+#N canvas 0 22 501 392 expand 0;
+#X obj 41 33 inlet;
+#X obj 41 313 outlet;
+#X obj 42 64 t a a;
+#X obj 76 93 vasp.!;
+#X obj 41 280 vasp.* @detach 1;
+#X obj 41 247 vasp.sync;
+#X obj 77 167 vasp.flp @detach 1;
+#X obj 218 35 inlet;
+#X obj 76 202 vasp.pow @detach 1;
+#X obj 376 37 inlet;
+#X text 229 165 make a smooth volume curve;
+#X obj 77 136 vasp.abs @detach 1;
+#X connect 0 0 2 0;
+#X connect 2 0 5 0;
+#X connect 2 1 3 0;
+#X connect 3 0 11 0;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;
+#X connect 5 1 4 1;
+#X connect 6 0 8 0;
+#X connect 7 0 6 1;
+#X connect 8 0 5 1;
+#X connect 9 0 8 1;
+#X connect 11 0 6 0;
+#X restore 18 275 pd expand;
+#X obj 82 204 nbx 7 18 1 1e+06 1 1 empty empty low_pass_(samples) 0
+-8 0 12 -225271 -1 -1 220.673 256;
+#X obj 82 240 nbx 7 18 -3 5 0 1 empty empty power 0 -8 0 12 -225271
+-1 -1 0 256;
+#N canvas 0 22 517 408 expand 0;
+#X obj 41 33 inlet;
+#X obj 41 313 outlet;
+#X obj 42 64 t a a;
+#X obj 76 93 vasp.!;
+#X obj 41 280 vasp.* @detach 1;
+#X obj 41 247 vasp.sync;
+#X obj 77 167 vasp.flp @detach 1;
+#X obj 218 35 inlet;
+#X obj 76 202 vasp.pow @detach 1;
+#X obj 376 37 inlet;
+#X text 229 165 make a smooth volume curve;
+#X obj 77 136 vasp.abs @detach 1;
+#X connect 0 0 2 0;
+#X connect 2 0 5 0;
+#X connect 2 1 3 0;
+#X connect 3 0 11 0;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;
+#X connect 5 1 4 1;
+#X connect 6 0 8 0;
+#X connect 7 0 6 1;
+#X connect 8 0 5 1;
+#X connect 9 0 8 1;
+#X connect 11 0 6 0;
+#X restore 18 546 pd expand;
+#X obj 84 482 nbx 7 18 1 1e+06 1 1 empty empty low_pass_(samples) 0
+-8 0 12 -225271 -1 -1 5633.54 256;
+#X obj 84 518 nbx 7 18 -3 10 0 1 empty empty power 0 -8 0 12 -225271
+-1 -1 3 256;
+#X obj 17 614 bng 25 250 50 0 empty empty ready 0 -6 0 12 -24198 -1
+-1;
+#X text 172 240 0... no change;
+#X text 172 519 0... no change;
+#X text 174 410 1... no change;
+#X connect 0 0 38 1;
+#X connect 1 0 38 2;
+#X connect 4 0 3 0;
+#X connect 5 0 2 0;
+#X connect 6 0 23 0;
+#X connect 8 0 5 0;
+#X connect 9 0 5 0;
+#X connect 10 0 4 0;
+#X connect 11 0 4 0;
+#X connect 12 0 23 0;
+#X connect 14 0 25 0;
+#X connect 15 0 25 1;
+#X connect 20 0 24 0;
+#X connect 21 0 24 0;
+#X connect 23 0 31 0;
+#X connect 24 0 32 0;
+#X connect 25 0 39 0;
+#X connect 30 0 38 3;
+#X connect 31 0 12 0;
+#X connect 32 0 21 0;
+#X connect 34 0 45 0;
+#X connect 35 0 24 1;
+#X connect 36 0 23 1;
+#X connect 38 0 42 0;
+#X connect 39 0 38 0;
+#X connect 40 0 39 1;
+#X connect 41 0 39 2;
+#X connect 42 0 34 0;
+#X connect 43 0 42 1;
+#X connect 44 0 42 2;