#N canvas 380 26 956 659 12;
#X obj 790 108 s osc-amp;
#X obj 266 482 line~;
#X obj 266 431 dbtorms;
#X obj 154 448 *~;
#X floatatom 781 377 4 0 0 0 - - - 0;
#X msg 689 394 0;
#X floatatom 821 398 4 0 0 0 - - - 0;
#N canvas 395 221 458 221 peak-template 0;
#X obj 59 81 filledpolygon 3 3 3 0 0 0 amp 0 0;
#X obj 58 41 struct peak-template float x float y float amp;
#X text 55 131 This is a template for ploting FFT amplitude peaks \,
where a polygon is drawn for all peaks., f 46;
#X restore 308 552 pd peak-template;
#N canvas 90 25 851 337 peak-list 1;
#X coords 0 337 1 336 0 0 0;
#X restore 453 591 pd peak-list;
#N canvas 90 222 1177 513 trace-list 1;
#X coords 0 128.25 1 128 0 0 0;
#X restore 453 570 pd trace-list;
#N canvas 375 90 563 188 trace-template 0;
#X text 65 101 This template describes a pitch/amplitude trace. The
array "bazoo" holds the actual points. In this template \, y is always
0 and x is the starting location in pixels. There are 5 pixels per
point.;
#X obj 84 26 struct trace-template float x float y float voiceno array
bazoo point-template;
#X obj 88 68 plot bazoo 0 1 0 0 5;
#X restore 308 573 pd trace-template;
#N canvas 311 238 528 190 point-template 0;
#X text 64 65 This template describes a single point on a pitch trace
(cf. trace-template w describes the trace itself.);
#X text 64 98 "y" is the field that is shown on the graph \; it's -
4 * pitch. You also get an "amp" field in dB \, which you can't see
as a plot (yet).;
#X obj 113 29 struct point-template float y float amp;
#X restore 308 594 pd point-template;
#X obj 54 472 line~;
#X obj 54 424 dbtorms;
#X floatatom 578 75 5 0 110 0 - - - 16;
#N canvas 193 52 484 428 output 0;
#X obj 229 127 t b f;
#X obj 229 152 +;
#X obj 340 294 f;
#X obj 358 252 f;
#X obj 252 325 f;
#X obj 89 193 f;
#X obj 89 21 inlet;
#X text 50 22 mute;
#X obj 89 328 f;
#X msg 211 240 0;
#X msg 89 113 bang;
#X obj 89 221 moses 1;
#X obj 205 91 t b f;
#X obj 198 120 +;
#X obj 180 53 r loop-amp;
#X obj 288 53 r osc-amp;
#X obj 111 378 s loop-amp;
#X obj 211 360 s osc-amp;
#X obj 162 235 f;
#X obj 270 255 f;
#X obj 211 190 t b b;
#X obj 376 53 r grain-amp;
#X obj 340 322 s grain-amp;
#X obj 89 255 b;
#X connect 0 0 1 0;
#X connect 0 1 1 1;
#X connect 1 0 5 1;
#X connect 2 0 22 0;
#X connect 3 0 2 1;
#X connect 4 0 17 0;
#X connect 5 0 11 0;
#X connect 6 0 10 0;
#X connect 8 0 16 0;
#X connect 9 0 16 0;
#X connect 9 0 17 0;
#X connect 9 0 22 0;
#X connect 10 0 5 0;
#X connect 11 0 23 0;
#X connect 11 1 20 0;
#X connect 12 0 13 0;
#X connect 12 1 13 1;
#X connect 13 0 1 0;
#X connect 14 0 13 0;
#X connect 14 0 18 1;
#X connect 15 0 12 0;
#X connect 15 0 19 1;
#X connect 18 0 8 1;
#X connect 19 0 4 1;
#X connect 20 0 9 0;
#X connect 20 1 18 0;
#X connect 20 1 19 0;
#X connect 20 1 3 0;
#X connect 21 0 3 1;
#X connect 21 0 0 0;
#X connect 23 0 8 0;
#X connect 23 0 4 0;
#X connect 23 0 2 0;
#X restore 872 108 pd output;
#X obj 36 501 *~;
#X obj 36 584 hip~ 5;
#X obj 36 622 dac~;
#X obj 578 108 s loop-amp;
#X msg 872 70 mute;
#X floatatom 102 255 6 0 0 0 location location-set location 16;
#X obj 146 491 r loop-amp;
#X obj 728 432 f;
#X obj 768 431 +;
#X msg 692 465 0;
#X msg 728 377 1;
#X msg 728 513 \; location \$1 \; snapshot bang;
#X floatatom 728 456 6 0 0 0 - - - 0;
#X obj 658 354 t b b;
#X obj 821 374 r incr;
#X obj 54 398 r grain-amp;
#X obj 266 406 r osc-amp;
#N canvas 480 48 685 649 osc-bank 0;
#X msg 109 112 0;
#X obj 433 430 pointer;
#X obj 314 198 pointer;
#X msg 250 347 next;
#X msg 245 141 1;
#X msg 277 141 0;
#X obj 314 306 <;
#X obj 109 193 until;
#X obj 227 222 f;
#X obj 227 245 sel 0 1;
#X obj 354 298 r synth-index;
#X obj 314 334 sel 0 1;
#X obj 109 139 f;
#X obj 109 163 s synth-index;
#X obj 150 140 + 5;
#X obj 32 93 t b b b;
#X obj 32 227 s osc-tick;
#X msg 314 141 traverse pd-trace-list \, next;
#X obj 313 52 t b b b;
#X msg 359 80 \; pd-trace-list sort;
#X obj 245 179 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000
#000000 0 1;
#X obj 314 250 get trace-template x;
#X obj 314 278 f;
#X obj 337 361 t b b b;
#X obj 285 484 poly 50;
#X obj 285 417 f;
#X obj 326 406 + 1;
#X obj 326 430 mod 1e+06;
#X obj 285 514 pack f f f p;
#X text 203 405 make an ID;
#X text 204 419 for the;
#X text 206 434 track;
#X obj 93 390 r osc-noteoff;
#X text 90 341 voice sends us;
#X text 89 356 a note-off when;
#X text 92 368 done;
#X text 299 543 message is: voice number \, on/off \, track ID \, pointer
;
#X obj 314 224 trigger pointer pointer;
#X obj 285 601 outlet~;
#X obj 93 417 pack f f;
#X obj 285 456 pack f 1;
#X obj 285 570 clone -s 1 50 osc-voice;
#X obj 313 20 inlet;
#X obj 373 20 inlet;
#X connect 0 0 12 0;
#X connect 1 0 28 3;
#X connect 2 0 37 0;
#X connect 2 1 5 0;
#X connect 2 1 7 1;
#X connect 3 0 2 0;
#X connect 4 0 20 0;
#X connect 5 0 20 0;
#X connect 6 0 11 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 9 0 7 1;
#X connect 9 1 22 0;
#X connect 10 0 6 1;
#X connect 11 0 7 1;
#X connect 11 1 23 0;
#X connect 12 0 13 0;
#X connect 12 0 14 0;
#X connect 14 0 12 1;
#X connect 15 0 16 0;
#X connect 15 1 7 0;
#X connect 15 2 12 0;
#X connect 17 0 2 0;
#X connect 18 0 17 0;
#X connect 18 1 4 0;
#X connect 18 1 0 0;
#X connect 18 2 19 0;
#X connect 20 0 8 1;
#X connect 21 0 22 0;
#X connect 22 0 6 0;
#X connect 23 0 3 0;
#X connect 23 1 25 0;
#X connect 23 2 1 0;
#X connect 24 0 28 0;
#X connect 24 1 28 2;
#X connect 24 2 28 1;
#X connect 25 0 26 0;
#X connect 25 0 40 0;
#X connect 26 0 27 0;
#X connect 27 0 25 1;
#X connect 28 0 41 0;
#X connect 32 0 39 0;
#X connect 37 0 21 0;
#X connect 37 1 1 1;
#X connect 39 0 24 0;
#X connect 40 0 24 0;
#X connect 41 0 38 0;
#X connect 42 0 18 0;
#X connect 43 0 15 0;
#X restore 154 399 pd osc-bank;
#X obj 680 108 s grain-amp;
#X text 793 131 resynth;
#X text 666 131 analyzed grains;
#X text 582 131 original;
#N canvas 251 52 408 513 test-signal 0;
#X obj 127 345 tabread4~ sample;
#X obj 127 320 line~;
#X obj 127 227 f;
#X obj 199 130 r insamprate;
#X obj 295 412 *~;
#X obj 313 363 dbtorms;
#X obj 313 30 inlet;
#X obj 295 457 outlet~;
#X obj 148 98 r insamplength;
#X msg 127 294 0 \, \$1 \$2;
#X obj 180 231 /;
#X obj 245 194 * 0.001;
#X obj 47 83 loadbang;
#X text 96 41 sample playback;
#X msg 47 111 1;
#X obj 47 185 metro 1000;
#X floatatom 47 144 0 0 0 0 - - - 0;
#X obj 199 159 t b b f;
#X obj 148 175 t b f;
#X obj 127 268 pack f f;
#X connect 0 0 4 0;
#X connect 1 0 0 0;
#X connect 2 0 19 0;
#X connect 3 0 17 0;
#X connect 4 0 7 0;
#X connect 5 0 4 1;
#X connect 6 0 5 0;
#X connect 8 0 18 0;
#X connect 9 0 1 0;
#X connect 10 0 15 1;
#X connect 10 0 19 1;
#X connect 11 0 10 1;
#X connect 12 0 14 0;
#X connect 14 0 16 0;
#X connect 15 0 2 0;
#X connect 16 0 15 0;
#X connect 17 0 14 0;
#X connect 17 1 10 0;
#X connect 17 2 11 0;
#X connect 18 0 14 0;
#X connect 18 1 10 0;
#X connect 18 1 2 1;
#X connect 19 0 9 0;
#X restore 146 519 pd test-signal;
#X obj 737 269 tabwrite~ sample;
#X text 165 10 SINUSOID TRACKING;
#X obj 228 335 tgl 20 0 empty empty empty 0 -6 0 8 #dfdfdf #000000
#000000 0 1;
#N canvas 307 190 576 435 sigmund 0;
#X obj 206 284 spigot;
#X obj 187 99 f;
#X obj 187 133 pack;
#X obj 235 68 r window-size;
#X obj 343 45 r location;
#X obj 343 84 *;
#X obj 382 73 r sample-rate;
#X obj 382 98 * 0.001;
#X obj 164 36 r snapshot;
#X obj 245 260 tgl 15 0 empty empty empty 0 -6 0 8 #fcfcfc #000000
#000000 0 1;
#X obj 57 276 s done-analysis;
#X obj 303 133 s start-analysis;
#X obj 164 69 t b b b;
#X msg 187 161 list sample \$1 \$2 44100 0;
#X obj 434 284 spigot;
#X obj 473 260 tgl 15 0 empty empty empty 0 -6 0 8 #fcfcfc #000000
#000000 0 1;
#X floatatom 74 80 5 1 50 0 - - - 0;
#X msg 74 103 npeak \$1;
#X obj 74 54 r nvoice;
#X obj 408 386 outlet;
#X obj 187 191 sigmund~ -t -npts 1024 -npeak 50 -maxfreq 8000 peaks
tracks, f 32;
#X obj 187 386 outlet;
#X obj 206 310 print peaks;
#X obj 434 310 print tracks;
#X connect 0 0 22 0;
#X connect 1 0 2 0;
#X connect 2 0 13 0;
#X connect 3 0 1 1;
#X connect 4 0 5 0;
#X connect 5 0 2 1;
#X connect 6 0 7 0;
#X connect 7 0 5 1;
#X connect 8 0 12 0;
#X connect 9 0 0 1;
#X connect 12 0 10 0;
#X connect 12 1 1 0;
#X connect 12 2 11 0;
#X connect 13 0 20 0;
#X connect 14 0 23 0;
#X connect 15 0 14 1;
#X connect 16 0 17 0;
#X connect 17 0 20 0;
#X connect 18 0 16 0;
#X connect 20 0 0 0;
#X connect 20 0 21 0;
#X connect 20 1 14 0;
#X connect 20 1 19 0;
#X restore 378 408 pd sigmund;
#X obj 728 483 moses 1350;
#X obj 728 403 metro 50;
#N canvas 465 106 752 531 misc 0;
#X msg 291 270 \; clear-all bang;
#X msg 291 228 \; snapshot bang;
#X obj 87 60 osc~ 110;
#X obj 145 135 line~;
#X obj 87 112 *~;
#X obj 87 150 +~ 0.2;
#X obj 87 178 cos~;
#X obj 289 179 line~;
#X obj 87 211 *~;
#X obj 87 273 tabwrite~ sample;
#X obj 289 31 bng 15 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000
#000000;
#X msg 145 105 0 \, 2 500;
#X msg 289 137 0 \, 1 100;
#X obj 363 92 del 500;
#X msg 214 137 0.05 500;
#X msg 363 137 0 2000;
#X obj 543 242 r location;
#X msg 543 267 set \$1;
#X obj 543 292 s location-set;
#X msg 543 352 set \$1;
#X obj 543 327 r osc-speed;
#X obj 543 377 s osc-speed-set;
#X msg 543 437 set \$1;
#X obj 543 412 r nvoice;
#X obj 543 466 s nvoice-set;
#X obj 542 132 loadbang;
#X msg 542 157 \; osc-speed 10 \; nvoice 25 \; pd-trace-list clear
;
#N canvas 208 32 1115 470 make-trace 0;
#X obj 731 286 setsize trace-template bazoo;
#X obj 731 161 random 200;
#X obj 731 187 + 100;
#X obj 889 184 pointer;
#X obj 189 185 pointer;
#X floatatom 229 309 0 0 0 0 - - - 0;
#X floatatom 124 245 0 0 0 0 - - - 0;
#X msg 189 151 bang;
#X floatatom 166 97 0 0 0 0 - - - 0;
#X floatatom 29 149 0 0 0 0 - - - 0;
#X floatatom 189 241 0 0 0 0 - - - 0;
#X floatatom 476 305 0 0 0 0 - - - 0;
#X floatatom 296 372 0 0 0 0 - - - 0;
#X floatatom 628 210 0 0 0 0 - - - 0;
#X obj 419 122 pointer;
#X msg 438 95 next;
#X floatatom 477 209 0 0 0 0 - - - 0;
#X obj 476 271 getsize trace-template bazoo;
#X obj 189 214 get point-template y;
#X obj 29 173 set point-template y;
#X obj 166 123 element trace-template bazoo;
#X obj 124 275 setsize trace-template bazoo;
#X obj 296 397 set trace-template x;
#X obj 229 335 set trace-template y;
#X msg 731 136 bang;
#X obj 731 211 append trace-template x;
#X obj 477 185 get trace-template x y;
#X obj 731 238 t b p;
#X msg 731 263 5;
#X msg 419 69 traverse pd-trace-list \, next;
#X msg 889 159 traverse pd-trace-list \, bang;
#X connect 1 0 2 0;
#X connect 2 0 25 0;
#X connect 3 0 25 1;
#X connect 4 0 18 0;
#X connect 5 0 23 0;
#X connect 6 0 21 0;
#X connect 7 0 4 0;
#X connect 8 0 20 0;
#X connect 9 0 19 0;
#X connect 12 0 22 0;
#X connect 14 0 21 1;
#X connect 14 0 22 1;
#X connect 14 0 23 1;
#X connect 14 0 20 1;
#X connect 14 0 26 0;
#X connect 14 0 17 0;
#X connect 15 0 14 0;
#X connect 17 0 11 0;
#X connect 18 0 10 0;
#X connect 20 0 4 0;
#X connect 20 0 19 1;
#X connect 24 0 1 0;
#X connect 25 0 27 0;
#X connect 26 0 16 0;
#X connect 26 1 13 0;
#X connect 27 0 28 0;
#X connect 27 1 0 1;
#X connect 28 0 0 0;
#X connect 29 0 14 0;
#X connect 30 0 3 0;
#X restore 550 76 pd make-trace;
#X obj 111 452 pointer;
#X obj 111 479 s last-in-list;
#X msg 111 354 bang;
#X obj 111 377 t b b;
#X obj 41 453 f 0;
#X obj 41 480 s nframe;
#X obj 397 399 r nframe;
#X obj 380 422 f;
#X obj 380 446 + 1;
#X obj 380 468 s nframe;
#X obj 111 330 r clear-all;
#X msg 111 428 traverse pd-trace-list \, bang;
#X obj 380 366 r done-analysis;
#X msg 172 364 \; pd-trace-list clear \; add-trace-clear bang;
#N canvas 519 315 793 337 insample 0;
#N canvas 0 50 450 300 (subpatch) 0;
#X array sample 62079 float 0;
#X coords 0 1 62078 -1 400 150 1;
#X restore 357 37 graph;
#X obj 13 10 r read-sample;
#X obj 13 36 unpack s f;
#X obj 80 61 s insamprate;
#X obj 13 111 soundfiler;
#X msg 13 87 read -resize \$1 sample;
#X obj 13 137 s insamplength;
#X obj 13 198 t f b;
#X obj 61 201 samplerate~;
#X obj 13 224 /;
#X obj 63 233 r incr;
#X obj 13 249 *;
#X obj 63 258 expr 10000/$f1;
#X obj 180 123 r resize-sample;
#X obj 180 148 t f b;
#X obj 228 149 samplerate~;
#X obj 228 174 / 1000;
#X obj 180 173 *;
#X obj 13 172 r insamplength;
#X msg 180 209 \; sample resize \$1 \; insamplength \$1;
#X obj 13 274 + 60;
#X obj 13 299 s sample-msec;
#X connect 1 0 2 0;
#X connect 2 0 5 0;
#X connect 2 1 3 0;
#X connect 4 0 6 0;
#X connect 5 0 4 0;
#X connect 7 0 9 0;
#X connect 7 1 8 0;
#X connect 8 0 9 1;
#X connect 9 0 11 0;
#X connect 10 0 12 0;
#X connect 11 0 20 0;
#X connect 12 0 11 1;
#X connect 13 0 14 0;
#X connect 14 0 17 0;
#X connect 14 1 15 0;
#X connect 15 0 16 0;
#X connect 16 0 17 1;
#X connect 17 0 19 0;
#X connect 18 0 7 0;
#X connect 20 0 21 0;
#X restore 551 43 pd insample;
#X connect 2 0 4 0;
#X connect 3 0 4 1;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 8 0;
#X connect 7 0 8 1;
#X connect 8 0 9 0;
#X connect 10 0 11 0;
#X connect 10 0 9 0;
#X connect 10 0 12 0;
#X connect 10 0 13 0;
#X connect 11 0 3 0;
#X connect 12 0 7 0;
#X connect 13 0 15 0;
#X connect 13 0 14 0;
#X connect 14 0 3 0;
#X connect 15 0 7 0;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 19 0 21 0;
#X connect 20 0 19 0;
#X connect 22 0 24 0;
#X connect 23 0 22 0;
#X connect 25 0 26 0;
#X connect 28 0 29 0;
#X connect 30 0 31 0;
#X connect 31 0 39 0;
#X connect 31 0 32 0;
#X connect 31 1 41 0;
#X connect 32 0 33 0;
#X connect 34 0 35 1;
#X connect 35 0 36 0;
#X connect 36 0 37 0;
#X connect 38 0 30 0;
#X connect 39 0 28 0;
#X connect 40 0 35 0;
#X restore 505 495 pd misc;
#X floatatom 283 332 4 0 0 1 osc-speed osc-speed-set - 16;
#X floatatom 102 283 4 1 50 0 nvoice nvoice-set nvoice 16;
#X text 28 320 analysis;
#X text 30 335 parameters;
#X obj 658 315 bng 30 250 50 0 empty empty empty 17 7 0 10 #dfdfdf
#000000 #000000;
#X msg 610 513 \; location 0 \; clear-all bang;
#N canvas 204 89 564 423 grain 0;
#X floatatom 192 224 6 0 0 0 - - - 0;
#X obj 357 141 r sample-rate;
#X obj 357 171 t b f;
#X obj 192 199 r window-size;
#X obj 213 44 r sample-rate;
#X obj 187 16 r window-size;
#X obj 213 74 t b f;
#X obj 187 99 /;
#X obj 118 107 bang~;
#X obj 118 205 line~;
#X obj 187 130 * 1000;
#X text 247 119 window size (msec), f 6;
#X obj 332 111 r location;
#X obj 332 196 *;
#X obj 332 219 * 0.001;
#X text 401 219 location (samples);
#X obj 118 153 f;
#X msg 118 180 0 \, 1 \$1;
#X obj 62 251 *~;
#X obj 62 284 -~;
#X obj 62 343 *~;
#X obj 62 370 outlet~;
#X floatatom 332 243 5 0 0 0 - - - 0;
#X obj 361 44 block~ 2048 1;
#X obj 118 300 tabread4~ sample;
#X obj 118 241 *~ 0;
#X obj 118 272 +~ 0;
#X connect 1 0 2 0;
#X connect 2 0 13 0;
#X connect 2 1 13 1;
#X connect 3 0 0 0;
#X connect 3 0 25 1;
#X connect 4 0 6 0;
#X connect 5 0 7 0;
#X connect 6 0 7 0;
#X connect 6 1 7 1;
#X connect 7 0 10 0;
#X connect 8 0 16 0;
#X connect 9 0 18 0;
#X connect 9 0 18 1;
#X connect 9 0 19 1;
#X connect 9 0 25 0;
#X connect 10 0 16 1;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 14 0 22 0;
#X connect 14 0 26 1;
#X connect 16 0 17 0;
#X connect 17 0 9 0;
#X connect 18 0 19 0;
#X connect 19 0 20 0;
#X connect 20 0 21 0;
#X connect 24 0 20 1;
#X connect 25 0 26 0;
#X connect 26 0 24 0;
#X restore 36 365 pd grain;
#X floatatom 815 456 10 0 0 0 - - - 0;
#X obj 737 180 bng 20 250 50 0 empty empty empty 17 7 0 10 #dfdfdf
#000000 #000000;
#X msg 752 217 \; resize-sample 3000;
#X obj 463 169 openpanel;
#X obj 463 193 s read-sample;
#X text 462 108 browse for soundfile, f 10;
#X msg 182 132 \; read-sample ../sound/voice.wav 44100;
#X msg 182 168 \; read-sample ../sound/voice2.wav 44100;
#X msg 182 204 \; read-sample ../sound/bell.aiff 44100;
#X obj 815 431 r sample-msec;
#N canvas 516 98 256 189 set 0;
#X obj 99 119 outlet;
#X msg 99 88 set \$1;
#X obj 99 55 r loop-amp;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X restore 578 47 pd set;
#N canvas 516 98 254 149 set 0;
#X obj 87 92 outlet;
#X msg 87 65 set \$1;
#X obj 87 38 r grain-amp;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X restore 680 48 pd set;
#N canvas 516 98 253 173 set 0;
#X obj 101 107 outlet;
#X msg 101 76 set \$1;
#X obj 101 42 r osc-amp;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X restore 790 49 pd set;
#X obj 266 456 pack f 100;
#X obj 463 144 bng 20 250 50 0 empty empty empty 17 7 0 10 #dfdfdf
#000000 #000000;
#X text 715 607 updated for Pd version 0.52;
#X obj 445 435 clone add-trace 50;
#X text 638 14 SET AMPLITUDES \, dB \, 100-based;
#X text 309 530 templates:;
#X obj 462 355 s osc-stop;
#X text 149 327 start;
#X text 222 312 step;
#X floatatom 790 75 5 0 110 0 - - - 16;
#X floatatom 680 75 5 0 110 0 - - - 16;
#X text 14 34 This patch derives sinusoidal "tracks" from a sampled
sound by using [sigmund~] and the data structure facilities. The number
of tracks may range from 1 to 50 with the 'nvoice' number box (but
note that the resynthesizer is limited to 50-voice polyphony.), f
70;
#X text 454 547 display:;
#X obj 154 347 bng 22 250 50 0 empty empty empty 17 7 0 10 #dfdfdf
#000000 #000000;
#X obj 679 214 adc~ 1;
#N canvas 365 100 520 318 add-peaks 0;
#X obj 283 217 pointer;
#X obj 218 197 rmstodb;
#X obj 90 215 * 0.1;
#X obj 283 89 r start-analysis;
#X obj 283 136 t b b;
#X msg 335 129 \; pd-peak-list clear;
#X msg 283 181 traverse pd-peak-list \, bang;
#X obj 218 223 * 3;
#X msg 154 216 20;
#X obj 73 28 inlet;
#X obj 90 252 append peak-template x y amp;
#X obj 73 155 unpack f f f;
#X connect 0 0 10 3;
#X connect 1 0 7 0;
#X connect 2 0 10 0;
#X connect 3 0 4 0;
#X connect 4 0 6 0;
#X connect 4 1 5 0;
#X connect 6 0 0 0;
#X connect 7 0 10 2;
#X connect 8 0 10 1;
#X connect 9 0 11 0;
#X connect 11 1 2 0;
#X connect 11 2 8 0;
#X connect 11 2 1 0;
#X restore 378 466 pd add-peaks;
#X msg 18 146 \; window-size 2048 \; sample-rate 44100 \; incr 10 \;
pd dsp 1;
#X text 462 406 <-- analysis;
#X obj 54 447 pack f 100;
#X obj 283 368 s osc-speed;
#X obj 228 368 metro;
#X obj 462 323 bng 22 250 50 0 empty empty empty 17 7 0 10 #dfdfdf
#000000 #000000;
#X text 579 165 record a 3 seconds live sample -------->, f 21;
#X text 181 257 To resynthesize \, "start" once \, set speed and turn
on "step". To stop \, stop stepping and hit osc-stop. Note resynth
amplitude control above., f 63;
#X text 486 323 osc-stop;
#X text 23 120 1st: click here:;
#X text 162 108 2nd: read a sample \, record to the right or;
#X text 696 319 <-- 3rd: click to analyze;
#X connect 1 0 3 1;
#X connect 2 0 66 0;
#X connect 3 0 17 0;
#X connect 4 0 44 1;
#X connect 5 0 23 1;
#X connect 6 0 24 1;
#X connect 12 0 16 1;
#X connect 13 0 84 0;
#X connect 14 0 19 0;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 17 0 18 1;
#X connect 20 0 15 0;
#X connect 22 0 38 0;
#X connect 23 0 24 0;
#X connect 23 0 28 0;
#X connect 24 0 23 1;
#X connect 25 0 44 0;
#X connect 26 0 44 0;
#X connect 28 0 43 0;
#X connect 29 0 26 0;
#X connect 29 1 5 0;
#X connect 29 1 51 0;
#X connect 30 0 6 0;
#X connect 31 0 13 0;
#X connect 32 0 2 0;
#X connect 33 0 3 0;
#X connect 38 0 17 0;
#X connect 41 0 86 0;
#X connect 42 0 81 0;
#X connect 42 1 69 0;
#X connect 43 0 27 0;
#X connect 43 1 25 0;
#X connect 44 0 23 0;
#X connect 46 0 85 0;
#X connect 46 0 86 1;
#X connect 50 0 29 0;
#X connect 52 0 16 0;
#X connect 53 0 43 1;
#X connect 54 0 39 0;
#X connect 54 0 55 0;
#X connect 56 0 57 0;
#X connect 62 0 53 0;
#X connect 63 0 14 0;
#X connect 64 0 76 0;
#X connect 65 0 75 0;
#X connect 66 0 1 0;
#X connect 67 0 56 0;
#X connect 75 0 0 0;
#X connect 76 0 34 0;
#X connect 79 0 33 0;
#X connect 80 0 39 0;
#X connect 84 0 12 0;
#X connect 86 0 33 1;
#X connect 87 0 72 0;
