#N canvas 162 101 824 443 10; #N canvas 40 55 247 122 clear_buffers 0; #X obj 45 79 vasp.update; #X obj 45 56 vasp.= 0; #X obj 45 26 inlet; #X connect 1 0 0 0; #X connect 2 0 1 0; #X restore 362 340 pd clear_buffers; #X text 60 57 optional argument/right inlet: multiplier; #X text 62 41 multiplies a vasp; #X obj 62 19 cnv 15 15 15 empty empty vasp.* 0 10 1 14 -262144 -1 0 ; #N canvas 0 0 450 300 graph168 0; #X array bufmul 88200 float 0; #X coords 0 1 88199 -1 300 120 1; #X restore 390 67 graph; #N canvas 0 0 394 270 init 0; #X obj 33 19 loadbang; #X msg 33 73 \; \$1 xticks 0 4410 10 \; \$1 xlabel 1.1 0 22050 44100 66150 88200 \; \$1 yticks 0 0.25 2 \; \$1 ylabel 94000 -1 -0.5 0 0.5 1; #X msg 33 45 symbol bufmul; #X connect 0 0 2 0; #X connect 2 0 1 0; #X restore 662 331 pd init; #X msg 362 319 vasp bufmul; #X text 182 315 <- click to open; #N canvas 32 40 910 552 envelope_example 0; #X text 167 179 generate noise; #X text 148 346 normalize the vasp; #X obj 59 344 vasp.opt; #X obj 59 321 vasp.flp 2205; #X obj 59 297 vasp.abs; #X obj 60 204 vasp.noise; #X text 74 32 use vasp.* to multiply an envelope to noise; #X msg 60 183 vasp bufmul1; #X text 796 105 bufmul1; #X obj 438 485 dac~; #N canvas 0 0 413 295 clear_buffers 0; #X obj 49 73 vasp.= 0; #X obj 49 49 inlet; #X obj 49 97 vasp.u; #X obj 49 118 bng 15 250 50 0 \$0-draw_display empty empty 0 -6 1152 8 -262144 -1 -1; #X connect 0 0 2 0; #X connect 1 0 0 0; #X connect 2 0 3 0; #X restore 662 492 pd clear_buffers; #X obj 438 435 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X text 463 431 play; #X obj 536 122 wavedisplay-simple bufmul1 \$0; #X obj 536 274 wavedisplay-simple bufmul2 \$0; #X text 797 256 bufmul2; #X obj 80 79 filelist \$0; #N canvas 92 108 393 368 inside 0; #X obj 66 154 soundfiler; #X obj 84 238 s \$0-sample-length; #X obj 66 208 s \$0-draw_display; #X msg 214 206 resize \$1; #X obj 214 159 loadbang; #X obj 67 53 loadbang; #X msg 214 180 88200; #X obj 66 178 t b f f; #X obj 67 101 filelisthandler \$0; #X obj 224 252 s bufmul2; #X obj 214 228 s bufmul1; #X msg 67 133 read -resize \$1 bufmul2; #X msg 67 79 2; #X connect 0 0 7 0; #X connect 3 0 9 0; #X connect 3 0 10 0; #X connect 4 0 6 0; #X connect 5 0 12 0; #X connect 6 0 3 0; #X connect 6 0 1 0; #X connect 7 0 2 0; #X connect 7 1 1 0; #X connect 7 2 3 0; #X connect 8 0 11 0; #X connect 11 0 0 0; #X connect 12 0 8 0; #X restore 780 493 pd inside; #X obj 438 458 tabplay~ bufmul1; #X msg 662 466 vasp bufmul1 bufmul2; #X text 221 79 into buffer bufmul2; #X obj 60 225 vasp.update; #X obj 60 247 bng 15 250 50 0 \$0-draw_display empty empty 0 -6 1152 8 -262144 -1 -1; #X msg 59 275 vasp bufmul2; #X obj 59 367 vasp.update; #X obj 59 389 bng 15 250 50 0 \$0-draw_display empty empty 0 -6 1152 8 -262144 -1 -1; #X text 147 296 get absolute values; #X text 153 422 multiply noise with the envelope; #X obj 60 470 vasp.update; #X obj 60 492 bng 15 250 50 0 \$0-draw_display empty empty 0 -6 1152 8 -262144 -1 -1; #X msg 60 422 vasp bufmul1; #X obj 60 444 vasp.* bufmul2; #X text 157 329 get the envelope (2Hz); #X text 156 316 filter the values with a lowpass to; #X connect 2 0 24 0; #X connect 3 0 2 0; #X connect 4 0 3 0; #X connect 5 0 21 0; #X connect 7 0 5 0; #X connect 11 0 18 0; #X connect 18 0 9 0; #X connect 18 0 9 1; #X connect 19 0 10 0; #X connect 21 0 22 0; #X connect 23 0 4 0; #X connect 24 0 25 0; #X connect 28 0 29 0; #X connect 30 0 31 0; #X connect 31 0 28 0; #X restore 45 315 pd envelope_example; #X obj 45 255 vasp.update; #X msg 45 173 vasp bufmul; #X obj 45 375 VASP-HELP; #X obj 45 119 nbx 5 14 -1 1 0 1 empty empty empty 0 -6 0 10 -24198 -1 -1 0.5 256; #X obj 45 140 t b f; #X obj 45 200 vasp.osc 4410; #X text 138 132 and change gain; #X text 136 118 generate sine wave; #X obj 45 229 vasp.* 0.5; #X connect 6 0 0 0; #X connect 10 0 14 0; #X connect 12 0 13 0; #X connect 13 0 10 0; #X connect 13 1 17 1; #X connect 14 0 17 0; #X connect 17 0 9 0;