Update of /cvsroot/pure-data/pd/doc/4.data.structures In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13699/pd/doc/4.data.structures
Added Files: 10.onoff.pd 11.array.controls.pd 12.beat-patterns.pd 13.sliderule.pd 14.sinedecomposer.pd 15.partialtracer.pd Removed Files: 10.beat-patterns.pd 11.sliderule.pd 12.sinedecomposer.pd 13.partialtracer.pd Log Message: Bug fixes for 0.39-0, in preparation for releasing 0.39-1.
--- NEW FILE: 12.beat-patterns.pd --- #N struct rect float x float y float w float h; #N canvas 193 140 549 265 10; #N canvas 457 224 643 316 rect 0; #X obj 134 219 pointer; #X msg 134 188 traverse pd-test , bang; #X obj 69 99 filledpolygon 0 0 0 0 0 0 h w h w 0 0 0; #X obj 46 252 append rect x y w h; #X obj 68 76 struct rect float x float y float w float h; #X msg 46 219 50 50 50 2; #X obj 432 201 r this-ptr; #X obj 347 257 s this-ptr; #X obj 344 202 r add-rect; #X obj 346 232 append rect x y w h; #X connect 0 0 3 4; #X connect 1 0 0 0; #X connect 5 0 3 0; #X connect 6 0 9 4; #X connect 8 0 9 0; #X connect 9 0 7 0; #X restore 27 186 pd rect; #N canvas 34 58 616 659 output 1; #X scalar rect 57 179 2 10 ;; #X scalar rect 82 179 1 10 ;; #X scalar rect 107 179 1 10 ;; #X scalar rect 132 179 1 10 ;; #X scalar rect 157 179 1 10 ;; #X scalar rect 182 179 2 10 ;; #X scalar rect 207 179 1 10 ;; #X scalar rect 232 179 1 10 ;; #X scalar rect 257 179 1 10 ;; #X scalar rect 282 179 1 10 ;; #X scalar rect 307 179 2 10 ;; #X scalar rect 332 179 1 10 ;; #X scalar rect 357 179 1 10 ;; #X scalar rect 382 179 1 10 ;; #X scalar rect 407 179 1 10 ;; #X scalar rect 432 179 2 10 ;; #X scalar rect 457 179 1 10 ;; #X scalar rect 482 179 1 10 ;; #X scalar rect 507 179 1 10 ;; #X scalar rect 532 179 1 10 ;; #X scalar rect 557 179 2 10 ;; #X scalar rect 57 149 2 10 ;; #X scalar rect 73.6667 149 1 10 ;; #X scalar rect 90.3333 149 1 10 ;; #X scalar rect 107 149 1 10 ;; #X scalar rect 123.667 149 1 10 ;; #X scalar rect 140.333 149 2 10 ;; #X scalar rect 157 149 1 10 ;; #X scalar rect 173.667 149 1 10 ;; #X scalar rect 190.333 149 1 10 ;; #X scalar rect 207 149 1 10 ;; #X scalar rect 223.667 149 2 10 ;; #X scalar rect 240.333 149 1 10 ;; #X scalar rect 257 149 1 10 ;; #X scalar rect 273.667 149 1 10 ;; #X scalar rect 290.333 149 1 10 ;; #X scalar rect 307 149 2 10 ;; #X scalar rect 323.667 149 1 10 ;; #X scalar rect 340.333 149 1 10 ;; #X scalar rect 357 149 1 10 ;; #X scalar rect 373.667 149 1 10 ;; #X scalar rect 390.333 149 2 10 ;; #X scalar rect 407 149 1 10 ;; #X scalar rect 423.667 149 1 10 ;; #X scalar rect 440.333 149 1 10 ;; #X scalar rect 457 149 1 10 ;; #X scalar rect 473.667 149 2 10 ;; #X scalar rect 490.333 149 1 10 ;; #X scalar rect 507 149 1 10 ;; #X scalar rect 523.667 149 1 10 ;; #X scalar rect 540.333 149 1 10 ;; #X scalar rect 557 149 2 10 ;; #X scalar rect 57 119 2 10 ;; #X scalar rect 71.2857 119 1 10 ;; #X scalar rect 85.5714 119 1 10 ;; #X scalar rect 99.8571 119 1 10 ;; #X scalar rect 114.143 119 1 10 ;; #X scalar rect 128.429 119 2 10 ;; #X scalar rect 142.714 119 1 10 ;; #X scalar rect 157 119 1 10 ;; #X scalar rect 171.286 119 1 10 ;; #X scalar rect 185.571 119 1 10 ;; #X scalar rect 199.857 119 2 10 ;; #X scalar rect 214.143 119 1 10 ;; #X scalar rect 228.429 119 1 10 ;; #X scalar rect 242.714 119 1 10 ;; #X scalar rect 257 119 1 10 ;; #X scalar rect 271.286 119 2 10 ;; #X scalar rect 285.571 119 1 10 ;; #X scalar rect 299.857 119 1 10 ;; #X scalar rect 314.143 119 1 10 ;; #X scalar rect 328.429 119 1 10 ;; #X scalar rect 342.714 119 2 10 ;; #X scalar rect 357 119 1 10 ;; #X scalar rect 371.286 119 1 10 ;; #X scalar rect 385.571 119 1 10 ;; #X scalar rect 399.857 119 1 10 ;; #X scalar rect 414.143 119 2 10 ;; #X scalar rect 428.429 119 1 10 ;; #X scalar rect 442.714 119 1 10 ;; #X scalar rect 457 119 1 10 ;; #X scalar rect 471.286 119 1 10 ;; #X scalar rect 485.571 119 2 10 ;; #X scalar rect 499.857 119 1 10 ;; #X scalar rect 514.143 119 1 10 ;; #X scalar rect 528.429 119 1 10 ;; #X scalar rect 542.714 119 1 10 ;; #X scalar rect 557 119 2 10 ;; #X scalar rect 57 89 2 10 ;; #X scalar rect 69.5 89 1 10 ;; #X scalar rect 82 89 1 10 ;; #X scalar rect 94.5 89 1 10 ;; #X scalar rect 107 89 1 10 ;; #X scalar rect 119.5 89 2 10 ;; #X scalar rect 132 89 1 10 ;; #X scalar rect 144.5 89 1 10 ;; #X scalar rect 157 89 1 10 ;; #X scalar rect 169.5 89 1 10 ;; #X scalar rect 182 89 2 10 ;; #X scalar rect 194.5 89 1 10 ;; #X scalar rect 207 89 1 10 ;; #X scalar rect 219.5 89 1 10 ;; #X scalar rect 232 89 1 10 ;; #X scalar rect 244.5 89 2 10 ;; #X scalar rect 257 89 1 10 ;; #X scalar rect 269.5 89 1 10 ;; #X scalar rect 282 89 1 10 ;; #X scalar rect 294.5 89 1 10 ;; #X scalar rect 307 89 2 10 ;; #X scalar rect 319.5 89 1 10 ;; #X scalar rect 332 89 1 10 ;; #X scalar rect 344.5 89 1 10 ;; #X scalar rect 357 89 1 10 ;; #X scalar rect 369.5 89 2 10 ;; #X scalar rect 382 89 1 10 ;; #X scalar rect 394.5 89 1 10 ;; #X scalar rect 407 89 1 10 ;; #X scalar rect 419.5 89 1 10 ;; #X scalar rect 432 89 2 10 ;; #X scalar rect 444.5 89 1 10 ;; #X scalar rect 457 89 1 10 ;; #X scalar rect 469.5 89 1 10 ;; #X scalar rect 482 89 1 10 ;; #X scalar rect 494.5 89 2 10 ;; #X scalar rect 507 89 1 10 ;; #X scalar rect 519.5 89 1 10 ;; #X scalar rect 532 89 1 10 ;; #X scalar rect 544.5 89 1 10 ;; #X scalar rect 557 89 2 10 ;; #X scalar rect 57 299 2 10 ;; #X scalar rect 90.3333 299 1 10 ;; #X scalar rect 123.667 299 1 10 ;; #X scalar rect 157 299 1 10 ;; #X scalar rect 190.333 299 2 10 ;; #X scalar rect 223.667 299 1 10 ;; #X scalar rect 257 299 1 10 ;; #X scalar rect 290.333 299 1 10 ;; #X scalar rect 323.667 299 2 10 ;; #X scalar rect 357 299 1 10 ;; #X scalar rect 390.333 299 1 10 ;; #X scalar rect 423.667 299 1 10 ;; #X scalar rect 457 299 2 10 ;; #X scalar rect 57 269 2 10 ;; #X scalar rect 77 269 1 10 ;; #X scalar rect 97 269 1 10 ;; #X scalar rect 117 269 1 10 ;; #X scalar rect 137 269 2 10 ;; #X scalar rect 157 269 1 10 ;; #X scalar rect 177 269 1 10 ;; #X scalar rect 197 269 1 10 ;; #X scalar rect 217 269 2 10 ;; #X scalar rect 237 269 1 10 ;; #X scalar rect 257 269 1 10 ;; #X scalar rect 277 269 1 10 ;; #X scalar rect 297 269 2 10 ;; #X scalar rect 317 269 1 10 ;; #X scalar rect 337 269 1 10 ;; #X scalar rect 357 269 1 10 ;; #X scalar rect 377 269 2 10 ;; #X scalar rect 397 269 1 10 ;; #X scalar rect 417 269 1 10 ;; #X scalar rect 437 269 1 10 ;; #X scalar rect 457 269 2 10 ;; #X scalar rect 57 239 2 10 ;; #X scalar rect 71.2857 239 1 10 ;; #X scalar rect 85.5714 239 1 10 ;; #X scalar rect 99.8571 239 1 10 ;; #X scalar rect 114.143 239 2 10 ;; #X scalar rect 128.429 239 1 10 ;; #X scalar rect 142.714 239 1 10 ;; #X scalar rect 157 239 1 10 ;; #X scalar rect 171.286 239 2 10 ;; #X scalar rect 185.571 239 1 10 ;; #X scalar rect 199.857 239 1 10 ;; #X scalar rect 214.143 239 1 10 ;; #X scalar rect 228.429 239 2 10 ;; #X scalar rect 242.714 239 1 10 ;; #X scalar rect 257 239 1 10 ;; #X scalar rect 271.286 239 1 10 ;; #X scalar rect 285.571 239 2 10 ;; #X scalar rect 299.857 239 1 10 ;; #X scalar rect 314.143 239 1 10 ;; #X scalar rect 328.429 239 1 10 ;; #X scalar rect 342.714 239 2 10 ;; #X scalar rect 357 239 1 10 ;; #X scalar rect 371.286 239 1 10 ;; #X scalar rect 385.571 239 1 10 ;; #X scalar rect 399.857 239 2 10 ;; #X scalar rect 414.143 239 1 10 ;; #X scalar rect 428.429 239 1 10 ;; #X scalar rect 442.714 239 1 10 ;; #X scalar rect 457 239 2 10 ;; #X scalar rect 57 479 2 10 ;; #X scalar rect 107 479 1 10 ;; #X scalar rect 157 479 1 10 ;; #X scalar rect 207 479 2 10 ;; #X scalar rect 257 479 1 10 ;; #X scalar rect 307 479 1 10 ;; #X scalar rect 357 479 2 10 ;; #X scalar rect 57 449 2 10 ;; #X scalar rect 82 449 1 10 ;; #X scalar rect 107 449 1 10 ;; #X scalar rect 132 449 2 10 ;; #X scalar rect 157 449 1 10 ;; #X scalar rect 182 449 1 10 ;; #X scalar rect 207 449 2 10 ;; #X scalar rect 232 449 1 10 ;; #X scalar rect 257 449 1 10 ;; #X scalar rect 282 449 2 10 ;; #X scalar rect 307 449 1 10 ;; #X scalar rect 332 449 1 10 ;; #X scalar rect 357 449 2 10 ;; #X scalar rect 57 419 2 10 ;; #X scalar rect 77 419 1 10 ;; #X scalar rect 97 419 1 10 ;; #X scalar rect 117 419 2 10 ;; #X scalar rect 137 419 1 10 ;; #X scalar rect 157 419 1 10 ;; #X scalar rect 177 419 2 10 ;; #X scalar rect 197 419 1 10 ;; #X scalar rect 217 419 1 10 ;; #X scalar rect 237 419 2 10 ;; #X scalar rect 257 419 1 10 ;; #X scalar rect 277 419 1 10 ;; #X scalar rect 297 419 2 10 ;; #X scalar rect 317 419 1 10 ;; #X scalar rect 337 419 1 10 ;; #X scalar rect 357 419 2 10 ;; #X scalar rect 57 389 2 10 ;; #X scalar rect 71.2857 389 1 10 ;; #X scalar rect 85.5714 389 1 10 ;; #X scalar rect 99.8571 389 2 10 ;; #X scalar rect 114.143 389 1 10 ;; #X scalar rect 128.429 389 1 10 ;; #X scalar rect 142.714 389 2 10 ;; #X scalar rect 157 389 1 10 ;; #X scalar rect 171.286 389 1 10 ;; #X scalar rect 185.571 389 2 10 ;; #X scalar rect 199.857 389 1 10 ;; #X scalar rect 214.143 389 1 10 ;; #X scalar rect 228.429 389 2 10 ;; #X scalar rect 242.714 389 1 10 ;; #X scalar rect 257 389 1 10 ;; #X scalar rect 271.286 389 2 10 ;; #X scalar rect 285.571 389 1 10 ;; #X scalar rect 299.857 389 1 10 ;; #X scalar rect 314.143 389 2 10 ;; #X scalar rect 328.429 389 1 10 ;; #X scalar rect 342.714 389 1 10 ;; #X scalar rect 357 389 2 10 ;; #X scalar rect 57 359 2 10 ;; #X scalar rect 69.5 359 1 10 ;; #X scalar rect 82 359 1 10 ;; #X scalar rect 94.5 359 2 10 ;; #X scalar rect 107 359 1 10 ;; #X scalar rect 119.5 359 1 10 ;; #X scalar rect 132 359 2 10 ;; #X scalar rect 144.5 359 1 10 ;; #X scalar rect 157 359 1 10 ;; #X scalar rect 169.5 359 2 10 ;; #X scalar rect 182 359 1 10 ;; #X scalar rect 194.5 359 1 10 ;; #X scalar rect 207 359 2 10 ;; #X scalar rect 219.5 359 1 10 ;; #X scalar rect 232 359 1 10 ;; #X scalar rect 244.5 359 2 10 ;; #X scalar rect 257 359 1 10 ;; #X scalar rect 269.5 359 1 10 ;; #X scalar rect 282 359 2 10 ;; #X scalar rect 294.5 359 1 10 ;; #X scalar rect 307 359 1 10 ;; #X scalar rect 319.5 359 2 10 ;; #X scalar rect 332 359 1 10 ;; #X scalar rect 344.5 359 1 10 ;; #X scalar rect 357 359 2 10 ;; #X scalar rect 57 599 2 10 ;; #X scalar rect 90.3333 599 1 10 ;; #X scalar rect 123.667 599 2 10 ;; #X scalar rect 157 599 1 10 ;; #X scalar rect 190.333 599 2 10 ;; #X scalar rect 223.667 599 1 10 ;; #X scalar rect 257 599 2 10 ;; #X scalar rect 57 569 2 10 ;; #X scalar rect 77 569 1 10 ;; #X scalar rect 97 569 2 10 ;; #X scalar rect 117 569 1 10 ;; #X scalar rect 137 569 2 10 ;; #X scalar rect 157 569 1 10 ;; #X scalar rect 177 569 2 10 ;; #X scalar rect 197 569 1 10 ;; #X scalar rect 217 569 2 10 ;; #X scalar rect 237 569 1 10 ;; #X scalar rect 257 569 2 10 ;; #X scalar rect 57 539 2 10 ;; #X scalar rect 71.2857 539 1 10 ;; #X scalar rect 85.5714 539 2 10 ;; #X scalar rect 99.8571 539 1 10 ;; #X scalar rect 114.143 539 2 10 ;; #X scalar rect 128.429 539 1 10 ;; #X scalar rect 142.714 539 2 10 ;; #X scalar rect 157 539 1 10 ;; #X scalar rect 171.286 539 2 10 ;; #X scalar rect 185.571 539 1 10 ;; #X scalar rect 199.857 539 2 10 ;; #X scalar rect 214.143 539 1 10 ;; #X scalar rect 228.429 539 2 10 ;; #X scalar rect 242.714 539 1 10 ;; #X scalar rect 257 539 2 10 ;; #X scalar rect 57 29 2 580 ;; #X scalar rect 157 29 2 580 ;; #X scalar rect 257 29 2 580 ;; #X scalar rect 357 29 2 450 ;; #X scalar rect 457 29 2 280 ;; #X scalar rect 557 29 2 150 ;; #X text 21 50 3:2; #X text 21 78 5:2; #X text 21 107 7:2; #X text 18 170 2:3; #X text 19 200 4:3; #X text 20 231 5:3; #X text 19 260 7:3; #X text 20 287 8:3; #X text 20 349 3:4; #X text 21 378 5:4; #X text 21 408 7:4; #X text 19 467 4:5; #X text 19 499 6:5; #X text 21 528 7:5; #X text 21 558 8:5; #X text 303 93 Inspired by Ed Harkins's rhythm seminar.; #X text 307 32 Dual rhythmic patterns: the dark marks are; #X text 305 53 the beats and the lighter ones help; #X text 304 73 show the proportions.; #X coords 0 659 1 658 0 0 0; #X restore 26 208 pd output; #N canvas 386 64 781 519 generator 0; #X obj 646 4 r start; #X obj 645 71 pointer; #X obj 646 27 symbol; #X obj 645 92 s this-ptr; #X msg 645 49 traverse $1 , bang; #X msg 69 16 ; pd-output clear; #X msg 187 18 ; start pd-output; #X obj 57 170 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 208 170 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 362 171 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 57 138 r add-pts1; #X obj 52 258 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 187 259 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 322 260 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 53 230 r add-pts1; #X obj 57 190 beat-maker 3 2 600; #X obj 208 189 beat-maker 5 2 570; #X obj 362 190 beat-maker 7 2 540; #X obj 454 259 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 593 257 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 56 343 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 191 344 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 326 345 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 57 315 r add-pts1; #X obj 52 445 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 187 446 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 322 447 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 53 417 r add-pts1; #X obj 460 448 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 53 278 beat-maker 2 3 480; #X obj 323 278 beat-maker 5 3 420; #X obj 455 278 beat-maker 7 3 390; #X obj 594 276 beat-maker 8 3 360; #X obj 55 363 beat-maker 3 4 300; #X obj 189 364 beat-maker 5 4 270; #X obj 328 364 beat-maker 7 4 240; #X obj 52 465 beat-maker 4 5 180; #X obj 186 466 beat-maker 6 5 150; #X obj 324 466 beat-maker 7 5 120; #X obj 462 467 beat-maker 8 5 90; #X obj 187 279 beat-maker 4 3 450; #X msg 450 14 ; add-rect 40 30 2 580 ; add-rect 140 30 2 580 ; add-rect 240 30 2 580 ; add-rect 340 30 2 450 ; add-rect 440 30 2 280 ; add-rect 540 30 2 150 ;; #X msg 305 19 ; add-pts1 bang ;; #X connect 0 0 2 0; #X connect 1 0 3 0; #X connect 2 0 4 0; #X connect 4 0 1 0; #X connect 7 0 15 0; #X connect 8 0 16 0; #X connect 9 0 17 0; #X connect 10 0 7 0; #X connect 10 0 8 0; #X connect 10 0 9 0; #X connect 11 0 29 0; #X connect 12 0 40 0; #X connect 13 0 30 0; #X connect 14 0 11 0; #X connect 14 0 12 0; #X connect 14 0 13 0; #X connect 14 0 18 0; #X connect 14 0 19 0; #X connect 18 0 31 0; #X connect 19 0 32 0; #X connect 20 0 33 0; #X connect 21 0 34 0; #X connect 22 0 35 0; #X connect 23 0 20 0; #X connect 23 0 21 0; #X connect 23 0 22 0; #X connect 24 0 36 0; #X connect 25 0 37 0; #X connect 26 0 38 0; #X connect 27 0 24 0; #X connect 27 0 25 0; #X connect 27 0 26 0; #X connect 27 0 28 0; #X connect 28 0 39 0; #X restore 27 166 pd generator; #X text 27 21 Example: computing and graphing beat patterns. I made this to make it easier to practice performing a-in-the-time-of-b time divisions.;
--- 10.beat-patterns.pd DELETED ---
--- 12.sinedecomposer.pd DELETED ---
--- NEW FILE: 10.onoff.pd --- #N struct template10 float x float y float a float b float c float w; #N canvas 322 90 571 381 12; #X text 315 344 updated for Pd version 0.39; #N canvas 36 348 577 459 template10 1; #X obj 63 327 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 63 349 t b b; #X obj 242 408 pointer; #X msg 92 377 traverse pd-data10 , bang; #X obj 33 203 drawpolygon 0 1 20 20 20 -20 -20 -20 -20 20 20 20; #X obj 33 111 drawcurve -v b 900 2 a(0:100)(0:100) 0 a(0:100)(0:71) a(0:100)(0:71) 0 a(0:100)(0:100) a(0:100)(0:-71) a(0:100)(0:71) a(0:100)(0:-100) 0 a(0:100)(0:-71) a(0:100)(0:-71) 0 a(0:100)(0:-100) a(0:100)(0:71) a(0:100)(0:-71) a(0:100)(0:100) 0; #X obj 33 274 drawnumber b -10 -30 0; #X text 71 86 "circle" of radius a , visible when b != 0; #X obj 63 433 append template10 x y a b; #X msg 61 409 50 50 10 1; #X obj 24 19 struct template10 float x float y float a float b; #X text 23 50 Template demonstrating turning a drawing instruction on and off.; #X obj 33 231 loadbang; #X obj 33 254 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 ; #X text 63 252 <- show/hide this drawing instruction; #X connect 0 0 1 0; #X connect 1 0 9 0; #X connect 1 1 3 0; #X connect 2 0 8 4; #X connect 3 0 2 0; #X connect 9 0 8 0; #X connect 12 0 13 0; #X connect 13 0 6 0; #X restore 22 236 pd template10; #N canvas 210 14 324 294 data10 1; #X scalar template10 92 193 15 1 40 0 ;; #X scalar template10 180 161 15 0 40 0 ;; #X coords 0 294 1 293 0 0 0; #X restore 23 269 pd data10; #X text 25 13 Drawing instructions can be dynamically turned on and off , either globally for all data of a given template , or locally according to a data field. In this example the "drawcurve" instruction's arguments contain the leading flag "-v b" meaning that its visibility is turned on and off by the field b.; #X text 25 111 To turn a drawing instruction on and off globally , send a number to its inlet. By default drawing instructions are initially visible , unless given the "-n" flag.; #X text 21 169 Arrays have the additional possibility of turning on and off drawing instructions for their individual points as scalars. Use "-vs z" to make the variable z control this.;
--- NEW FILE: 15.partialtracer.pd --- #N struct peak-template float x float y float amp float ampreal float ampimag float used; #N struct trace-template float x float y float voiceno array bazoo point-template; #N struct point-template float y float amp; #N canvas 163 180 926 633 12; #X floatatom 777 72 0 0 0 0 - - -; #N canvas 516 98 663 557 boo 0; #X obj 103 108 outlet; #X msg 101 80 set $1; #X obj 103 57 r osc-amp; #X connect 1 0 0 0; #X connect 2 0 1 0; #X restore 777 52 pd; #X obj 781 99 s osc-amp; #X obj 121 513 pack 0 100; #X obj 122 533 line~; #X obj 121 493 dbtorms; #X obj 122 573 *~; #X floatatom 811 225 0 0 0 0 - - -; #X msg 668 269 0; #X floatatom 737 225 0 0 0 0 - - -; #X floatatom 838 290 0 0 0 0 - - -; #X floatatom 647 71 0 0 0 0 - - -; #N canvas 516 98 663 555 boo 0; #X obj 103 108 outlet; #X msg 101 80 set $1; #X obj 103 57 r grain-amp; #X connect 1 0 0 0; #X connect 2 0 1 0; #X restore 647 51 pd; #N canvas 201 90 556 354 analysis 0; #X obj 286 45 r snapshot; #X obj 81 283 print; #X obj 138 154 t b b b; #X obj 26 189 s done-analysis; #X obj 272 149 s start-analysis; #X obj 209 261 s found-peak; #X obj 139 263 r loud; #X obj 82 262 spigot; #X msg 179 101 1; #X obj 40 99 r fft-done; #X obj 40 129 spigot; #X msg 143 101 0; #X obj 289 84 del 0.01; #X msg 287 66 bang; #X text 238 103 Wait for the next FFT to come by before doing the peak search.; #X obj 443 176 r errthresh; #X msg 446 219 errthresh $1; #X floatatom 443 199 0 0 0 0 - - -; #X obj 276 173 r window-size; #X obj 220 190 f; #X msg 211 211 $1 fft-real fft-imag 10; #X obj 211 231 pique; #X connect 0 0 13 0; #X connect 2 0 3 0; #X connect 2 1 19 0; #X connect 2 2 4 0; #X connect 2 2 11 0; #X connect 6 0 7 1; #X connect 7 0 1 0; #X connect 8 0 10 1; #X connect 9 0 10 0; #X connect 10 0 2 0; #X connect 11 0 10 1; #X connect 12 0 8 0; #X connect 13 0 12 0; #X connect 15 0 17 0; #X connect 16 0 21 0; #X connect 17 0 16 0; #X connect 18 0 19 1; #X connect 19 0 20 0; #X connect 20 0 21 0; #X connect 21 0 5 0; #X connect 21 0 7 0; #X restore 351 411 pd analysis; #N canvas 168 244 589 236 peak-template 0; #X obj 81 52 filledpolygon 3 3 3 0 0 0 amp 0 0; #X obj 74 10 struct peak-template float x float y float amp float ampreal float ampimag float used; #X restore 351 516 pd peak-template; #N canvas 0 0 600 386 peak-list 0; #X scalar peak-template 14.6015 330 -247.288 0.111508 -0.0711486 0 ;; #X scalar peak-template 27.1653 330 -217.279 0.0258328 0.0328795 0 ;; #X scalar peak-template 38.6569 330 -224.35 -0.0509761 0.0202439 0 ;; #X scalar peak-template 59.9432 330 -204.752 0.0256193 0.00348008 0 ;; #X scalar peak-template 70.7537 330 -220.483 -0.0080783 0.0465889 0 ;; #X scalar peak-template 82.8075 330 -172.145 -0.007237 -0.00153184 0 ;; #X scalar peak-template 94.3779 330 -170.655 0.00668927 -0.00201552 0 ;; #X scalar peak-template 109.018 330 -196.083 0.015492 -0.0101804 0 ;; #X scalar peak-template 118.207 330 -151.073 -0.00325508 -0.000512459 0 ;; #X scalar peak-template 131.204 330 -166.747 -0.00591408 0.00108779 0 ;; #X restore 351 454 pd peak-list; #N canvas 20 23 472 426 trace-list 1; #X scalar trace-template 0 0 10 ; -199.613 82.4286 ; ;; #X scalar trace-template 0 0 9 ; -242.604 72.4257 ; ;; #X scalar trace-template 0 0 8 ; -267.035 74.7826 ; ;; #X scalar trace-template 0 0 7 ; -297.412 68.2501 ; ;; #X scalar trace-template 0 0 6 ; -308.895 73.4936 ; ;; #X scalar trace-template 0 0 5 ; -319.788 57.3809 ; ;; #X scalar trace-template 0 0 4 ; -328.845 56.8844 ; ;; #X scalar trace-template 0 0 3 ; -338.831 65.3604 ; ;; #X scalar trace-template 0 0 2 ; -344.435 50.3571 ; ;; #X scalar trace-template 0 0 1 ; -351.66 55.5817 ; ;; #X restore 351 494 pd trace-list; #N canvas 56 84 527 179 trace-template 0; #X obj 121 72 plot bazoo 0 1 0 500 5; #X text 121 93 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 125 36 struct trace-template float x float y float voiceno array bazoo point-template; #X restore 351 537 pd trace-template; #N canvas 96 258 494 158 point-template 0; #X text 127 56 This template describes a single point on a pitch trace (cf. trace-template w describes the trace itself.); #X text 127 89 "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 212 14 struct point-template float y float amp; #X restore 351 557 pd point-template; #X msg 746 506 bang; #X obj 8 425 pack 0 100; #X obj 8 449 line~; #X obj 8 405 dbtorms; #X floatatom 545 70 0 0 0 0 - - -; #N canvas 194 37 730 722 output 0; #X obj 295 76 t b f; #X obj 286 100 +; #X obj 515 207 f; #X obj 532 165 f; #X obj 359 210 f; #X obj 83 179 t b; #X obj 82 127 f; #X obj 71 58 inlet; #X text 78 37 mute; #X obj 83 201 f; #X msg 235 153 0; #X msg 74 84 bang; #X obj 83 155 moses 1; #X obj 231 69 t b f; #X obj 222 93 +; #X obj 181 27 r loop-amp; #X obj 395 26 r osc-amp; #X obj 83 236 s loop-amp; #X obj 359 235 s osc-amp; #X obj 591 125 print; #X obj 186 148 f; #X obj 374 168 f; #X obj 225 120 t b b; #X obj 552 23 r grain-amp; #X obj 516 232 s grain-amp; #X connect 0 0 1 0; #X connect 0 1 1 1; #X connect 1 0 6 1; #X connect 2 0 24 0; #X connect 3 0 2 1; #X connect 4 0 18 0; #X connect 5 0 9 0; #X connect 5 0 4 0; #X connect 5 0 2 0; #X connect 6 0 12 0; #X connect 7 0 11 0; #X connect 9 0 17 0; #X connect 10 0 17 0; #X connect 10 0 18 0; #X connect 10 0 24 0; #X connect 11 0 6 0; #X connect 12 0 5 0; #X connect 12 1 22 0; #X connect 13 0 14 0; #X connect 13 1 14 1; #X connect 14 0 1 0; #X connect 15 0 14 0; #X connect 15 0 20 1; #X connect 16 0 13 0; #X connect 16 0 21 1; #X connect 20 0 9 1; #X connect 21 0 4 1; #X connect 22 0 10 0; #X connect 22 1 20 0; #X connect 22 1 21 0; #X connect 22 1 3 0; #X connect 23 0 3 1; #X connect 23 0 0 0; #X restore 820 69 pd output; #N canvas 516 98 663 559 /SUBPATCH/ 0; #X obj 103 108 outlet; #X msg 101 80 set $1; #X obj 103 57 r loop-amp; #X connect 1 0 0 0; #X connect 2 0 1 0; #X restore 545 50 pd; #N canvas 209 96 518 375 fft 0; #X floatatom 305 194 0 0 0 0 - - -; #X obj 454 160 r sample-rate; #X obj 454 180 t b f; #X obj 304 169 r window-size; #X obj 264 38 r sample-rate; #X obj 238 16 r window-size; #X obj 264 58 t b f; #X obj 238 83 /; #X obj 170 103 bang~; #X obj 169 175 line~; #X obj 238 104 * 1000; #X text 298 104 window size (msec); #X obj 168 281 rfft~; #X obj 170 337 tabsend~ fft-real; #X obj 207 307 tabsend~ fft-imag; #X obj 429 140 r location; #X obj 429 205 *; #X obj 429 228 * 0.001; #X text 498 228 location (samples); #X obj 169 129 f; #X msg 169 152 0 , 1 $1; #X obj 113 201 *~; #X obj 113 224 -~; #X obj 81 301 *~; #X obj 81 324 outlet~; #X floatatom 429 252 0 0 0 0 - - -; #X obj 53 127 s fft-done; #X obj 66 31 block~ 2048 1; #X obj 168 255 tabread4~ sample; #X obj 169 211 *~ 0; #X obj 168 232 +~ 0; #X connect 1 0 2 0; #X connect 2 0 16 0; #X connect 2 1 16 1; #X connect 3 0 0 0; #X connect 3 0 29 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 19 0; #X connect 8 0 26 0; #X connect 9 0 21 0; #X connect 9 0 21 1; #X connect 9 0 22 1; #X connect 9 0 29 0; #X connect 10 0 19 1; #X connect 12 0 13 0; #X connect 12 1 14 0; #X connect 15 0 16 0; #X connect 16 0 17 0; #X connect 17 0 25 0; #X connect 17 0 30 1; #X connect 19 0 20 0; #X connect 20 0 9 0; #X connect 21 0 22 0; #X connect 22 0 23 0; #X connect 23 0 24 0; #X connect 28 0 12 0; #X connect 28 0 23 1; #X connect 29 0 30 0; #X connect 30 0 28 0; #X restore 22 470 pd fft; #X obj 8 493 *~; #X obj 9 544 hip~ 5; #X obj 9 571 dac~; #X obj 754 529 adc~; #X obj 545 91 s loop-amp; #X msg 820 48 mute; #X text 18 97 click here first; #X text 741 489 live sample; #X text 677 25 AMPLITUDES; #N canvas 5 1 864 622 make-trace 0; #X obj 186 220 * -0.33333; #X obj 91 216 * 10; #X obj 118 136 pointer; #X msg 118 115 next; #X obj 118 97 until; #X obj 387 134 pointer; #X msg 389 108 next; #X obj 200 330 unpack; #X obj 255 332 s amp; #X obj 283 378 s frequency; #X obj 300 361 s pitch; #X obj 251 375 f 0; #X obj 200 348 t b b b b f; #X obj 781 133 pointer; #X obj 744 602 setsize trace-template bazoo; #X obj 744 514 random 200; #X obj 744 532 + 100; #X obj 857 526 pointer; #X obj 218 532 pointer; #X floatatom 356 524 0 0 0 0 - - -; #X floatatom 296 550 0 0 0 0 - - -; #X msg 205 509 bang; #X floatatom 108 461 0 0 0 0 - - -; #X floatatom 40 509 0 0 0 0 - - -; #X floatatom 153 590 0 0 0 0 - - -; #X floatatom 516 556 0 0 0 0 - - -; #X floatatom 356 489 0 0 0 0 - - -; #X floatatom 667 511 0 0 0 0 - - -; #X obj 481 464 pointer; #X msg 508 447 next; #X floatatom 532 512 0 0 0 0 - - -; #X obj 516 539 getsize trace-template bazoo; #X obj 127 563 get point-template y; #X obj 40 533 set point-template y; #X obj 101 486 element trace-template bazoo; #X obj 296 580 setsize trace-template bazoo; #X obj 356 507 set trace-template x; #X obj 356 542 set trace-template y; #X msg 744 497 bang; #X obj 744 549 append trace-template x; #X obj 519 489 get trace-template x y; #X obj 744 567 t b p; #X msg 744 584 5; #X obj 816 93 s clear-traces; #X obj 783 155 s last-in-list; #X msg 780 43 bang; #X obj 780 60 t b b; #X obj 745 156 f 0; #X obj 744 176 s nframe; #X obj 445 337 r nframe; #X obj 429 356 f; #X obj 429 373 + 1; #X obj 429 391 s nframe; #X obj 429 296 r done-frame; #X obj 437 315 s done-adding-traces; #X obj 19 309 r component; #X obj 19 326 unpack; #X obj 73 331 s amp; #X obj 104 370 s frequency; #X obj 120 354 s pitch; #X obj 70 388 s added-to-trace; #X obj 70 370 f 0; #X obj 62 408 s add-to-trace; #X obj 19 344 t b b b b f; #X obj 780 25 r clear-all; #X obj 200 311 r component2; #X obj 251 393 s started-new-trace; #X obj 240 414 s start-new-trace; #X obj 355 41 r done-analysis; #X obj 355 62 t b b b b; #X obj 292 176 r added-to-trace; #X obj 389 89 until; #X obj 456 172 get peak-template x amp; #X obj 552 195 * -0.33333; #X obj 456 190 * 10; #X obj 456 210 pack; #X obj 456 226 s component; #X obj 120 337 ftom; #X obj 387 155 t b p p; #X obj 256 196 set peak-template used; #X obj 259 176 f; #X obj 302 344 ftom; #X msg 175 31 ; done-frame bang; #X obj 21 178 get peak-template used x amp; #X obj 35 236 pack 0 0 0; #X obj 35 255 route 0; #X obj 35 272 s component2; #X obj 549 260 print x1; #X obj 226 276 print x2; #X obj 727 255 add-trace 1; #X obj 728 274 add-trace 2; #X obj 728 291 add-trace 3; #X obj 727 309 add-trace 4; #X obj 728 328 add-trace 5; #X obj 728 345 add-trace 6; #X obj 728 363 add-trace 7; #X obj 729 381 add-trace 8; #X obj 729 399 add-trace 9; #X obj 729 417 add-trace 10; #X msg 484 111 traverse pd-peak-list; #X msg 781 115 traverse pd-trace-list , bang; #X msg 833 59 ; pd-trace-list clear; #X msg 481 430 traverse pd-trace-list , next; #X msg 857 509 traverse pd-trace-list , bang; #X connect 0 0 84 2; #X connect 1 0 84 1; #X connect 2 0 83 0; #X connect 2 1 4 1; #X connect 3 0 2 0; #X connect 4 0 3 0; #X connect 5 0 78 0; #X connect 5 1 71 1; #X connect 6 0 5 0; #X connect 7 0 12 0; #X connect 7 1 8 0; #X connect 11 0 66 0; #X connect 12 2 67 0; #X connect 12 3 11 0; #X connect 12 4 81 0; #X connect 12 4 9 0; #X connect 13 0 44 0; #X connect 15 0 16 0; #X connect 16 0 39 0; #X connect 17 0 39 1; #X connect 18 0 32 0; #X connect 19 0 37 0; #X connect 20 0 35 0; #X connect 21 0 18 0; #X connect 22 0 34 0; #X connect 23 0 33 0; #X connect 26 0 36 0; #X connect 28 0 35 1; #X connect 28 0 36 1; #X connect 28 0 37 1; #X connect 28 0 34 1; #X connect 28 0 40 0; #X connect 28 0 31 0; #X connect 29 0 28 0; #X connect 31 0 25 0; #X connect 32 0 24 0; #X connect 34 0 18 0; #X connect 34 0 33 1; #X connect 38 0 15 0; #X connect 39 0 41 0; #X connect 40 0 30 0; #X connect 40 1 27 0; #X connect 41 0 42 0; #X connect 41 1 14 1; #X connect 42 0 14 0; #X connect 45 0 46 0; #X connect 46 0 100 0; #X connect 46 0 47 0; #X connect 46 1 101 0; #X connect 46 1 43 0; #X connect 47 0 48 0; #X connect 49 0 50 1; #X connect 50 0 51 0; #X connect 51 0 52 0; #X connect 53 0 50 0; #X connect 53 0 54 0; #X connect 55 0 56 0; #X connect 56 0 63 0; #X connect 56 1 57 0; #X connect 61 0 60 0; #X connect 63 2 62 0; #X connect 63 3 61 0; #X connect 63 4 77 0; #X connect 63 4 58 0; #X connect 64 0 45 0; #X connect 65 0 7 0; #X connect 68 0 69 0; #X connect 69 0 82 0; #X connect 69 1 4 0; #X connect 69 2 71 0; #X connect 69 3 99 0; #X connect 70 0 80 1; #X connect 71 0 6 0; #X connect 72 0 74 0; #X connect 72 1 73 0; #X connect 73 0 75 1; #X connect 74 0 75 0; #X connect 75 0 76 0; #X connect 77 0 59 0; #X connect 78 0 80 0; #X connect 78 1 79 1; #X connect 78 2 72 0; #X connect 80 0 79 0; #X connect 81 0 10 0; #X connect 83 0 84 0; #X connect 83 1 1 0; #X connect 83 2 0 0; #X connect 84 0 85 0; #X connect 85 0 86 0; #X connect 99 0 5 0; #X connect 99 0 2 0; #X connect 100 0 13 0; #X connect 102 0 28 0; #X connect 103 0 17 0; #X restore 351 474 pd make-trace; #X floatatom 5 289 0 0 0 0 - - -; #N canvas 0 0 955 721 arrays 0; #X msg 39 202 ; fft-real resize 4096 ; fft-imag resize 4096; #N canvas 0 0 450 300 graph1 0; #X array fft-real 4096 float 0; #X coords 0 1 4096 -1 400 300 1; #X restore 432 41 graph; #N canvas 0 0 450 300 graph2 0; #X array fft-imag 4096 float 0; #X coords 0 1 4096 -1 400 300 1; #X restore 419 265 graph; #X restore 571 515 pd arrays; #X obj 5 309 s location; #X obj 123 412 r loop-amp; #X obj 737 288 f; #X obj 5 248 r location; #X msg 5 268 set $1; #X obj 777 288 +; #X obj 737 309 moses 900; #X msg 695 329 0; #X msg 694 247 1; #X msg 736 335 ; location $1 ; snapshot bang; #X msg 655 170 bang ; location 0 ; clear-all bang; #X floatatom 655 305 0 0 0 0 - - -; #X obj 655 225 t b b; #X obj 838 270 r incr; #X obj 8 385 r grain-amp; #X obj 121 473 r osc-amp; #X obj 143 553 catch~ osc-sum; #N canvas 102 67 751 619 osc-bank 0; #X obj 311 433 osc-voice; #X obj 290 451 osc-voice; #X obj 269 471 osc-voice; #X obj 248 490 osc-voice; #X obj 227 510 osc-voice; #X obj 207 528 osc-voice; #X obj 186 547 osc-voice; #X obj 165 566 osc-voice; #X obj 144 586 osc-voice; #X obj 123 410 route 1 2 3 4 5 6 7 8 9 10; #X msg 377 269 0; #X obj 728 489 pointer; #X floatatom 848 417 0 0 0 0 - - -; #X obj 623 351 pointer; #X msg 549 491 next; #X floatatom 623 419 0 0 0 0 - - -; #X obj 231 111 pointer; #X floatatom 368 104 0 0 0 0 - - -; #X floatatom 309 129 0 0 0 0 - - -; #X msg 218 88 bang; #X floatatom 120 40 0 0 0 0 - - -; #X floatatom 53 88 0 0 0 0 - - -; #X floatatom 165 169 0 0 0 0 - - -; #X floatatom 546 137 0 0 0 0 - - -; #X floatatom 368 69 0 0 0 0 - - -; #X floatatom 680 90 0 0 0 0 - - -; #X obj 552 43 pointer; #X msg 581 27 next; #X floatatom 545 92 0 0 0 0 - - -; #X obj 546 120 getsize trace-template bazoo; #X obj 140 142 get point-template y; #X obj 53 113 set point-template y; #X obj 113 66 element trace-template bazoo; #X obj 309 159 setsize trace-template bazoo; #X obj 368 86 set trace-template x; #X obj 368 121 set trace-template y; #X obj 532 68 get trace-template x y; #X floatatom 524 312 0 0 0 0 - - -; #X msg 524 288 1; #X msg 564 288 0; #X obj 623 451 <; #X obj 623 398 get trace-template x voiceno; #X obj 623 374 t p p; #X obj 393 337 until; #X obj 620 233 r start-resynth; #X obj 625 255 t b b; #X obj 504 353 f; #X obj 504 372 sel 0 1; #X obj 668 436 r synth-index; #X obj 621 555 pack f p; #X obj 623 470 sel 0 1; #X obj 305 230 r step-resynth; #X obj 378 288 f; #X obj 378 308 s synth-index; #X obj 636 523 f; #X obj 419 289 + 5; #X obj 621 490 t b b b; #X obj 305 252 t b b b; #X obj 281 301 s osc-tick; #X obj 123 604 osc-voice; #X msg 552 10 traverse pd-trace-list , next; #X msg 621 288 traverse pd-trace-list , next; #X connect 9 0 59 0; #X connect 9 1 8 0; #X connect 9 2 7 0; #X connect 9 3 6 0; #X connect 9 4 5 0; #X connect 9 5 4 0; #X connect 9 6 3 0; #X connect 9 7 2 0; #X connect 9 8 1 0; #X connect 9 9 0 0; #X connect 10 0 52 0; #X connect 11 0 49 1; #X connect 13 0 42 0; #X connect 13 1 39 0; #X connect 13 1 43 1; #X connect 14 0 13 0; #X connect 15 0 40 0; #X connect 16 0 30 0; #X connect 17 0 35 0; #X connect 18 0 33 0; #X connect 19 0 16 0; #X connect 20 0 32 0; #X connect 21 0 31 0; #X connect 24 0 34 0; #X connect 26 0 33 1; #X connect 26 0 34 1; #X connect 26 0 35 1; #X connect 26 0 32 1; #X connect 26 0 36 0; #X connect 26 0 29 0; #X connect 27 0 26 0; #X connect 29 0 23 0; #X connect 30 0 22 0; #X connect 32 0 16 0; #X connect 32 0 31 1; #X connect 36 0 28 0; #X connect 36 1 25 0; #X connect 37 0 46 1; #X connect 38 0 37 0; #X connect 39 0 37 0; #X connect 40 0 50 0; #X connect 41 0 15 0; #X connect 41 1 54 1; #X connect 42 0 41 0; #X connect 42 1 11 1; #X connect 43 0 46 0; #X connect 44 0 45 0; #X connect 45 0 61 0; #X connect 45 1 38 0; #X connect 45 1 10 0; #X connect 46 0 47 0; #X connect 47 0 43 1; #X connect 47 1 15 0; #X connect 48 0 40 1; #X connect 49 0 9 0; #X connect 50 0 43 1; #X connect 50 1 56 0; #X connect 51 0 57 0; #X connect 52 0 53 0; #X connect 52 0 55 0; #X connect 54 0 49 0; #X connect 55 0 52 1; #X connect 56 0 14 0; #X connect 56 1 54 0; #X connect 56 2 11 0; #X connect 57 0 58 0; #X connect 57 1 43 0; #X connect 57 2 52 0; #X connect 60 0 26 0; #X connect 61 0 13 0; #X restore 571 494 pd osc-bank; #X obj 646 95 s grain-amp; #N canvas 31 70 662 326 save-list 0; #X floatatom 759 255 0 0 0 0 - - -; #X floatatom 677 254 0 0 0 0 - - -; #X floatatom 599 251 0 0 0 0 - - -; #X floatatom 517 250 0 0 0 0 - - -; #X obj 435 206 pointer; #X obj 307 121 pointer; #X msg 328 47 bang; #X obj 152 200 rmstodb; #X obj 10 201 * 0.1; #X obj 151 220 * -3; #X floatatom 445 247 0 0 0 0 - - -; #X obj 304 27 r start-analysis; #X obj 305 71 t b b; #X msg 456 185 next; #X obj 430 227 get peak-template x y amp ampreal ampimag; #X obj 9 241 append peak-template x y amp ampreal ampimag; #X obj 125 138 r found-peak; #X obj 126 161 unpack 0 0 0 0 0; #X msg 81 201 330; #X msg 356 69 ; pd-peak-list clear; #X msg 305 100 traverse pd-peak-list , bang; #X msg 437 166 traverse pd-peak-list , next; #X connect 4 0 14 0; #X connect 5 0 15 5; #X connect 6 0 12 0; #X connect 7 0 9 0; #X connect 8 0 15 0; #X connect 9 0 15 2; #X connect 11 0 12 0; #X connect 12 0 20 0; #X connect 12 1 19 0; #X connect 13 0 4 0; #X connect 14 0 10 0; #X connect 14 1 3 0; #X connect 14 2 2 0; #X connect 14 3 1 0; #X connect 14 4 0 0; #X connect 16 0 17 0; #X connect 17 1 8 0; #X connect 17 2 18 0; #X connect 17 2 7 0; #X connect 17 3 15 3; #X connect 17 4 15 4; #X connect 18 0 15 1; #X connect 20 0 5 0; #X connect 21 0 4 0; #X restore 351 431 pd save-list; #X msg 9 114 ; pd dsp 1 ; window-size 2048 ; sample-rate 44100 ; f-threshold 40 ; incr 10 ; clear-all bang; #X obj 737 245 metro 150; #X floatatom 315 309 0 0 0 0 - - -; #X floatatom 377 309 0 0 0 0 - - -; #X msg 139 349 ; start-resynth bang; #X msg 315 350 ; step-resynth bang; #X obj 315 329 metro 100; #X msg 478 350 ; osc-stop bang; #X text 790 113 resynth; #X text 642 112 analyzed grains; #X text 554 112 original; #X text 653 151 ... and here third to analyze; #N canvas 0 0 276 216 test 0; #X floatatom 56 120 0 0 0 0 - - -; #X obj 56 141 s loud; #X msg 49 84 ; clear-all bang; #X msg 51 52 ; snapshot bang; #X connect 0 0 1 0; #X restore 569 538 pd test; #X text 317 140 read a sample; #X msg 214 163 ; read-sample ../sound/bell.aiff 44100; #N canvas 190 43 405 461 test-signal 0; #X obj 174 293 tabread4~ sample; #X obj 174 268 line~; #X obj 123 146 f; #X obj 330 46 r insamprate; #X obj 177 350 *~; #X obj 213 351 dbtorms; #X obj 213 328 inlet; #X obj 175 415 outlet~; #X obj 190 33 r insamplength; #X msg 174 247 0 , $1 $2; #X obj 174 221 pack 0 0; #X obj 272 190 /; #X obj 389 99 * 0.001; #X obj 175 388 hip~ 5; #X obj 43 5 loadbang; #X text 315 13 sample playback; #X msg 43 25 1; #X obj 43 69 metro 1000; #X floatatom 43 48 0 0 0 0 - - -; #X obj 331 75 t b b f; #X obj 209 84 t b f; #X connect 0 0 4 0; #X connect 1 0 0 0; #X connect 2 0 10 0; #X connect 3 0 19 0; #X connect 4 0 13 0; #X connect 5 0 4 1; #X connect 6 0 5 0; #X connect 8 0 20 0; #X connect 9 0 1 0; #X connect 10 0 9 0; #X connect 11 0 10 1; #X connect 11 0 17 1; #X connect 12 0 11 1; #X connect 13 0 7 0; #X connect 14 0 16 0; #X connect 16 0 18 0; #X connect 17 0 2 0; #X connect 18 0 17 0; #X connect 19 0 16 0; #X connect 19 1 11 0; #X connect 19 2 12 0; #X connect 20 0 16 0; #X connect 20 1 11 0; #X connect 20 1 2 1; #X restore 125 436 pd test-signal; #N canvas 132 255 634 331 insample 0; #N canvas 0 0 450 300 graph1 0; #X array sample 155948 float 0; #X coords 0 1 155947 -1 400 150 1; #X restore 259 18 graph; #X obj 25 70 r read-sample; #X obj 25 95 unpack s f; #X obj 69 121 s insamprate; #X obj 25 171 soundfiler; #X msg 25 147 read -resize $1 sample; #X obj 25 201 s insamplength; #X msg 464 197 ; sample resize 220500 ; insamplength 220500; #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 restore 569 559 pd insample; #X obj 744 553 tabwrite~ sample; #X text 152 0 SINUSOID TRACKING; #X text 129 259 to resynthesize , "start" once and "step" ad lib. To stop , stop stepping and hit osc-stop. Note resynth ampliture control above.; #X text 4 17 This patch tries to reconstruct sinusoidal "tracks" from a sampled sound using pique~ and the data structure facilities. It turns out to be quite hard , not least because pique~ 0.1 puts out all sorts of spurious peaks.; #X msg 213 200 ; read-sample ../sound/voice.wav 44100; #X obj 847 194 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X connect 0 0 2 0; #X connect 1 0 0 0; #X connect 3 0 4 0; #X connect 4 0 6 0; #X connect 5 0 3 0; #X connect 6 0 28 0; #X connect 7 0 60 1; #X connect 8 0 41 1; #X connect 9 0 60 0; #X connect 10 0 44 1; #X connect 11 0 57 0; #X connect 12 0 11 0; #X connect 19 0 76 0; #X connect 20 0 21 0; #X connect 21 0 27 0; #X connect 22 0 20 0; #X connect 23 0 31 0; #X connect 25 0 23 0; #X connect 26 0 27 1; #X connect 27 0 28 0; #X connect 28 0 29 0; #X connect 28 0 29 1; #X connect 30 0 76 0; #X connect 32 0 24 0; #X connect 37 0 39 0; #X connect 40 0 74 0; #X connect 41 0 44 0; #X connect 41 0 45 0; #X connect 41 0 50 0; #X connect 42 0 43 0; #X connect 43 0 37 0; #X connect 44 0 41 1; #X connect 45 0 48 0; #X connect 45 1 46 0; #X connect 46 0 9 0; #X connect 47 0 9 0; #X connect 49 0 51 0; #X connect 51 0 47 0; #X connect 51 1 8 0; #X connect 52 0 10 0; #X connect 53 0 22 0; #X connect 54 0 5 0; #X connect 55 0 6 1; #X connect 60 0 41 0; #X connect 61 0 65 0; #X connect 62 0 65 1; #X connect 65 0 64 0; #X connect 74 0 28 0; #X connect 81 0 41 0;
--- 11.sliderule.pd DELETED ---
--- NEW FILE: 14.sinedecomposer.pd --- #N struct peak-template float x float y float amp float ampreal float ampimag; #N canvas 303 216 854 536 12; #X msg 501 258 bang; #X obj 30 360 pack 0 100; #X obj 30 384 line~; #X obj 30 336 dbtorms; #N canvas 95 102 724 400 fft 0; #X obj 64 67 inlet~; #X obj 134 107 print~; #X msg 137 71 bang; #X obj 64 104 rfft~; #N canvas 0 0 450 300 graph3 0; #X array array3 4096 float 0; #X coords 0 100 4096 -100 400 150 1; #X restore 254 14 graph; #N canvas 0 0 450 300 graph4 0; #X array array4 4096 float 0; #X coords 0 100 4096 -100 400 150 1; #X restore 256 165 graph; #X obj 9 185 tabsend~ array3; #X obj 50 158 tabsend~ array4; #X msg 37 246 ; array3 resize 4096 ; array4 resize 4096; #X obj 62 38 block~ 4096 1; #X connect 0 0 1 0; #X connect 0 0 3 0; #X connect 2 0 1 0; #X connect 3 0 6 0; #X connect 3 1 7 0; #X restore 135 412 pd fft; #X obj 30 408 *~; #X obj 476 231 adc~; #N canvas 204 36 521 368 analysis 0; #X obj 206 37 inlet; #X msg 207 68 bang; #X obj 275 52 r snapshot; #X msg 220 169 4096 array3 array4 50; #X obj 127 252 print; #X obj 206 103 t b b b; #X obj 122 140 s done-analysis; #X obj 248 133 s start-analysis; #X obj 220 219 s found-peak; #X obj 154 194 r loud; #X obj 128 226 spigot; #X obj 220 193 pique; #X connect 0 0 1 0; #X connect 1 0 5 0; #X connect 2 0 1 0; #X connect 3 0 11 0; #X connect 5 0 6 0; #X connect 5 1 3 0; #X connect 5 2 7 0; #X connect 9 0 10 1; #X connect 10 0 4 0; #X connect 11 0 8 0; #X connect 11 0 10 0; #X restore 613 295 pd analysis; #X obj 30 313 r loop-amp; #X msg 613 271 snapshot; #X text 23 167 click here first; #X text 613 247 analysis; #N canvas 36 255 884 389 peak-saver 0; #X floatatom 710 310 0 0 0 0 - - -; #X floatatom 633 309 0 0 0 0 - - -; #X floatatom 560 305 0 0 0 0 - - -; #X floatatom 484 303 0 0 0 0 - - -; #X obj 406 251 pointer; #X obj 354 150 pointer; #X msg 374 60 bang; #X obj 142 243 rmstodb; #X obj 10 244 * 0.1; #X obj 141 268 * -3; #X floatatom 416 300 0 0 0 0 - - -; #X obj 353 36 r start-analysis; #X obj 354 89 t b b; #X msg 29 89 50 60 70; #X obj 28 120 append peak-template x y amp; #X msg 426 225 next; #X obj 402 276 get peak-template x y amp ampreal ampimag; #X obj 9 293 append peak-template x y amp ampreal ampimag; #X obj 116 167 r found-peak; #X obj 117 196 unpack 0 0 0 0 0; #X msg 76 244 330; #X msg 400 87 ; pd-peak-list clear; #X msg 354 125 traverse pd-peak-list , bang; #X msg 408 201 traverse pd-peak-list , next; #X connect 4 0 16 0; #X connect 5 0 14 3; #X connect 5 0 17 5; #X connect 6 0 12 0; #X connect 7 0 9 0; #X connect 8 0 17 0; #X connect 9 0 17 2; #X connect 11 0 12 0; #X connect 12 0 22 0; #X connect 12 1 21 0; #X connect 13 0 14 0; #X connect 15 0 4 0; #X connect 16 0 10 0; #X connect 16 1 3 0; #X connect 16 2 2 0; #X connect 16 3 1 0; #X connect 16 4 0 0; #X connect 18 0 19 0; #X connect 19 1 8 0; #X connect 19 2 20 0; #X connect 19 2 7 0; #X connect 19 3 17 3; #X connect 19 4 17 4; #X connect 20 0 17 1; #X connect 22 0 5 0; #X connect 23 0 4 0; #X restore 339 378 pd peak-saver; #N canvas 231 169 656 237 peak-template 0; #X obj 45 90 filledpolygon 3 3 3 0 0 0 amp 0 0; #X obj 37 16 struct peak-template float x float y float amp float ampreal float ampimag; #X restore 339 402 pd peak-template; #N canvas 0 0 600 382 peak-list 1; #X scalar peak-template 6.52298 330 -195.561 0.0125191 -0.0131689 ; ; #X scalar peak-template 13.0656 330 -262.841 0.222392 0.0909196 ; ; #X scalar peak-template 26.2816 330 -188.229 0.0133818 0.00299871 ; ; #X scalar peak-template 34.1579 330 -182.784 -0.0111106 0.000616574 ;; #X scalar peak-template 39.2398 330 -192.587 0.00649353 -0.0148522 ;; #X scalar peak-template 54.2567 330 -169.462 -0.00637704 0.00196744 ;; #X scalar peak-template 64.6374 330 -153.343 -0.00231745 -0.00274854 ;; #X scalar peak-template 70.731 330 -228.984 -0.0391646 -0.0525299 ; ; #X scalar peak-template 83.4018 330 -157.354 0.00213705 0.00360794 ;; #X scalar peak-template 89.0428 330 -164.547 0.00509053 0.00215158 ;; #X scalar peak-template 96.8527 330 -127.029 0.00018868 -0.00129597 ;; #X scalar peak-template 108.145 330 -206.524 -0.0244265 0.0130057 ; ; #X scalar peak-template 119.672 330 -139.871 0.000310867 0.00212115 ;; #X scalar peak-template 129.195 330 -154.988 0.00101519 -0.00369247 ;; #X scalar peak-template 148.144 330 -131.59 -0.000488336 0.00148172 ;; #X scalar peak-template 156.394 330 -157.846 0.00107442 -0.00413614 ;; #X scalar peak-template 168.637 330 -126.924 0.0001938 -0.00128991 ;; #X scalar peak-template 189.884 330 -119.499 0.000252664 -0.000947853 ;; #X scalar peak-template 211.047 330 -130.949 0.000525129 0.0014288 ;; #X restore 339 426 pd peak-list; #X msg 38 192 ; pd dsp 1; #X obj 720 296 s loud; #X text 539 189 live sample; #X text 719 234 print out; #X text 720 249 peak list; #X text 168 7 SPECTRAL SNAPSHOTS.; #X text 15 18 This patch reads a soundfile or records a live sound. When you click on "snapshot" the peak-list window shows a list of the sinusoidal peaks that were found at that instant in the sound. You can also ask for the peak lists to be printed out.; #N canvas 132 255 634 331 insample 0; #N canvas 0 0 450 300 graph1 0; #X array sample 155948 float 0; #X coords 0 1 155947 -1 400 150 1; #X restore 199 18 graph; #X obj 19 70 r read-sample; #X obj 19 95 unpack s f; #X obj 53 121 s insamprate; #X obj 19 171 soundfiler; #X msg 19 147 read -resize $1 sample; #X obj 19 201 s insamplength; #X msg 357 197 ; sample resize 220500 ; insamplength 220500; #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 restore 336 350 pd insample; #N canvas 186 103 405 461 test-signal 0; #X obj 135 296 tabread4~ sample; #X obj 135 271 line~; #X obj 95 146 f; #X obj 254 46 r insamprate; #X obj 135 415 outlet~; #X obj 146 33 r insamplength; #X msg 134 247 0 , $1 $2; #X obj 134 221 pack 0 0; #X obj 209 190 /; #X obj 299 99 * 0.001; #X obj 135 388 hip~ 5; #X obj 33 5 loadbang; #X text 242 13 sample playback; #X msg 33 25 1; #X obj 33 69 metro 1000; #X floatatom 33 48 0 0 0 0 - - -; #X obj 255 75 t b b f; #X obj 161 84 t b f; #X connect 0 0 10 0; #X connect 1 0 0 0; #X connect 2 0 7 0; #X connect 3 0 16 0; #X connect 5 0 17 0; #X connect 6 0 1 0; #X connect 7 0 6 0; #X connect 8 0 7 1; #X connect 8 0 14 1; #X connect 9 0 8 1; #X connect 10 0 4 0; #X connect 11 0 13 0; #X connect 13 0 15 0; #X connect 14 0 2 0; #X connect 15 0 14 0; #X connect 16 0 13 0; #X connect 16 1 8 0; #X connect 16 2 9 0; #X connect 17 0 13 0; #X connect 17 1 8 0; #X connect 17 1 2 1; #X restore 135 389 pd test-signal; #X text 136 317 amplitude; #X text 212 174 read a sample; #X msg 136 193 ; read-sample ../sound/bell.aiff 44100; #X text 12 97 The active ingredient is "pique" in the "analysis" subwindow , which is in the "extras" directory in the Pd release.; #X msg 136 230 ; read-sample ../sound/voice.wav 32000; #X obj 458 295 tabwrite~ sample; #X obj 720 274 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X msg 136 268 ; read-sample ../sound/voice2.wav; #X obj 29 435 output~; #X connect 0 0 29 0; #X connect 1 0 2 0; #X connect 2 0 5 0; #X connect 3 0 1 0; #X connect 5 0 32 0; #X connect 5 0 32 1; #X connect 6 0 29 0; #X connect 8 0 3 0; #X connect 9 0 7 0; #X connect 23 0 4 0; #X connect 23 0 5 1; #X connect 30 0 16 0;
--- NEW FILE: 13.sliderule.pd --- #N struct label float x float y float n; #N struct line float x float y float w; #N canvas 552 6 487 277 10; #N canvas 15 -5 504 847 data 1; #X scalar label 55 190.999 43 ;; #X scalar label 175 196.826 44 ;; #X scalar label 175 203 45 ;; #X scalar label 175 209.541 46 ;; #X scalar label 55 216.471 47 ;; #X scalar label 175 223.813 48 ;; #X scalar label 175 231.591 49 ;; #X scalar label 55 239.832 50 ;; #X scalar label 175 248.563 51 ;; #X scalar label 175 257.814 52 ;; #X scalar label 55 267.614 53 ;; #X scalar label 175 277.997 54 ;; #X scalar label 175 288.998 55 ;; #X scalar label 175 300.652 56 ;; #X scalar label 55 313 57 ;; #X scalar label 175 326.082 58 ;; #X scalar label 175 339.942 59 ;; #X scalar label 155 354.626 60 ;; #X scalar label 175 370.183 61 ;; #X scalar label 175 386.665 62 ;; #X scalar label 175 404.127 63 ;; #X scalar label 55 422.628 64 ;; #X scalar label 175 442.228 65 ;; #X scalar label 175 462.994 66 ;; #X scalar label 55 484.995 67 ;; #X scalar label 175 508.305 68 ;; #X scalar label 175 533 69 ;; #X scalar label 175 559.164 70 ;; #X scalar label 55 586.883 71 ;; #X scalar label 175 616.251 72 ;; #X scalar label 175 647.365 73 ;; #X scalar label 55 680.33 74 ;; #X scalar label 175 715.254 75 ;; #X scalar label 175 752.255 76 ;; #X scalar label 55 791.456 77 ;; #X scalar line 175 87 100 ;; #X scalar line 195 135.999 60 ;; #X scalar line 195 138.913 60 ;; #X scalar line 195 142 60 ;; #X scalar line 195 145.271 60 ;; #X scalar line 195 148.735 60 ;; #X scalar line 175 152.406 100 ;; #X scalar line 195 156.296 60 ;; #X scalar line 195 160.416 60 ;; #X scalar line 195 164.782 60 ;; #X scalar line 195 169.407 60 ;; #X scalar line 195 174.307 60 ;; #X scalar line 195 179.499 60 ;; #X scalar line 75 184.999 300 ;; #X scalar line 195 190.826 60 ;; #X scalar line 195 197 60 ;; #X scalar line 195 203.541 60 ;; #X scalar line 75 210.471 300 ;; #X scalar line 195 217.813 60 ;; #X scalar line 195 225.591 60 ;; #X scalar line 75 233.832 300 ;; #X scalar line 195 242.563 60 ;; #X scalar line 195 251.814 60 ;; #X scalar line 75 261.614 300 ;; #X scalar line 195 271.997 60 ;; #X scalar line 195 282.998 60 ;; #X scalar line 195 294.652 60 ;; #X scalar line 75 307 300 ;; #X scalar line 195 320.082 60 ;; #X scalar line 195 333.942 60 ;; #X scalar line 175 348.626 100 ;; #X scalar line 195 364.183 60 ;; #X scalar line 195 380.665 60 ;; #X scalar line 195 398.127 60 ;; #X scalar line 75 416.628 300 ;; #X scalar line 195 436.228 60 ;; #X scalar line 195 456.994 60 ;; #X scalar line 75 478.995 300 ;; #X scalar line 195 502.305 60 ;; #X scalar line 195 527 60 ;; #X scalar line 195 553.164 60 ;; #X scalar line 75 580.883 300 ;; #X scalar line 195 610.251 60 ;; #X scalar line 195 641.365 60 ;; #X scalar line 75 674.33 300 ;; #X scalar line 195 709.254 60 ;; #X scalar line 195 746.255 60 ;; #X scalar line 75 785.456 300 ;; #X text 50 -32 Linear frequency chart -- cut this down the middle and use as a slide rule to compute frequency shifts. The longer lines are staves with the bass and treble clef. The numbers are the MIDI pitches. ; #X text 148 686 36; #X text 109 751 zero Hz.; #X coords 0 847 1 846 0 0 0; #X restore 25 174 pd data; #N canvas 308 63 600 392 line 0; #X obj 140 114 drawpolygon 0 1 0 0 w 0; #X obj 145 63 struct line float x float y float w; #X restore 25 195 pd line; #N canvas 567 89 600 392 label 0; #X obj 140 114 drawnumber n 0 0 0; #X obj 145 63 struct label float x float y float n; #X restore 25 216 pd label; #N canvas 468 99 775 518 generator 0; #X obj 353 173 sel 36 60; #X obj 457 171 pointer; #X msg 457 149 traverse pd-data , bang; #X msg 28 11 ; pd-data clear; #X obj 146 52 until; #X obj 146 76 float; #X obj 193 77 + 1; #X obj 146 100 moses 77; #X obj 245 76 t b; #X obj 146 31 t b b; #X msg 146 10 bang; #X obj 83 116 t f f f; #X obj 137 196 t b b; #X obj 135 150 sel 43 47 50 53 57 64 67 71 74 77; #X msg 219 46 30; #X obj 49 89 sel 30; #X obj 52 149 mtof; #X obj 11 191 t b b; #X obj 12 231 0; #X msg 248 221 100; #X msg 322 222 60; #X msg 216 222 150; #X msg 293 222 170; #X obj 195 377 append line y x w; #X obj 52 257 + 20; #X msg 132 220 50; #X msg 161 219 300; #X obj 144 409 - 20; #X obj 105 437 append label y x n; #X obj 58 375 + 6; #X obj 52 170 * 1; #X obj 59 407 moses 120; #X connect 0 0 21 0; #X connect 0 0 19 0; #X connect 0 1 19 0; #X connect 0 1 21 0; #X connect 0 2 22 0; #X connect 0 2 20 0; #X connect 1 0 23 3; #X connect 1 0 28 3; #X connect 2 0 1 0; #X connect 4 0 5 0; #X connect 5 0 6 0; #X connect 5 0 7 0; #X connect 5 0 15 0; #X connect 6 0 5 1; #X connect 7 1 8 0; #X connect 8 0 4 1; #X connect 9 0 4 0; #X connect 9 1 14 0; #X connect 9 1 2 0; #X connect 10 0 9 0; #X connect 11 0 16 0; #X connect 11 1 28 2; #X connect 11 2 13 0; #X connect 12 0 25 0; #X connect 12 1 26 0; #X connect 13 0 12 0; #X connect 13 1 12 0; #X connect 13 2 12 0; #X connect 13 3 12 0; #X connect 13 4 12 0; #X connect 13 5 12 0; #X connect 13 6 12 0; #X connect 13 7 12 0; #X connect 13 8 12 0; #X connect 13 9 12 0; #X connect 13 10 0 0; #X connect 14 0 5 1; #X connect 15 0 17 0; #X connect 15 1 11 0; #X connect 16 0 30 0; #X connect 17 0 18 0; #X connect 17 1 21 0; #X connect 17 1 19 0; #X connect 18 0 24 0; #X connect 19 0 23 2; #X connect 20 0 23 2; #X connect 21 0 23 1; #X connect 21 0 27 0; #X connect 22 0 23 1; #X connect 22 0 27 0; #X connect 24 0 23 0; #X connect 24 0 29 0; #X connect 25 0 23 1; #X connect 25 0 27 0; #X connect 26 0 23 2; #X connect 27 0 28 1; #X connect 29 0 31 0; #X connect 30 0 24 0; #X connect 31 1 28 0; #X restore 25 238 pd generator; #X text 53 5 FREQUENCY SHIFTER SLIDE RULE.; #X text 23 32 This might help you if you need to compute products of frequency shifting and/or FM spectra. Print and cut in half down the middle. If you know the pitches associated with two frequencies a and b , align the pitch of a on the left side against the zero-frequency marker on the right side. Then find the pitch of b on the right , and the matching pitch on the left corresponds to the frequency a+b. To get a-b , find b on the left and look up the corresponding pitch on the right.;
--- NEW FILE: 11.array.controls.pd --- #N struct template11 float x float y array a template11a; #N struct template11a float x float amp float w1 float w2; #N canvas 14 266 568 347 12; #X text 300 287 updated for Pd version 0.39; #N canvas 587 7 540 455 template11 1; #X obj 41 303 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 41 325 t b b; #X obj 222 384 pointer; #X msg 72 353 traverse pd-data11 , bang; #X obj 43 409 append template11 x y; #X msg 41 385 50 50; #X obj 23 19 struct template11 float x float y array a template11a ; #X obj 31 254 filledpolygon 0 0 0 0 0 3 0 3 30 0 30 0 0; #X obj 31 134 plot -w w1 a 0 2 5 0; #X obj 33 190 plot -w w2 a 0 2 5 15; #X obj 40 83 plot -y amp(0:100)(0:100) a 500 2 5 30; #X text 41 61 Graph (x , amp) pairs (using "amp" as the "y" field"): ; #X text 33 108 Graph "w1" as width ("y" is zero); #X text 30 168 also "w2" , at (5 , 15) to disambiguate the one at (5 , 0); #X text 28 231 Mark the scalar itself; #X connect 0 0 1 0; #X connect 1 0 5 0; #X connect 1 1 3 0; #X connect 2 0 4 2; #X connect 3 0 2 0; #X connect 5 0 4 0; #X restore 40 233 pd template11; #N canvas 25 458 313 196 data11 1; #X scalar template11 41 87 ; 2 0 0 0 ; 18 51 7 0 ; 98 41 0 5 ; 109 0 0 0 ; ;; #X coords 0 196 1 195 0 0 0; #X restore 51 299 pd data11; #N canvas 336 497 561 109 template11a 0; #X obj 23 19 struct template11a float x float amp float w1 float w2 ; #X restore 47 271 pd template11a; #X text 25 13 You can control which variable is used as "x" , "y" , and "width" when plotting an array. In this example a single array "a" is plotted three times , to show the values of the "amp" , "w1" and "w2" fields. This is convenient when you want to have several variables in each point of the array and need several traces of the same array to visualize it all.; #X text 24 127 In this example the array points have no "y" field at all , so if no variable is supplied to use instead of "y" , the array is flat along its "x" axis.;
--- 13.partialtracer.pd DELETED ---