From 46f38b8d427735b339a98994b0db776b874f05ad Mon Sep 17 00:00:00 2001 From: Miller Puckette Date: Thu, 15 Sep 2005 03:17:27 +0000 Subject: Bug fixes for 0.39-0, in preparation for releasing 0.39-1. svn path=/trunk/; revision=3561 --- pd/doc/4.data.structures/10.beat-patterns.pd | 455 -------------- pd/doc/4.data.structures/10.onoff.pd | 51 ++ pd/doc/4.data.structures/11.array.controls.pd | 49 ++ pd/doc/4.data.structures/11.sliderule.pd | 205 ------- pd/doc/4.data.structures/12.beat-patterns.pd | 455 ++++++++++++++ pd/doc/4.data.structures/12.sinedecomposer.pd | 250 -------- pd/doc/4.data.structures/13.partialtracer.pd | 839 -------------------------- pd/doc/4.data.structures/13.sliderule.pd | 205 +++++++ pd/doc/4.data.structures/14.sinedecomposer.pd | 250 ++++++++ pd/doc/4.data.structures/15.partialtracer.pd | 839 ++++++++++++++++++++++++++ 10 files changed, 1849 insertions(+), 1749 deletions(-) delete mode 100644 pd/doc/4.data.structures/10.beat-patterns.pd create mode 100644 pd/doc/4.data.structures/10.onoff.pd create mode 100644 pd/doc/4.data.structures/11.array.controls.pd delete mode 100644 pd/doc/4.data.structures/11.sliderule.pd create mode 100644 pd/doc/4.data.structures/12.beat-patterns.pd delete mode 100644 pd/doc/4.data.structures/12.sinedecomposer.pd delete mode 100644 pd/doc/4.data.structures/13.partialtracer.pd create mode 100644 pd/doc/4.data.structures/13.sliderule.pd create mode 100644 pd/doc/4.data.structures/14.sinedecomposer.pd create mode 100644 pd/doc/4.data.structures/15.partialtracer.pd (limited to 'pd/doc/4.data.structures') diff --git a/pd/doc/4.data.structures/10.beat-patterns.pd b/pd/doc/4.data.structures/10.beat-patterns.pd deleted file mode 100644 index 1bcb8694..00000000 --- a/pd/doc/4.data.structures/10.beat-patterns.pd +++ /dev/null @@ -1,455 +0,0 @@ -#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.; diff --git a/pd/doc/4.data.structures/10.onoff.pd b/pd/doc/4.data.structures/10.onoff.pd new file mode 100644 index 00000000..2b535b7c --- /dev/null +++ b/pd/doc/4.data.structures/10.onoff.pd @@ -0,0 +1,51 @@ +#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.; diff --git a/pd/doc/4.data.structures/11.array.controls.pd b/pd/doc/4.data.structures/11.array.controls.pd new file mode 100644 index 00000000..8e04662f --- /dev/null +++ b/pd/doc/4.data.structures/11.array.controls.pd @@ -0,0 +1,49 @@ +#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.; diff --git a/pd/doc/4.data.structures/11.sliderule.pd b/pd/doc/4.data.structures/11.sliderule.pd deleted file mode 100644 index d149cfa3..00000000 --- a/pd/doc/4.data.structures/11.sliderule.pd +++ /dev/null @@ -1,205 +0,0 @@ -#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.; diff --git a/pd/doc/4.data.structures/12.beat-patterns.pd b/pd/doc/4.data.structures/12.beat-patterns.pd new file mode 100644 index 00000000..1bcb8694 --- /dev/null +++ b/pd/doc/4.data.structures/12.beat-patterns.pd @@ -0,0 +1,455 @@ +#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.; diff --git a/pd/doc/4.data.structures/12.sinedecomposer.pd b/pd/doc/4.data.structures/12.sinedecomposer.pd deleted file mode 100644 index 1d240ce7..00000000 --- a/pd/doc/4.data.structures/12.sinedecomposer.pd +++ /dev/null @@ -1,250 +0,0 @@ -#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; diff --git a/pd/doc/4.data.structures/13.partialtracer.pd b/pd/doc/4.data.structures/13.partialtracer.pd deleted file mode 100644 index 5fb1323f..00000000 --- a/pd/doc/4.data.structures/13.partialtracer.pd +++ /dev/null @@ -1,839 +0,0 @@ -#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; diff --git a/pd/doc/4.data.structures/13.sliderule.pd b/pd/doc/4.data.structures/13.sliderule.pd new file mode 100644 index 00000000..d149cfa3 --- /dev/null +++ b/pd/doc/4.data.structures/13.sliderule.pd @@ -0,0 +1,205 @@ +#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.; diff --git a/pd/doc/4.data.structures/14.sinedecomposer.pd b/pd/doc/4.data.structures/14.sinedecomposer.pd new file mode 100644 index 00000000..1d240ce7 --- /dev/null +++ b/pd/doc/4.data.structures/14.sinedecomposer.pd @@ -0,0 +1,250 @@ +#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; diff --git a/pd/doc/4.data.structures/15.partialtracer.pd b/pd/doc/4.data.structures/15.partialtracer.pd new file mode 100644 index 00000000..5fb1323f --- /dev/null +++ b/pd/doc/4.data.structures/15.partialtracer.pd @@ -0,0 +1,839 @@ +#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; -- cgit v1.2.1