#N canvas 54 22 826 660 10;
#X obj 13 504 catch~ sum-bus;
#X obj 90 311 metro 10;
#X obj 90 273 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 343 77 openpanel;
#X obj 343 54 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 343 99 loadspearfile;
#X obj 164 518 table frqarray;
#X obj 164 541 table magarray;
#X floatatom 343 121 5 0 0 0 - - -;
#X floatatom 418 122 5 0 0 0 - - -;
#X text 350 138 partials;
#X text 425 138 frame-count;
#X floatatom 289 497 5 0 0 0 - - -;
#X floatatom 289 542 5 0 0 0 - - -;
#X obj 418 160 s framecount;
#X msg 50 347 0;
#X floatatom 50 369 5 0 0 0 - - -;
#X obj 90 347 f;
#X obj 90 368 + 1;
#X obj 37 439 s time;
#X msg 58 249 0;
#X obj 334 285 vsl 15 101 0.125 8 1 1 empty empty empty 0 -9 0 10 -262144
-1 -1 4390 1;
#X obj 337 398 s fscale;
#X msg 334 261 1;
#X obj 334 239 loadbang;
#X floatatom 328 419 5 0 0 0 - - -;
#X symbolatom 408 64 0 0 0 0 - - -;
#X obj 156 318 s fadetime;
#X obj 428 224 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 447 223 s allon;
#X obj 508 223 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 527 223 s alloff;
#X text 309 222 Frequency scale;
#X obj 226 285 vsl 15 101 0.25 4 1 1 empty empty empty 0 -9 0 10 -262144
-1 -1 5000 1;
#X msg 226 261 1;
#X obj 226 239 loadbang;
#X floatatom 226 396 5 0 0 0 - - -;
#X text 214 222 Timebase scale;
#X obj 144 288 * 10;
#X text 42 330 Time counter;
#X text 10 484 Gather up audio outputs;
#X text 285 477 For debugging table;
#X text 501 152 Partials need to know framecount;
#X text 500 164 to find right point in tables;
#X text 433 99 Read a SPEAR sinusoidal analysis file;
#X text 453 110 into frqarray and magarray;
#X text 461 206 OSCILLATOR BANK;
#X text 162 496 Tables to hold data;
#X text 212 51 CLICK HERE FIRST -->;
#X text 214 64 to load the;
#X text 214 76 analysis file;
#X text 35 410 Detect end;
#X obj 37 393 select 999;
#X text 2 -44 additive.pd;
#X text 1 -28 Synthesize a sinusoidal analysis file (from SPEAR) with
a bank of sinusoid oscillators.;
#X text 32 455 Update time point;
#X text 31 467 for oscillators;
#X text 426 47 Filename;
#X obj -10 85 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 63 196 sel 0;
#X msg 90 249 1;
#X obj 250 200 mtof;
#X text 100 204 Note on;
#X text 15 177 Pitch;
#X text 9 85 <-- Click to load the notes file;
#X obj 281 200 / 900;
#X obj 588 223 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 343 160 s partials;
#X obj 13 529 output~;
#X text 14 584 2010-02-26 Dan Ellis dpwe@ee.columbia.edu;
#X obj -10 106 readnotes_durs;
#X obj 29 162 unpack f f f;
#X text 57 177 Vel;
#X text 94 177 Dur;
#X obj 100 131 keybd;
#X floatatom 156 338 5 0 0 0 - - -;
#X obj 144 256 f;
#X obj 159 233 * 0.1;
#X obj 177 267 f;
#X obj 90 218 t b;
#X text 12 206 Note off;
#X text 136 217 Fast offset;
#X text 20 272 Note active;
#X text 1 3 Now with score input from readnotes_durs.;
#X text 0 20 And "fast offset" which accelerates clock 10x when note
off received.;
#X obj 289 520 tabread magarray;
#X obj 607 223 s resetavg;
#X obj 411 242 mypartial 0;
#X obj 411 502 mypartial 13;
#X obj 411 522 mypartial 14;
#X obj 411 462 mypartial 11;
#X obj 411 402 mypartial 8;
#X obj 411 262 mypartial 1;
#X obj 411 282 mypartial 2;
#X obj 411 302 mypartial 3;
#X obj 411 342 mypartial 5;
#X obj 411 362 mypartial 6;
#X obj 411 382 mypartial 7;
#X obj 411 422 mypartial 9;
#X obj 411 442 mypartial 10;
#X obj 411 482 mypartial 12;
#X obj 411 542 mypartial 15;
#X obj 597 242 mypartial 16;
#X obj 597 262 mypartial 17;
#X obj 597 282 mypartial 18;
#X obj 597 302 mypartial 19;
#X obj 597 322 mypartial 20;
#X obj 597 342 mypartial 21;
#X obj 597 362 mypartial 22;
#X obj 597 382 mypartial 23;
#X obj 597 402 mypartial 24;
#X obj 597 421 mypartial 25;
#X obj 597 442 mypartial 26;
#X obj 597 462 mypartial 27;
#X obj 597 482 mypartial 28;
#X obj 597 502 mypartial 29;
#X obj 597 522 mypartial 30;
#X obj 597 541 mypartial 31;
#X obj 411 322 mypartial 4;
#X connect 0 0 68 0;
#X connect 0 0 68 1;
#X connect 1 0 17 0;
#X connect 2 0 1 0;
#X connect 3 0 5 0;
#X connect 3 0 26 0;
#X connect 4 0 3 0;
#X connect 5 0 8 0;
#X connect 5 1 9 0;
#X connect 8 0 67 0;
#X connect 9 0 14 0;
#X connect 9 0 52 1;
#X connect 12 0 85 0;
#X connect 15 0 16 0;
#X connect 16 0 18 0;
#X connect 16 0 19 0;
#X connect 16 0 52 0;
#X connect 17 0 16 0;
#X connect 18 0 17 1;
#X connect 20 0 2 0;
#X connect 21 0 22 0;
#X connect 21 0 25 0;
#X connect 23 0 21 0;
#X connect 24 0 23 0;
#X connect 28 0 29 0;
#X connect 30 0 31 0;
#X connect 33 0 36 0;
#X connect 33 0 77 0;
#X connect 33 0 78 1;
#X connect 33 0 78 0;
#X connect 34 0 33 0;
#X connect 35 0 34 0;
#X connect 38 0 27 0;
#X connect 38 0 1 1;
#X connect 38 0 75 0;
#X connect 52 0 20 0;
#X connect 58 0 70 0;
#X connect 59 0 76 0;
#X connect 59 1 79 0;
#X connect 60 0 2 0;
#X connect 61 0 65 0;
#X connect 65 0 21 0;
#X connect 66 0 86 0;
#X connect 70 0 71 0;
#X connect 71 0 61 0;
#X connect 71 1 59 0;
#X connect 74 0 71 0;
#X connect 76 0 38 0;
#X connect 77 0 76 1;
#X connect 78 0 38 0;
#X connect 79 0 60 0;
#X connect 79 0 15 0;
#X connect 79 0 78 0;
#X connect 85 0 13 0;
