#N canvas 615 23 632 672 12;
#X obj 131 43 inlet;
#X obj 376 481 line~;
#X obj 353 265 sqrt;
#X obj 376 509 *~;
#X obj 376 536 *~;
#X obj 284 631 outlet~;
#X obj 226 414 line~;
#X obj 226 442 *~;
#X obj 226 470 *~;
#X obj 226 298 mtof;
#X obj 180 218 +;
#X obj 226 322 sqrt;
#X obj 226 346 sqrt;
#X obj 226 387 pack;
#X obj 400 411 r reset;
#X msg 400 438 0 20;
#X obj 119 466 noise~;
#X obj 271 273 +;
#X obj 271 297 mtof;
#X obj 271 321 sqrt;
#X obj 271 345 sqrt;
#X obj 271 414 line~;
#X obj 271 442 *~;
#X obj 271 470 *~;
#X obj 271 387 pack;
#X obj 180 414 line~;
#X obj 180 442 *~;
#X obj 180 470 *~;
#X obj 180 387 pack;
#X obj 180 299 mtof;
#X obj 180 323 sqrt;
#X obj 180 347 sqrt;
#X obj 180 273 -;
#X obj 119 537 vcf~ 10;
#X obj 203 537 vcf~ 10;
#X obj 284 537 vcf~ 10;
#X obj 353 238 / 2;
#X obj 306 149 data-array amp;
#X obj 209 183 data-array pitch;
#X obj 376 376 pack;
#X text 412 515 Amplitude envelope, f 9;
#X obj 284 594 *~;
#X floatatom 318 348 5 0 0 0 - - - 0;
#X obj 131 101 unpack p f;
#X text 51 310 calculate center frequencies for [vcf~] objects, f 16;
#X text 227 19 This is an abstraction used in the sequencer example. Here we synthesize each voice according to timed pointers from [pd sequence] for each scalar. The pointer is fed to [data-array] abstractions \, loaded to query 'pitch' and 'amp' data. Pitch resolution is in eighth-tones (because 4 pixels per half tone looks reasonable on the screen)., f 53;
#X text 321 365 ramp time, f 4;
#X text 46 445 noise source to filter, f 12;
#X text 417 376 amp and ramp time;
#X connect 0 0 43 0;
#X connect 1 0 3 0;
#X connect 1 0 3 1;
#X connect 2 0 39 0;
#X connect 3 0 4 0;
#X connect 3 0 4 1;
#X connect 4 0 41 1;
#X connect 6 0 7 0;
#X connect 6 0 7 1;
#X connect 7 0 8 0;
#X connect 7 0 8 1;
#X connect 8 0 34 1;
#X connect 9 0 11 0;
#X connect 10 0 32 0;
#X connect 10 0 9 0;
#X connect 10 0 17 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 6 0;
#X connect 14 0 15 0;
#X connect 15 0 1 0;
#X connect 16 0 33 0;
#X connect 16 0 34 0;
#X connect 16 0 35 0;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 19 0 20 0;
#X connect 20 0 24 0;
#X connect 21 0 22 0;
#X connect 21 0 22 1;
#X connect 22 0 23 0;
#X connect 22 0 23 1;
#X connect 23 0 35 1;
#X connect 24 0 21 0;
#X connect 25 0 26 0;
#X connect 25 0 26 1;
#X connect 26 0 27 0;
#X connect 26 0 27 1;
#X connect 27 0 33 1;
#X connect 28 0 25 0;
#X connect 29 0 30 0;
#X connect 30 0 31 0;
#X connect 31 0 28 0;
#X connect 32 0 29 0;
#X connect 33 0 41 0;
#X connect 34 0 41 0;
#X connect 35 0 41 0;
#X connect 36 0 2 0;
#X connect 37 1 36 0;
#X connect 37 2 39 1;
#X connect 38 0 10 0;
#X connect 38 1 32 1;
#X connect 38 1 17 1;
#X connect 38 2 42 0;
#X connect 39 0 1 0;
#X connect 41 0 5 0;
#X connect 42 0 24 1;
#X connect 42 0 13 1;
#X connect 42 0 28 1;
#X connect 43 0 38 0;
#X connect 43 0 37 0;
#X connect 43 1 10 1;
