blob: 478f4273bec961aee9c41721f2823ef8b3f29042 (
plain)
1
|
max v2;
#N vpatcher 153 83 876 572;
#P origin 0 10;
#P user umenu 80 104 72 196647 1 64 120 1;
#X add bass.aif;
#X add beat.aif;
#X add fly.aif;
#X add plastic.aif;
#X add your_own...;
#N vpatcher 93 462 344 681;
#P message 59 102 28 196617 read;
#P newex 59 69 89 196617 route your_own...;
#N comlet popup comment in;
#P inlet 59 26 15 0;
#P newex 59 149 54 196617 s 1063path1;
#P newex 138 102 79 196617 sprintf read %s;
#P connect 2 0 3 0;
#P connect 3 0 4 0;
#P fasten 0 0 1 0 143 134 64 134;
#P connect 4 0 1 0;
#P connect 3 1 0 0;
#P pop;
#P hidden newobj 142 125 43 196617 p loader;
#P message 501 400 90 196617 vasp bufre! bufim!;
#N vpatcher 40 55 218 175;
#P newex 45 79 61 196617 vasp.update;
#P newex 45 56 45 196617 vasp.= 0;
#N comlet vasp to clear in;
#P inlet 45 26 15 0;
#P connect 0 0 1 0;
#P connect 1 0 2 0;
#P pop;
#P newobj 501 420 78 196617 p clear_buffers;
#P hidden newex 593 370 54 196617 r 1063path1;
#P comment 53 106 26 196617 read;
#P comment 154 312 214 196617 inverse cfft to transform back to time domain;
#P newex 62 360 61 196617 vasp.update;
#P message 62 311 90 196617 vasp bufre! bufim!;
#P newex 62 339 52 196617 vasp.c!fft;
#N vpatcher 155 102 963 712;
#P origin 0 7;
#P user umenu 262 101 72 196647 1 64 117 1;
#X add bass.aif;
#X add beat.aif;
#X add fly.aif;
#X add plastic.aif;
#X add your_own...;
#N vpatcher 93 462 344 681;
#P message 59 102 28 196617 read;
#P newex 59 69 89 196617 route your_own...;
#N comlet popup comment in;
#P inlet 59 26 15 0;
#P newex 59 149 48 196617 s 1063path;
#P newex 138 102 79 196617 sprintf read %s;
#P connect 2 0 3 0;
#P connect 3 0 4 0;
#P connect 4 0 1 0;
#P fasten 0 0 1 0 143 134 64 134;
#P connect 3 1 0 0;
#P pop;
#P hidden newobj 324 123 43 196617 p loader;
#P message 558 519 102 196617 vasp bufre1! bufim1!;
#N vpatcher 40 55 218 175;
#P newex 45 79 61 196617 vasp.update;
#P newex 45 56 45 196617 vasp.= 0;
#N comlet vasp to clear in;
#P inlet 45 26 15 0;
#P connect 0 0 1 0;
#P connect 1 0 2 0;
#P pop;
#P newobj 558 539 78 196617 p clear_buffers;
#P hidden newex 662 492 48 196617 r 1063path;
#P comment 235 103 26 196617 read;
#P flonum 367 323 33 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P comment 157 201 148 196617 transform to frequency domain;
#P comment 288 325 79 196617 Hz \, a gainfactor;
#P flonum 227 323 59 9 0 0 160 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P hidden newex 557 401 27 196617 - 0.;
#P hidden newex 557 380 27 196617 t b f;
#P newex 54 539 61 196617 vasp.update;
#P comment 159 498 177 196617 invers cfft to get back to time domain;
#P message 54 497 102 196617 vasp bufre1! bufim1!;
#P newex 54 517 52 196617 vasp.c!fft;
#P comment 105 264 167 196617 clear upper (mirrored frequencies);
#P newex 54 282 61 196617 vasp.update;
#P newex 54 262 45 196617 vasp.= 0;
#P button 97 342 15 0;
#P newex 54 467 61 196617 vasp.update;
#P newex 54 446 51 196617 vasp.* 1.;
#P message 64 399 164 196617 set vasp \$1 bufre1! \$2 bufim1! \$2;
#N vpatcher 139 82 551 321;
#P origin 0 107;
#N comlet length and offset as a list;
#P outlet 99 199 15 0;
#P comment 161 182 194 196617 2nd element of the list offset of the vasp;
#N comlet loop startpoint;
#P inlet 69 24 15 0;
#N comlet loop endpoint;
#P inlet 99 24 15 0;
#P newex 99 94 27 196617 - 0.;
#P newex 99 73 27 196617 t b f;
#P comment 181 117 72 196617 msec to samps;
#P comment 136 93 118 196617 <<< end - start = length;
#P newex 255 135 87 196617 * 44.099998;
#P newex 99 114 71 196617 * 44.099998;
#P newex 99 162 50 196617 pack 0 0;
#P comment 162 165 194 196617 1st element of the list lenght of the vasp;
#P fasten 9 0 6 0 74 61 104 61;
#P connect 6 0 7 0;
#P fasten 8 0 7 0 104 52 89 52 89 92 104 92;
#P connect 7 0 2 0;
#P connect 2 0 1 0;
#P connect 1 0 11 0;
#P connect 6 1 7 1;
#P fasten 3 0 1 1 260 157 144 157;
#P fasten 9 0 3 0 74 61 260 61;
#P pop;
#P newobj 64 371 64 196617 p looptovasp;
#P comment 455 360 71 196617 selection from;
#P comment 671 360 17 196617 Hz;
#P comment 589 360 17 196617 to;
#P flonum 609 358 59 9 0 0 160 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 528 358 59 9 0 0 160 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P hidden newex 609 337 27 196617 / 4.;
#P hidden newex 528 337 27 196617 / 4.;
#P hidden newex 609 320 67 196617 * 44.099998;
#P hidden newex 528 319 66 196617 * 44.099998;
#P comment 740 313 42 196617 44.1kHz;
#P comment 454 314 35 196617 0 Hz;
#P newex 54 241 55 196617 vasp.upper;
#P comment 717 197 49 196617 imaginary;
#P message 54 200 102 196617 vasp bufre1! bufim1!;
#P newex 54 221 49 196617 vasp.cfft;
#P hidden message 455 193 59 196617 set bufim1!;
#P user waveform~ 455 211 312 99 3 9;
#W mode select;
#W mouseoutput continuous;
#W unit ms;
#W grid 1000.;
#W ticks 8.;
#W labels 1;
#W vlabels 1;
#W vticks 1;
#W vzoom 1.;
#W voffset 0.;
#W bpm 120. 4.;
#W frgb 0 0 0;
#W brgb 255 255 255;
#W rgb2 132 132 132;
#W rgb3 0 0 0;
#W rgb4 0 0 0;
#W rgb5 255 255 255;
#W rgb6 100 100 100;
#W rgb7 100 100 100;
#P newex 662 539 105 196617 buffer~ bufim1! 4000;
#N vpatcher 40 55 418 371;
#P button 183 82 15 0;
#P newex 129 145 60 196617 prepend set;
#N comlet waveform~ mode messages;
#P inlet 129 121 15 0;
#P newex 259 64 27 196617 << 1;
#P newex 206 121 40 196617 change;
#P newex 206 145 107 196617 select 0 1 2;
#P newex 206 98 27 196617 |;
#P newex 47 121 40 196617 change;
#P outlet 129 252 15 0;
#P message 47 145 65 196617 constrain \$1;
#P newex 129 195 45 196617 loadbang;
#P newex 47 40 222 196617 pushkeys;
#P message 270 169 58 196617 mode move;
#P message 206 213 61 196617 mode select;
#P message 238 191 52 196617 mode loop;
#P connect 3 0 7 0;
#P connect 7 0 5 0;
#P connect 12 0 13 0;
#P fasten 2 0 6 0 275 243 134 243;
#P fasten 1 0 6 0 211 243 134 243;
#P fasten 0 0 6 0 243 243 134 243;
#P fasten 5 0 6 0 52 243 134 243;
#P connect 11 0 14 0;
#P connect 14 0 8 0;
#P connect 3 3 8 0;
#P connect 8 0 10 0;
#P connect 10 0 9 0;
#P connect 13 0 1 0;
#P connect 9 0 1 0;
#P connect 4 0 1 0;
#P connect 11 0 8 1;
#P connect 9 1 0 0;
#P connect 3 4 11 0;
#P connect 9 2 2 0;
#P pop;
#P hidden newobj 455 28 49 196617 p wfkeys;
#P message 414 541 27 196617 stop;
#P message 346 541 65 196617 startwindow;
#P newex 455 567 29 196617 dac~;
#P newex 455 515 30 196617 line~;
#P message 455 492 72 196617 0 \, 4000 4000;
#P newex 455 539 69 196617 play~ bufre1!;
#P hidden message 455 71 58 196617 set bufre1!;
#P hidden newex 455 50 45 196617 loadbang;
#P user waveform~ 455 90 312 99 3 9;
#W mode select;
#W mouseoutput continuous;
#W unit ms;
#W grid 1000.;
#W ticks 8.;
#W labels 1;
#W vlabels 1;
#W vticks 1;
#W vzoom 1.;
#W voffset 0.;
#W bpm 120. 4.;
#W frgb 0 0 0;
#W brgb 255 255 255;
#W rgb2 132 132 132;
#W rgb3 0 0 0;
#W rgb4 0 0 0;
#W rgb5 255 255 255;
#W rgb6 100 100 100;
#W rgb7 100 100 100;
#P newex 54 144 55 196617 vasp.* 0.5;
#P newex 54 166 61 196617 vasp.update;
#P message 54 102 65 196617 vasp bufre1!;
#P newex 662 519 105 196617 buffer~ bufre1! 4000;
#P newex 54 122 55 196617 vasp.noise;
#P comment 48 55 339 196617 change gain of a region in the frequency domain to filter a buffer content;
#P comment 48 33 144 196622 filter_example;
#P comment 120 103 114 196617 generate white noise or;
#P comment 744 77 26 196617 real;
#P comment 597 312 35 196617 sr/2;
#P comment 129 369 174 196617 this patcher scales a wavedraw selection into the vasp format;
#P comment 70 325 152 196617 select a region ( frequency band);
#P comment 70 343 25 196617 and;
#P connect 10 0 8 0;
#P connect 8 0 12 0;
#P connect 12 0 11 0;
#P connect 27 0 26 0;
#P connect 26 0 29 0;
#P connect 29 0 46 0;
#P connect 46 0 47 0;
#P fasten 42 0 43 0 69 430 59 430;
#P fasten 45 0 43 0 102 363 59 363;
#P connect 43 0 44 0;
#P connect 50 0 49 0;
#P connect 49 0 52 0;
#P hidden fasten 24 2 41 0 580 313 69 313;
#P connect 41 0 42 0;
#P fasten 58 0 43 1 372 428 100 428;
#P hidden fasten 24 3 41 1 640 313 123 313;
#P hidden fasten 54 0 55 0 562 420 429 420 429 313 232 313;
#P hidden connect 64 1 63 0;
#P hidden connect 14 0 15 0;
#P hidden fasten 9 1 15 0 762 537 774 537 774 70;
#P hidden connect 22 0 13 0;
#P hidden connect 15 0 13 0;
#P hidden fasten 14 0 25 0 460 193 460 193;
#P hidden fasten 22 0 24 0 460 86 460 86;
#P hidden connect 25 0 24 0;
#P connect 17 0 18 0;
#P connect 18 0 16 0;
#P connect 16 0 19 0;
#P fasten 20 0 19 0 351 561 460 561;
#P fasten 21 0 19 0 419 561 460 561;
#P connect 16 0 19 1;
#P hidden fasten 24 2 32 0 580 315 533 315;
#P hidden connect 32 0 34 0;
#P hidden connect 34 0 36 0;
#P hidden fasten 36 0 53 0 533 377 562 377;
#P hidden connect 53 0 54 0;
#P hidden fasten 37 0 54 0 614 399 562 399;
#P connect 62 0 61 0;
#P hidden connect 53 1 54 1;
#P hidden fasten 24 3 33 0 640 315 614 315;
#P hidden connect 33 0 35 0;
#P hidden connect 35 0 37 0;
#P hidden fasten 60 0 9 0 667 512 667 512;
#P hidden fasten 24 5 13 4 760 341 760 341 760 68 760 68;
#P hidden connect 13 5 24 4;
#P pop;
#P newobj 62 420 85 196617 p filter_example!;
#P comment 666 312 42 196617 44.1kHz;
#P comment 380 312 35 196617 0 Hz;
#P newex 62 192 61 196617 vasp.update;
#P comment 644 193 49 196617 imaginary;
#P message 62 143 90 196617 vasp bufre! bufim!;
#P newex 62 171 49 196617 vasp.cfft;
#P hidden message 381 190 53 196617 set bufim!;
#P user waveform~ 381 208 312 99 3 9;
#W mode select;
#W mouseoutput continuous;
#W unit ms;
#W grid 1000.;
#W ticks 8.;
#W labels 1;
#W vlabels 1;
#W vticks 1;
#W vzoom 1.;
#W voffset 0.;
#W bpm 120. 4.;
#W frgb 0 0 0;
#W brgb 255 255 255;
#W rgb2 132 132 132;
#W rgb3 0 0 0;
#W rgb4 0 0 0;
#W rgb5 255 255 255;
#W rgb6 100 100 100;
#W rgb7 100 100 100;
#P newex 593 420 100 196617 buffer~ bufim! 4000;
#N vpatcher 40 55 418 371;
#P button 183 82 15 0;
#P newex 129 145 60 196617 prepend set;
#N comlet waveform~ mode messages;
#P inlet 129 121 15 0;
#P newex 259 64 27 196617 << 1;
#P newex 206 121 40 196617 change;
#P newex 206 145 107 196617 select 0 1 2;
#P newex 206 98 27 196617 |;
#P newex 47 121 40 196617 change;
#P outlet 129 252 15 0;
#P message 47 145 65 196617 constrain \$1;
#P newex 129 195 45 196617 loadbang;
#P newex 47 40 222 196617 pushkeys;
#P message 270 169 58 196617 mode move;
#P message 206 213 61 196617 mode select;
#P message 238 191 52 196617 mode loop;
#P connect 3 0 7 0;
#P connect 7 0 5 0;
#P connect 12 0 13 0;
#P fasten 5 0 6 0 52 243 134 243;
#P fasten 0 0 6 0 243 243 134 243;
#P fasten 1 0 6 0 211 243 134 243;
#P fasten 2 0 6 0 275 243 134 243;
#P connect 11 0 14 0;
#P connect 3 3 8 0;
#P connect 14 0 8 0;
#P connect 8 0 10 0;
#P connect 10 0 9 0;
#P connect 4 0 1 0;
#P connect 9 0 1 0;
#P connect 13 0 1 0;
#P connect 11 0 8 1;
#P connect 9 1 0 0;
#P connect 3 4 11 0;
#P connect 9 2 2 0;
#P pop;
#P hidden newobj 381 25 49 196617 p wfkeys;
#P message 340 421 27 196617 stop;
#P message 272 421 65 196617 startwindow;
#P newex 381 447 29 196617 dac~;
#P newex 381 395 30 196617 line~;
#P message 381 372 72 196617 0 \, 4000 4000;
#P newex 381 420 63 196617 play~ bufre!;
#P hidden message 381 68 52 196617 set bufre!;
#P hidden newex 381 47 45 196617 loadbang;
#P user waveform~ 381 87 312 99 3 9;
#W mode select;
#W mouseoutput continuous;
#W unit ms;
#W grid 1000.;
#W ticks 8.;
#W labels 1;
#W vlabels 1;
#W vticks 1;
#W vzoom 1.;
#W voffset 0.;
#W bpm 120. 4.;
#W frgb 0 0 0;
#W brgb 255 255 255;
#W rgb2 132 132 132;
#W rgb3 0 0 0;
#W rgb4 0 0 0;
#W rgb5 255 255 255;
#W rgb6 100 100 100;
#W rgb7 100 100 100;
#P newex 593 400 100 196617 buffer~ bufre! 4000;
#P comment 49 58 218 196617 inverse complex fourier transformation;
#P comment 49 35 89 196622 vasp.c!fft;
#P comment 49 73 123 196617 c!fft needs two buffers;
#P comment 670 73 26 196617 real;
#P comment 127 195 207 196617 now time is frequency and frequency is time;
#P comment 524 312 35 196617 sr/2;
#P comment 62 243 249 196617 to get back to the source file in time domain either use 3 more times vasp.cfft or just vasp.c!fft !!;
#P comment 155 144 146 196617 transform to frequency domain;
#P connect 23 0 22 0;
#P connect 22 0 25 0;
#P connect 30 0 29 0;
#P connect 29 0 31 0;
#P hidden connect 38 1 37 0;
#P hidden connect 10 0 11 0;
#P hidden fasten 8 1 11 0 688 417 701 417 701 67;
#P hidden connect 18 0 9 0;
#P hidden connect 11 0 9 0;
#P hidden fasten 10 0 21 0 386 190 386 190;
#P hidden fasten 18 0 20 0 386 83 386 83;
#P hidden connect 21 0 20 0;
#P connect 13 0 14 0;
#P connect 14 0 12 0;
#P connect 12 0 15 0;
#P fasten 17 0 15 0 345 440 386 440;
#P fasten 16 0 15 0 277 440 386 440;
#P connect 12 0 15 1;
#P connect 36 0 35 0;
#P hidden connect 34 0 8 0;
#P hidden fasten 20 5 9 4 686 338 686 338 686 65 686 65;
#P hidden connect 9 5 20 4;
#P pop;
|