#N canvas 268 127 978 522 12; #N canvas 293 22 643 732 freeze 0; #X obj 27 137 vasp.split 2; #X obj 30 463 vasp.join 2; #X obj 27 74 vasp.cfft @detach 1; #X obj 32 519 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 32 490 vasp.rect @detach 1; #X obj 29 321 vasp.gate @detach 1; #X obj 95 374 vasp.noise @detach 1; #X obj 29 434 vasp.sync; #X obj 91 208 vasp.max? @detach 1; #X obj 381 17 inlet; #X obj 167 619 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 164 553 pd non0; #X obj 32 564 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 106 435 wait for threads to finish; #X text 193 75 FFT; #X text 195 100 -> polar; #X text 191 487 -> cartesian; #X text 201 515 inverse FFT; #X text 266 371 randomize complex arguments; #X text 228 551 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 95 399 vasp.* 3.14159 @detach 1; #X obj 381 51 / -1200; #X obj 381 77 t b f; #X obj 382 129 pow; #X msg 382 103 2; #X obj 33 617 vasp.u; #X connect 0 0 30 0; #X connect 0 1 10 0; #X connect 1 0 8 0; #X connect 2 0 7 0; #X connect 3 0 16 0; #X connect 4 0 19 0; #X connect 5 0 36 0; #X connect 6 0 17 0; #X connect 7 0 0 0; #X connect 8 0 3 0; #X connect 9 0 31 0; #X connect 10 0 37 0; #X connect 11 0 1 0; #X connect 11 1 1 1; #X connect 12 0 5 0; #X connect 13 0 38 0; #X connect 15 0 14 0; #X connect 16 0 42 0; #X connect 17 0 18 0; #X connect 18 0 5 1; #X connect 19 0 2 0; #X connect 30 0 34 0; #X connect 31 0 11 0; #X connect 31 0 15 0; #X connect 32 0 31 1; #X connect 34 0 12 0; #X connect 34 1 35 1; #X connect 35 0 9 0; #X connect 36 0 35 0; #X connect 36 1 9 1; #X connect 37 0 11 1; #X connect 38 0 39 0; #X connect 39 0 41 0; #X connect 39 1 40 1; #X connect 40 0 30 1; #X connect 41 0 40 0; #X restore 18 331 pd freeze; #X obj 73 210 nbx 6 18 -100 0 0 1 empty empty spectral_gate(dB) 0 -8 0 12 -225271 -1 -1 -95 256; #X obj 73 253 nbx 7 18 -10000 10000 0 1 empty empty transpose(cents) 0 -8 0 12 -225271 -1 -1 0 256; #X obj 448 278 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 729 279 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 729 250 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 448 250 pd open; #X msg 381 222 stop; #N canvas 0 22 450 300 graph10 0; #X array src 2.2491e+07 float 0; #X coords 0 1 2.2491e+07 -1 600 150 1; #X restore 322 20 graph; #X msg 447 222 new; #X msg 482 222 again; #X msg 728 222 new; #X msg 761 222 again; #X msg 332 222 play; #X obj 8 9 cnv 15 300 48 empty empty freeze 5 14 0 20 -233017 -66577 0; #X text 128 13 make static sound; #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 19 375 nbx 9 14 -1e+37 1e+37 0 0 empty empty spectral_density(dB) 0 -6 0 10 -262131 -1 -1 -33.6745 256; #X obj 332 197 cnv 15 100 20 empty empty play_src 5 8 0 10 -261681 -66577 0; #X obj 447 197 cnv 15 100 20 empty empty read_src 5 8 0 10 -261681 -66577 0; #X obj 727 197 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 325 304 graph; #X msg 663 223 stop; #X msg 614 223 play; #X obj 614 198 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 332 250 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 614 251 pd playdst; #N canvas 249 202 571 514 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 311 193 resize dst buffer; #X text 341 221 set to zero; #X obj 185 222 vasp.= 0 @detach 1; #X obj 26 287 vasp.-> @detach 1; #X obj 187 174 vasp.s @ref dst @detach 1; #X connect 0 0 1 0; #X connect 1 0 4 0; #X connect 1 1 23 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 22 0; #X connect 15 1 22 1; #X connect 16 0 3 0; #X connect 21 0 15 1; #X connect 22 1 16 0; #X connect 23 0 21 0; #X restore 18 159 pd copy; #X text 85 160 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 12800 0; #X obj 323 5 hsl 600 15 0 1 0 1 \$0-r1 empty empty -2 -6 0 8 -262131 -1 -1 0 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 871 198 pd sel; #X obj 73 297 nbx 7 18 0.01 10 1 1 empty empty power 0 -8 0 12 -225271 -1 -1 0.873788 256; #X obj 331 277 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 613 277 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X text 11 37 (C)2002-2007 Thomas Grill; #X text 153 210 -100... no gate; #X text 162 296 1... no power; #X obj 18 426 bng 25 250 50 0 empty empty normalize 0 -6 0 12 -24198 -1 -1; #N canvas 0 22 458 308 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 40 82 vasp dst; #X obj 40 56 t b; #X connect 0 0 1 0; #X connect 1 0 3 0; #X connect 3 0 4 0; #X connect 5 0 7 0; #X connect 6 0 3 0; #X connect 7 0 6 0; #X restore 18 454 pd normalize; #X obj 593 220 vsl 15 70 0.01 10 1 1 empty empty empty 0 -8 0 8 -262144 -1 -1 4900 1; #X obj 309 222 vsl 15 70 0.01 10 1 1 empty empty empty 0 -8 0 8 -262144 -1 -1 4900 1; #X connect 0 0 18 0; #X connect 1 0 0 1; #X connect 2 0 0 2; #X connect 5 0 4 0; #X connect 6 0 3 0; #X connect 7 0 26 0; #X connect 9 0 6 0; #X connect 10 0 6 0; #X connect 11 0 5 0; #X connect 12 0 5 0; #X connect 13 0 26 0; #X connect 16 0 28 0; #X connect 17 0 28 1; #X connect 23 0 27 0; #X connect 24 0 27 0; #X connect 26 0 34 0; #X connect 27 0 35 0; #X connect 28 0 0 0; #X connect 33 0 0 3; #X connect 34 0 13 0; #X connect 35 0 24 0; #X connect 39 0 40 0; #X connect 41 0 27 1; #X connect 42 0 26 1;