diff options
Diffstat (limited to 'pd/doc')
-rw-r--r-- | pd/doc/4.data.structures/00.intro.txt (renamed from pd/doc/7.stuff/data-structures/0.intro.txt) | 0 | ||||
-rw-r--r-- | pd/doc/4.data.structures/01.scalars.pd (renamed from pd/doc/7.stuff/data-structures/1.scalars.pd) | 0 | ||||
-rw-r--r-- | pd/doc/4.data.structures/02.getting.data.pd (renamed from pd/doc/7.stuff/data-structures/2.getting.data.pd) | 0 | ||||
-rw-r--r-- | pd/doc/4.data.structures/03.setting.data.pd (renamed from pd/doc/7.stuff/data-structures/3.setting.data.pd) | 0 | ||||
-rw-r--r-- | pd/doc/4.data.structures/04.append.pd (renamed from pd/doc/7.stuff/data-structures/4.append.pd) | 0 | ||||
-rw-r--r-- | pd/doc/4.data.structures/05.array.pd (renamed from pd/doc/7.stuff/data-structures/5.array.pd) | 0 | ||||
-rw-r--r-- | pd/doc/4.data.structures/06.file.pd (renamed from pd/doc/7.stuff/data-structures/6.file.pd) | 0 | ||||
-rw-r--r-- | pd/doc/4.data.structures/07.sequencer.pd (renamed from pd/doc/7.stuff/data-structures/7.sequencer.pd) | 119 | ||||
-rw-r--r-- | pd/doc/4.data.structures/08.selection.pd | 81 | ||||
-rw-r--r-- | pd/doc/4.data.structures/09.scaling.pd | 74 | ||||
-rw-r--r-- | pd/doc/4.data.structures/10.beat-patterns.pd (renamed from pd/doc/7.stuff/data-structures/8.beat-patterns.pd) | 11 | ||||
-rw-r--r-- | pd/doc/4.data.structures/11.sliderule.pd (renamed from pd/doc/7.stuff/data-structures/9.sliderule.pd) | 21 | ||||
-rw-r--r-- | pd/doc/4.data.structures/12.sinedecomposer.pd (renamed from pd/doc/4.fft.examples/12.sinedecomposer.pd) | 180 | ||||
-rw-r--r-- | pd/doc/4.data.structures/13.partialtracer.pd | 839 | ||||
-rw-r--r-- | pd/doc/4.data.structures/add-trace.pd (renamed from pd/doc/4.fft.examples/add-trace.pd) | 0 | ||||
-rw-r--r-- | pd/doc/4.data.structures/beat-maker.pd (renamed from pd/doc/7.stuff/data-structures/beat-maker.pd) | 0 | ||||
-rw-r--r-- | pd/doc/4.data.structures/data-array.pd (renamed from pd/doc/7.stuff/data-structures/data-array.pd) | 0 | ||||
-rw-r--r-- | pd/doc/4.data.structures/data-start.pd (renamed from pd/doc/7.stuff/data-structures/data-start.pd) | 0 | ||||
-rw-r--r-- | pd/doc/4.data.structures/file.txt (renamed from pd/doc/7.stuff/data-structures/file.txt) | 0 | ||||
-rw-r--r-- | pd/doc/4.data.structures/osc-voice.pd (renamed from pd/doc/4.fft.examples/osc-voice.pd) | 0 | ||||
-rw-r--r-- | pd/doc/4.data.structures/output~.pd | 66 | ||||
-rw-r--r-- | pd/doc/4.data.structures/voice.pd (renamed from pd/doc/7.stuff/data-structures/voice.pd) | 0 | ||||
-rw-r--r-- | pd/doc/4.data.structures/z.txt (renamed from pd/doc/7.stuff/data-structures/z.txt) | 0 | ||||
-rw-r--r-- | pd/doc/4.fft.examples/00.INTRO.txt | 13 | ||||
-rw-r--r-- | pd/doc/4.fft.examples/13.partialtracer.pd | 1181 | ||||
-rw-r--r-- | pd/doc/7.stuff/data-structures/score.txt | 94 |
26 files changed, 1180 insertions, 1499 deletions
diff --git a/pd/doc/7.stuff/data-structures/0.intro.txt b/pd/doc/4.data.structures/00.intro.txt index a1df9a88..a1df9a88 100644 --- a/pd/doc/7.stuff/data-structures/0.intro.txt +++ b/pd/doc/4.data.structures/00.intro.txt diff --git a/pd/doc/7.stuff/data-structures/1.scalars.pd b/pd/doc/4.data.structures/01.scalars.pd index ec5794cb..ec5794cb 100644 --- a/pd/doc/7.stuff/data-structures/1.scalars.pd +++ b/pd/doc/4.data.structures/01.scalars.pd diff --git a/pd/doc/7.stuff/data-structures/2.getting.data.pd b/pd/doc/4.data.structures/02.getting.data.pd index 4b200052..4b200052 100644 --- a/pd/doc/7.stuff/data-structures/2.getting.data.pd +++ b/pd/doc/4.data.structures/02.getting.data.pd diff --git a/pd/doc/7.stuff/data-structures/3.setting.data.pd b/pd/doc/4.data.structures/03.setting.data.pd index 1f300ca3..1f300ca3 100644 --- a/pd/doc/7.stuff/data-structures/3.setting.data.pd +++ b/pd/doc/4.data.structures/03.setting.data.pd diff --git a/pd/doc/7.stuff/data-structures/4.append.pd b/pd/doc/4.data.structures/04.append.pd index b5c2492b..b5c2492b 100644 --- a/pd/doc/7.stuff/data-structures/4.append.pd +++ b/pd/doc/4.data.structures/04.append.pd diff --git a/pd/doc/7.stuff/data-structures/5.array.pd b/pd/doc/4.data.structures/05.array.pd index 15e43d22..15e43d22 100644 --- a/pd/doc/7.stuff/data-structures/5.array.pd +++ b/pd/doc/4.data.structures/05.array.pd diff --git a/pd/doc/7.stuff/data-structures/6.file.pd b/pd/doc/4.data.structures/06.file.pd index 30c902dc..30c902dc 100644 --- a/pd/doc/7.stuff/data-structures/6.file.pd +++ b/pd/doc/4.data.structures/06.file.pd diff --git a/pd/doc/7.stuff/data-structures/7.sequencer.pd b/pd/doc/4.data.structures/07.sequencer.pd index f270b48e..7bf97b39 100644 --- a/pd/doc/7.stuff/data-structures/7.sequencer.pd +++ b/pd/doc/4.data.structures/07.sequencer.pd @@ -2,20 +2,20 @@ template-pitch array amp template-amp; #N struct template-pitch float x float y float w; #N struct template-amp float x float y float w; -#N canvas 467 44 543 446 12; +#N canvas 124 61 556 609 12; #N canvas 565 104 524 166 template-toplevel 0; #X obj 25 86 plot pitch voiceno 3 10 0; #X obj 25 113 plot amp 0 3 10 0; #X obj 25 21 struct template-toplevel float x float y float voiceno array pitch template-pitch array amp template-amp; #X obj 27 61 filledpolygon 9 9 0 0 -2 0 2 5 2 5 -2; -#X restore 64 197 pd template-toplevel; +#X restore 55 385 pd template-toplevel; #N canvas 0 0 419 102 template-amp 0; #X obj 15 41 struct template-amp float x float y float w; -#X restore 64 219 pd template-amp; +#X restore 55 407 pd template-amp; #N canvas 42 221 452 87 template-pitch 0; #X obj 21 29 struct template-pitch float x float y float w; -#X restore 66 242 pd template-pitch; +#X restore 57 430 pd template-pitch; #N canvas 323 50 551 562 synthesis 0; #X msg 125 220 next; #X msg 108 172 traverse pd-data \, next; @@ -81,65 +81,11 @@ array pitch template-pitch array amp template-amp; #X connect 26 0 27 0; #X connect 27 0 28 0; #X connect 28 0 14 0; -#X restore 64 323 pd synthesis; -#X floatatom 278 276 0 0 0 0 - - -; -#X floatatom 92 358 0 0 0 0 - - -; -#N canvas 159 26 495 270 output 0; -#X obj 345 163 t b; -#X obj 345 112 f; -#X obj 345 61 inlet; -#X text 351 30 mute; -#X obj 345 189 f; -#X msg 434 182 0; -#X msg 345 87 bang; -#X obj 345 138 moses 1; -#X obj 434 156 t b f; -#X obj 405 119 moses 1; -#X obj 85 151 dbtorms; -#X obj 405 94 r master-lvl; -#X obj 85 43 r master-lvl; -#X obj 345 214 s master-lvl; -#X obj 22 185 inlet~; -#X obj 203 42 inlet; -#X text 203 18 level; -#X obj 203 102 s master-lvl; -#X msg 98 67 set \$1; -#X obj 98 91 outlet; -#X msg 218 65 \; pd dsp 1; -#X obj 85 198 line~; -#X obj 22 216 *~; -#X obj 22 246 dac~; -#X obj 85 175 pack 0 50; -#X text 20 162 audio; -#X text 95 112 show level; -#X connect 0 0 4 0; -#X connect 1 0 7 0; -#X connect 2 0 6 0; -#X connect 4 0 13 0; -#X connect 5 0 13 0; -#X connect 6 0 1 0; -#X connect 7 0 0 0; -#X connect 7 1 8 0; -#X connect 8 0 5 0; -#X connect 9 1 4 1; -#X connect 10 0 24 0; -#X connect 11 0 1 1; -#X connect 11 0 9 0; -#X connect 12 0 10 0; -#X connect 12 0 18 0; -#X connect 14 0 22 0; -#X connect 15 0 17 0; -#X connect 15 0 20 0; -#X connect 18 0 19 0; -#X connect 21 0 22 1; -#X connect 22 0 23 0; -#X connect 22 0 23 1; -#X connect 24 0 21 0; -#X restore 64 380 pd output; -#X msg 122 358 MUTE; -#X msg 64 296 start; -#X msg 115 296 stop; -#N canvas 22 39 471 498 data 1; +#X restore 55 511 pd synthesis; +#X floatatom 269 464 0 0 0 0 - - -; +#X msg 55 484 start; +#X msg 106 484 stop; +#N canvas 137 388 559 411 data 0; #X scalar template-toplevel 3 86 900 \; 0 0 12 \; 10 0 12 \; \; 0 0 0 \; 10 0 2.5 \; 11 0 0 \; \;; #X scalar template-toplevel 14 80 990 \; 0 0 12 \; 10 0 12 \; \; 0 @@ -157,8 +103,8 @@ array pitch template-pitch array amp template-amp; 2.5 \; 70 0 0 \; \;; #X scalar template-toplevel 319 63.5 909 \; 0 0 12 \; 50 0 12 \; \; 0 0 4 \; 10 0 2.5 \; 50 0 0 \; \;; -#X coords 0 124.5 1 124.25 0 0 0; -#X restore 64 176 pd data; +#X coords 0 102.75 1 102.5 0 0 0; +#X restore 55 364 pd data; #N canvas 82 467 332 145 stuff 0; #X msg 1 101 \; pd-data write xx.txt; #X msg -3 39 \; pd-data read score.txt; @@ -166,28 +112,37 @@ array pitch template-pitch array amp template-amp; #X msg 208 34 \; tempo 60; #X msg 198 101 \; pd-data sort; #X connect 2 0 3 0; -#X restore 65 264 pd stuff; -#X obj 278 229 r tempo; -#X msg 278 252 set \$1; -#X obj 278 300 s tempo; +#X restore 56 452 pd stuff; +#X obj 269 417 r tempo; +#X msg 269 440 set \$1; +#X obj 269 488 s tempo; #X text 13 4 This patch shows an example of how to use data collections as musical sequences (with apologies to Yuasa and Stockhausen). Here the black traces show dynamics and the colored ones show pitch. The fatness of the pitch traces give bandwidth. Any of the three can change over the life of the event.; -#X text 160 357 <--- volume in dB; -#X text 13 96 To hear the result \, turn the volume up to 70 or so +#X text 11 97 To hear the result \, turn the volume up to 70 or so (higher if it's not loud enough the first time) and hit "start". You can set the tempo lower if that helps you follow the "score" the first couple of times.; -#X text 311 276 <--- tempo; -#X text 256 416 Updated for Pd version 0.36; -#X connect 3 0 6 0; -#X connect 4 0 14 0; -#X connect 5 0 6 1; -#X connect 6 0 5 0; -#X connect 7 0 6 2; -#X connect 8 0 3 0; -#X connect 9 0 3 0; -#X connect 12 0 13 0; -#X connect 13 0 4 0; +#X text 302 464 <--- tempo; +#X obj 55 539 output~; +#X text 304 574 Updated for Pd version 0.39; +#X text 10 259 This confuses Tk's scroll bars \, by the way \, and +when you resize the window the image still sticks to the top and not +the bottom of the window as it should. When you resize a canvas with +y having positive units (growing upward) \, just hit 'save' and Pd +will check the scrolling and correct if necessary.; +#X text 10 161 Note the screen units in the "data" window (open it +and get "properties" to see them.) Normally \, there are -1 y units +per pixel - that is \, adding 1 to y moves down one pixel. This is +the "natural" y unit for most drawing programs. In the data window +\, each pixel is 0.25 units \, meaning that adding one to a 'y' value +moves it up four pixels.; +#X connect 3 0 15 0; +#X connect 3 0 15 1; +#X connect 4 0 11 0; +#X connect 5 0 3 0; +#X connect 6 0 3 0; +#X connect 9 0 10 0; +#X connect 10 0 4 0; diff --git a/pd/doc/4.data.structures/08.selection.pd b/pd/doc/4.data.structures/08.selection.pd new file mode 100644 index 00000000..6733ee4d --- /dev/null +++ b/pd/doc/4.data.structures/08.selection.pd @@ -0,0 +1,81 @@ +#N struct template8 float x float y float w float h float q; +#N canvas 60 446 586 452 12; +#X floatatom 53 347 0 0 0 0 - - -; +#X floatatom 53 299 0 0 0 0 - - -; +#X floatatom 53 251 0 0 0 0 - - -; +#X floatatom 53 203 0 0 0 0 - - -; +#X floatatom 342 283 0 0 0 0 - - -; +#X floatatom 301 283 0 0 0 0 - - -; +#X floatatom 258 283 0 0 0 0 - - -; +#X floatatom 215 283 0 0 0 0 - - -; +#X floatatom 374 283 0 0 0 0 - - -; +#X floatatom 53 394 0 0 0 0 - - -; +#N canvas 19 29 363 341 data8 1; +#X scalar template8 28 123 0 16 917 \;; +#X scalar template8 289 213 0 32 66 \;; +#X scalar template8 185 -30 46 71 78 \;; +#X scalar template8 20 259 49 42 220 \;; +#X scalar template8 111 142 28 72 634 \;; +#X scalar template8 249 66 46 11 48 \;; +#X scalar template8 25 3 70 11 903 \;; +#X scalar template8 259 -23 10 4 169 \;; +#X scalar template8 229 116 25 27 710 \;; +#X scalar template8 281 207 50 25 612 \;; +#X scalar template8 54 124 62 51 421 \;; +#X scalar template8 176 182 39 66 866 \;; +#X scalar template8 144 37 27 27 125 \;; +#X scalar template8 115 26 66 32 319 \;; +#X scalar template8 134 2 50 25 454 \;; +#X scalar template8 274 58 21 45 583 \;; +#X scalar template8 269 171 25 38 548 \;; +#X scalar template8 216 190 24 73 214 \;; +#X scalar template8 215 256 50 78 652 \;; +#X scalar template8 287 32 72 19 325 \;; +#X restore 410 359 pd data8; +#N canvas 280 471 688 314 template8 0; +#X obj 25 177 filledpolygon q 0 1 0 0 w 0 w h 0 h; +#X obj 26 200 drawnumber q 0 0 0; +#X obj 24 19 struct template8 float x float y float w float h float +q; +#X obj 24 74 route select; +#X obj 24 103 outlet; +#X obj 32 46 print struct-template8; +#X text 151 72 "struct" outputs messages notifying you when objects +of this structure are selected or deselected. Here we only catch selection. +; +#X connect 2 0 3 0; +#X connect 2 0 5 0; +#X connect 3 0 4 0; +#X restore 215 208 pd template8; +#X text 46 5 This patch demonstrates catching the selection so you +can make control panels to edit parameters. The "struct" object outputs +a pointer to any selected object of type struct8.; +#X obj 53 227 set template8 x; +#X obj 53 275 set template8 y; +#X obj 53 323 set template8 w; +#X obj 53 370 set template8 h; +#X obj 53 417 set template8 q; +#X obj 215 259 get template8 x y w h q; +#X text 46 68 To try it \, unlock the subpatch (data8) and select something. +The 5 paramters should show up under the "get" object in this window +\, and you should be able to change them with the "set" object.; +#X text 332 405 updated for Pd version 0.39; +#X text 47 136 The blue "selection" rectangle ought to notice when +the object that got selected gets moved or resized \, but this isn't +done yet (as of Pd version 0.39).; +#X connect 0 0 16 0; +#X connect 1 0 15 0; +#X connect 2 0 14 0; +#X connect 3 0 13 0; +#X connect 9 0 17 0; +#X connect 11 0 13 1; +#X connect 11 0 14 1; +#X connect 11 0 15 1; +#X connect 11 0 16 1; +#X connect 11 0 17 1; +#X connect 11 0 18 0; +#X connect 18 0 7 0; +#X connect 18 1 6 0; +#X connect 18 2 5 0; +#X connect 18 3 4 0; +#X connect 18 4 8 0; diff --git a/pd/doc/4.data.structures/09.scaling.pd b/pd/doc/4.data.structures/09.scaling.pd new file mode 100644 index 00000000..8af7d6ff --- /dev/null +++ b/pd/doc/4.data.structures/09.scaling.pd @@ -0,0 +1,74 @@ +#N struct template9b float x float y float w symbol s; +#N struct template9a float x float y float a float b float c; +#N canvas 387 17 573 330 12; +#X text 319 276 updated for Pd version 0.39; +#N canvas 1 11 363 341 data9 1; +#X scalar template9b 222 157 26.3158 why? \;; +#X scalar template9a 149 243 23 57.1429 32 \;; +#X scalar template9a 84 80 100 20 32 \;; +#X coords 0 341 1 340 0 0 0; +#X restore 22 274 pd data9; +#N canvas 48 362 604 524 template9a 0; +#X obj 24 19 struct template9a float x float y float a float b float +c; +#X obj 31 380 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 31 402 t b b; +#X obj 210 461 pointer; +#X msg 60 430 traverse pd-data9 \, bang; +#X obj 31 486 append template9a x y a b c; +#X msg 31 462 50 50 30 20 40; +#X obj 23 115 drawpolygon 0 1 0 10 0 a(0:100)(10:110) -5 a(0:100)(5:105) +0 a(0:100)(10:110) 5 a(0:100)(5:105); +#X obj 25 287 drawcurve 0 1 0 -2 0 3 5 3 5 -8 -13 -8 -13 21; +#X obj 25 247 drawpolygon 0 1 10 0 c(0:100)(10:110) 0 c(0:100)(5:105) +-5 c(0:100)(10:110) 0 c(0:100)(5:105) 5; +#X obj 25 193 drawpolygon 0 1 7 7 b(0:100)(7:77) b(0:100)(7:77) b(0:100)(0:70) +b(0:100)(7:77) b(0:100)(7:77) b(0:100)(7:77) b(0:100)(7:77) b(0:100)(0:70) +; +#X text 23 50 'a' controls an arrow pointing upward. The main segment +goes from (0.10) to (0 \, a+10). Then we hike 5 units down and left +\, back to the point \, and then 5 units down and right.; +#X text 28 154 Slightly more complicated construction to make an arrow +at 45 degrees:; +#X text 25 330 It's a good practice to put a small patch like this +one in each template that you can use to make the first one (and will +often find yourself wanting to use again later):; +#X connect 1 0 2 0; +#X connect 2 0 6 0; +#X connect 2 1 4 0; +#X connect 3 0 5 5; +#X connect 4 0 3 0; +#X connect 6 0 5 0; +#X restore 21 224 pd template9a; +#N canvas 353 371 688 314 template9b 0; +#X obj 351 176 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 351 196 t b b; +#X obj 567 254 pointer; +#X msg 360 227 traverse pd-data9 \, bang; +#X obj 24 19 struct template9b float x float y float w symbol s; +#X obj 37 54 filledpolygon 900 0 1 w(0:100)(0:38) w(0:100)(0:92) w(0:100)(0:92) +w(0:100)(0:38) w(0:100)(0:92) w(0:100)(0:-38) w(0:100)(0:38) w(0:100)(0:-92) +w(0:100)(0:-38) w(0:100)(0:-92) w(0:100)(0:-92) w(0:100)(0:-38) w(0:100)(0:-92) +w(0:100)(0:38) w(0:100)(0:-38) w(0:100)(0:92); +#X msg 351 257 50 50 30; +#X obj 352 281 append template9b x y w; +#X obj 36 171 drawsymbol s w(0:100)(10:-90) 10 0; +#X connect 0 0 1 0; +#X connect 1 0 6 0; +#X connect 1 1 3 0; +#X connect 2 0 7 3; +#X connect 3 0 2 0; +#X connect 6 0 7 0; +#X restore 21 248 pd template9b; +#X text 35 7 Screen dimensions can be tailored to specific ranges by +adding suffixes in the drawing instructions. For example \, in "template9a" +\, a coordinate such as "b(0:100)(7:77)" instructs the drawpolygon +object to rescale b from the range 0-100 to the range 7-77.; +#X text 39 93 The application is to introduce an offset to a coordinate. +For example \, the construction "a(0:100)(10:110)" just gives a+10. +; +#X text 35 147 Each of the three arrows of template9a is controlled +by a single parameter (a \, b \, or c) and the entire red octagon in +template9b likewise.; diff --git a/pd/doc/7.stuff/data-structures/8.beat-patterns.pd b/pd/doc/4.data.structures/10.beat-patterns.pd index 11487c74..1bcb8694 100644 --- a/pd/doc/7.stuff/data-structures/8.beat-patterns.pd +++ b/pd/doc/4.data.structures/10.beat-patterns.pd @@ -1,5 +1,5 @@ #N struct rect float x float y float w float h; -#N canvas 637 175 299 256 10; +#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; @@ -17,7 +17,7 @@ #X connect 6 0 9 4; #X connect 8 0 9 0; #X connect 9 0 7 0; -#X restore 26 67 pd rect; +#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 \;; @@ -353,7 +353,7 @@ #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 24 98 pd output; +#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; @@ -449,4 +449,7 @@ #X connect 27 0 26 0; #X connect 27 0 28 0; #X connect 28 0 39 0; -#X restore 26 38 pd generator; +#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/7.stuff/data-structures/9.sliderule.pd b/pd/doc/4.data.structures/11.sliderule.pd index e26941ef..d149cfa3 100644 --- a/pd/doc/7.stuff/data-structures/9.sliderule.pd +++ b/pd/doc/4.data.structures/11.sliderule.pd @@ -1,7 +1,7 @@ #N struct label float x float y float n; #N struct line float x float y float w; -#N canvas 564 9 276 218 10; -#N canvas 15 0 504 847 data 1; +#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 \;; @@ -92,15 +92,15 @@ 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 46 51 pd data; +#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 46 76 pd line; +#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 48 100 pd label; +#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; @@ -193,4 +193,13 @@ staves with the bass and treble clef. The numbers are the MIDI pitches. #X connect 29 0 31 0; #X connect 30 0 24 0; #X connect 31 1 28 0; -#X restore 54 131 pd generator; +#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.fft.examples/12.sinedecomposer.pd b/pd/doc/4.data.structures/12.sinedecomposer.pd index 3623af28..1d240ce7 100644 --- a/pd/doc/4.fft.examples/12.sinedecomposer.pd +++ b/pd/doc/4.data.structures/12.sinedecomposer.pd @@ -1,6 +1,6 @@ #N struct peak-template float x float y float amp float ampreal float ampimag; -#N canvas 82 391 858 492 12; +#N canvas 303 216 854 536 12; #X msg 501 258 bang; #X obj 30 360 pack 0 100; #X obj 30 384 line~; @@ -27,11 +27,10 @@ ampimag; #X connect 2 0 1 0; #X connect 3 0 6 0; #X connect 3 1 7 0; -#X restore 134 409 pd fft; +#X restore 135 412 pd fft; #X obj 30 408 *~; -#X obj 29 435 dac~; #X obj 476 231 adc~; -#N canvas 204 36 521 368 analysis 1; +#N canvas 204 36 521 368 analysis 0; #X obj 206 37 inlet; #X msg 207 68 bang; #X obj 275 52 r snapshot; @@ -118,94 +117,47 @@ ampimag; float ampimag; #X restore 339 402 pd peak-template; #N canvas 0 0 600 382 peak-list 1; -#X scalar peak-template 58.2195 330 -122.487 0.000825282 -0.000727483 -\;; -#X scalar peak-template 113.041 330 -92.8753 -0.000338659 0.00010002 -\;; -#X scalar peak-template 118.46 330 -94.8943 0.00031586 -0.000214072 -\;; -#X scalar peak-template 138.93 330 -0 3.25541e-06 -5.9315e-06 \;; -#X scalar peak-template 142.074 330 -0 7.21258e-06 6.84986e-07 \;; -#X scalar peak-template 146.444 330 -0 -7.88035e-06 8.62137e-07 \; -; -#X scalar peak-template 172.29 330 -79.5955 0.000108583 0.000182228 -\;; -#X scalar peak-template 177.651 330 -85.3731 -0.000234655 0.00012266 -\;; -#X scalar peak-template 195.809 330 -0 2.79175e-06 -8.34867e-06 \; +#X scalar peak-template 6.52298 330 -195.561 0.0125191 -0.0131689 \; ; -#X scalar peak-template 203.103 330 -0 5.14234e-06 -6.78858e-06 \; +#X scalar peak-template 13.0656 330 -262.841 0.222392 0.0909196 \; ; -#X scalar peak-template 211.356 330 -0 -5.54349e-06 -6.98329e-06 \; +#X scalar peak-template 26.2816 330 -188.229 0.0133818 0.00299871 \; ; -#X scalar peak-template 221.688 330 -42.6342 -5.09215e-05 6.6466e-06 +#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 226.081 330 -43.02 5.18789e-05 5.00157e-06 +#X scalar peak-template 64.6374 330 -153.343 -0.00231745 -0.00274854 \;; -#X scalar peak-template 229.339 330 -43.3736 -1.05481e-05 -5.17679e-05 +#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 274.262 330 -12.1351 -2.70512e-06 1.57e-05 +#X scalar peak-template 89.0428 330 -164.547 0.00509053 0.00215158 \;; -#X scalar peak-template 277.663 330 -12.8808 -1.61933e-05 2.5564e-06 +#X scalar peak-template 96.8527 330 -127.029 0.00018868 -0.00129597 \;; -#X scalar peak-template 290.641 330 -0 2.56841e-06 6.25735e-06 \;; -#X scalar peak-template 303.545 330 -0 -5.80611e-06 4.01017e-06 \; +#X scalar peak-template 108.145 330 -206.524 -0.0244265 0.0130057 \; ; -#X scalar peak-template 306.665 330 -0 6.64873e-06 2.12955e-06 \;; -#X scalar peak-template 332.606 330 -31.28 -2.93873e-05 1.54798e-05 +#X scalar peak-template 119.672 330 -139.871 0.000310867 0.00212115 \;; -#X scalar peak-template 342.348 330 -39.2289 4.48755e-05 4.09977e-06 +#X scalar peak-template 129.195 330 -154.988 0.00101519 -0.00369247 \;; -#X scalar peak-template 349.861 330 -42.7285 -4.16831e-05 -3.03127e-05 +#X scalar peak-template 148.144 330 -131.59 -0.000488336 0.00148172 \;; -#X scalar peak-template 358.384 330 -16.8763 8.55105e-06 -1.70906e-05 +#X scalar peak-template 156.394 330 -157.846 0.00107442 -0.00413614 \;; -#X scalar peak-template 364.267 330 -0 -8.11825e-06 3.74108e-06 \; -; -#X scalar peak-template 381.317 330 -0 1.65706e-07 -7.33649e-06 \; -; -#X scalar peak-template 390.885 330 -0.231076 9.93783e-06 1.7404e-06 +#X scalar peak-template 168.637 330 -126.924 0.0001938 -0.00128991 \;; -#X scalar peak-template 401.603 330 -2.38845 -3.17752e-06 -1.04892e-05 +#X scalar peak-template 189.884 330 -119.499 0.000252664 -0.000947853 \;; -#X scalar peak-template 408.086 330 -0.241569 2.517e-06 -9.77426e-06 +#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 floatatom 557 77 0 0 0 0 - - -; -#N canvas 194 37 730 728 output 0; -#X obj 77 218 t b; -#X obj 77 154 f; -#X obj 66 71 inlet; -#X text 73 46 mute; -#X obj 77 244 f; -#X msg 156 235 0; -#X msg 69 102 bang; -#X obj 77 189 moses 1; -#X obj 169 33 r loop-amp; -#X obj 78 286 s loop-amp; -#X obj 156 179 t b f; -#X obj 93 462 outlet; -#X msg 92 428 set \$1; -#X obj 93 400 r loop-amp; -#X connect 0 0 4 0; -#X connect 1 0 7 0; -#X connect 2 0 6 0; -#X connect 4 0 9 0; -#X connect 5 0 9 0; -#X connect 6 0 1 0; -#X connect 7 0 0 0; -#X connect 7 1 10 0; -#X connect 8 0 1 1; -#X connect 10 0 5 0; -#X connect 10 1 4 1; -#X connect 12 0 11 0; -#X connect 13 0 12 0; -#X restore 557 53 pd output; -#X obj 557 104 s loop-amp; -#X msg 557 30 mute; -#X text 593 80 AMPLITUDE; #X text 539 189 live sample; #X text 719 234 print out; #X text 720 249 peak list; @@ -216,8 +168,8 @@ 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 39075 float 0; -#X coords 0 1 39074 -1 400 150 1; +#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; @@ -232,15 +184,11 @@ can also ask for the peak lists to be printed out.; #X connect 4 0 6 0; #X connect 5 0 4 0; #X restore 336 350 pd insample; -#X floatatom 134 363 0 0 0 0 - - -; -#N canvas 190 43 405 461 test-signal 0; +#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 136 350 *~; -#X obj 171 350 dbtorms; -#X obj 171 327 inlet; #X obj 135 415 outlet~; #X obj 146 33 r insamplength; #X msg 134 247 0 \, \$1 \$2; @@ -255,54 +203,48 @@ can also ask for the peak lists to be printed out.; #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 4 0; +#X connect 0 0 10 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 134 386 pd test-signal; -#X text 135 341 amplitude; +#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 1 +#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 connect 0 0 36 0; +#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 6 0; -#X connect 5 0 6 1; -#X connect 7 0 36 0; -#X connect 9 0 3 0; -#X connect 10 0 8 0; -#X connect 18 0 20 0; -#X connect 19 0 18 0; -#X connect 21 0 19 0; -#X connect 29 0 30 0; -#X connect 30 0 4 0; -#X connect 30 0 5 1; -#X connect 37 0 17 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 new file mode 100644 index 00000000..5fb1323f --- /dev/null +++ b/pd/doc/4.data.structures/13.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; diff --git a/pd/doc/4.fft.examples/add-trace.pd b/pd/doc/4.data.structures/add-trace.pd index c04c855a..c04c855a 100644 --- a/pd/doc/4.fft.examples/add-trace.pd +++ b/pd/doc/4.data.structures/add-trace.pd diff --git a/pd/doc/7.stuff/data-structures/beat-maker.pd b/pd/doc/4.data.structures/beat-maker.pd index 014ae0ac..014ae0ac 100644 --- a/pd/doc/7.stuff/data-structures/beat-maker.pd +++ b/pd/doc/4.data.structures/beat-maker.pd diff --git a/pd/doc/7.stuff/data-structures/data-array.pd b/pd/doc/4.data.structures/data-array.pd index 25cb1ec8..25cb1ec8 100644 --- a/pd/doc/7.stuff/data-structures/data-array.pd +++ b/pd/doc/4.data.structures/data-array.pd diff --git a/pd/doc/7.stuff/data-structures/data-start.pd b/pd/doc/4.data.structures/data-start.pd index b0522fbf..b0522fbf 100644 --- a/pd/doc/7.stuff/data-structures/data-start.pd +++ b/pd/doc/4.data.structures/data-start.pd diff --git a/pd/doc/7.stuff/data-structures/file.txt b/pd/doc/4.data.structures/file.txt index 62b6a167..62b6a167 100644 --- a/pd/doc/7.stuff/data-structures/file.txt +++ b/pd/doc/4.data.structures/file.txt diff --git a/pd/doc/4.fft.examples/osc-voice.pd b/pd/doc/4.data.structures/osc-voice.pd index 02a8bde5..02a8bde5 100644 --- a/pd/doc/4.fft.examples/osc-voice.pd +++ b/pd/doc/4.data.structures/osc-voice.pd diff --git a/pd/doc/4.data.structures/output~.pd b/pd/doc/4.data.structures/output~.pd new file mode 100644 index 00000000..07fb59f8 --- /dev/null +++ b/pd/doc/4.data.structures/output~.pd @@ -0,0 +1,66 @@ +#N canvas 0 0 757 616 12; +#X obj 516 522 t b; +#X obj 516 469 f; +#X obj 516 547 f; +#X msg 630 546 0; +#X obj 516 499 moses 1; +#X obj 630 518 t b f; +#X obj 596 479 moses 1; +#X obj 29 97 dbtorms; +#X obj 85 170 inlet~; +#X msg 278 300 \; pd dsp 1; +#X obj 29 170 line~; +#X obj 64 242 *~; +#X obj 64 272 dac~; +#X obj 29 127 pack 0 50; +#X text 121 146 audio in; +#X text 301 496 test if less than 1 -->; +#X text 267 523 if true convert to bang -->; +#X text 100 96 <-- convert from dB to linear units; +#X floatatom 278 221 3 0 100 0 dB - -; +#X obj 516 449 bng 15 250 50 0 empty empty mute -38 7 0 12 -262144 +-1 -1; +#X text 118 126 <-- make a ramp to avoid clicks or zipper noise; +#X obj 148 170 inlet~; +#X obj 154 241 *~; +#X text 502 399 MUTE logic:; +#X obj 278 193 r \$0-master-lvl; +#X obj 516 573 s \$0-master-lvl; +#X obj 293 247 s \$0-master-out; +#X obj 29 71 r \$0-master-out; +#X obj 596 450 r \$0-master-out; +#X text 60 10 Level control abstraction \, used in many of the Pd example +patches. The "level" and "mute" controls show up on the parent \, calling +patch.; +#X text 229 549 previous nonzero master-lvl -->; +#X text 301 453 recall previous; +#X text 301 471 value of master-lvl -->; +#X text 16 310 automatically start DSP -->; +#X obj 85 192 hip~ 3; +#X obj 147 192 hip~ 3; +#X connect 0 0 2 0; +#X connect 1 0 4 0; +#X connect 2 0 25 0; +#X connect 3 0 25 0; +#X connect 4 0 0 0; +#X connect 4 1 5 0; +#X connect 5 0 3 0; +#X connect 6 1 2 1; +#X connect 7 0 13 0; +#X connect 8 0 34 0; +#X connect 10 0 22 0; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 13 0 10 0; +#X connect 18 0 9 0; +#X connect 18 0 26 0; +#X connect 19 0 1 0; +#X connect 21 0 35 0; +#X connect 22 0 12 1; +#X connect 24 0 18 0; +#X connect 27 0 7 0; +#X connect 28 0 1 1; +#X connect 28 0 6 0; +#X connect 34 0 11 1; +#X connect 35 0 22 1; +#X coords 0 0 1 1 65 55 1; diff --git a/pd/doc/7.stuff/data-structures/voice.pd b/pd/doc/4.data.structures/voice.pd index 20f2856d..20f2856d 100644 --- a/pd/doc/7.stuff/data-structures/voice.pd +++ b/pd/doc/4.data.structures/voice.pd diff --git a/pd/doc/7.stuff/data-structures/z.txt b/pd/doc/4.data.structures/z.txt index 6cdd0a4a..6cdd0a4a 100644 --- a/pd/doc/7.stuff/data-structures/z.txt +++ b/pd/doc/4.data.structures/z.txt diff --git a/pd/doc/4.fft.examples/00.INTRO.txt b/pd/doc/4.fft.examples/00.INTRO.txt deleted file mode 100644 index c27120b8..00000000 --- a/pd/doc/4.fft.examples/00.INTRO.txt +++ /dev/null @@ -1,13 +0,0 @@ -Most of the patches here have moved to section I of the audio examples. -The remaining ones are due for an update but will probably join the -"data" examples. - -12.sinedecomposer.pd -- estimate the frequencies and amplitudes of the -components of a sound - -13.partialtracer.pd -- sinusoidal analysis/resynthesis of a time-verying sound. - - - - - diff --git a/pd/doc/4.fft.examples/13.partialtracer.pd b/pd/doc/4.fft.examples/13.partialtracer.pd deleted file mode 100644 index 38f62ffe..00000000 --- a/pd/doc/4.fft.examples/13.partialtracer.pd +++ /dev/null @@ -1,1181 +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 234 52 951 590 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 411 214 peak-template 0; -#X obj 81 52 filledpolygon 3 3 3 0 0 0 amp 0 0; -#X obj 74 10 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 7.3364 330 -238.332 0.0936304 0.00561724 1 -\;; -#X scalar peak-template 14.7426 330 -251.701 -0.155727 0.0172642 1 -\;; -#X scalar peak-template 29.3586 330 -199.673 0.0032691 -0.0210232 1 -\;; -#X scalar peak-template 36.7351 330 -206.184 -0.00415906 -0.0269962 -1 \;; -#X scalar peak-template 44.2469 330 -167.16 -0.000842272 -0.0060511 -1 \;; -#X scalar peak-template 51.4937 330 -155.881 0.00345076 -0.00194862 -1 \;; -#X scalar peak-template 72.9503 330 -154.276 -0.00371857 0.000238775 -1 \;; -#X scalar peak-template 80.412 330 -148.84 -0.00302266 -0.000109521 -0 \;; -#X scalar peak-template 88.1796 330 -141.774 0.000703239 -0.00219634 -1 \;; -#X scalar peak-template 95.1357 330 -131.572 0.00150631 -0.000402192 -0 \;; -#X restore 351 454 pd peak-list; -#N canvas 20 23 472 426 trace-list 1; -#X scalar trace-template 0 0 10 \; -170.267 66.4538 \; -178.537 75.8422 -\; -178.598 82.9542 \; -177.204 85.9096 \; -174.479 86.1407 \; -172.434 -85.582 \; -172.199 84.9443 \; -172.09 84.0268 \; -169.564 82.0702 \; --166.806 78.5575 \; -162.504 72.9202 \; -156.84 65.9576 \; -149.693 -65.3729 \; -144.236 69.5045 \; -141.557 70.9896 \; -149.55 67.6403 -\; \;; -#X scalar trace-template 0 0 9 \; -207.715 54.7785 \; \;; -#X scalar trace-template 0 0 8 \; -243.358 55.1846 \; \;; -#X scalar trace-template 0 0 7 \; -267.389 57.555 \; -271.06 66.0181 -\; -271.78 72.2014 \; -270.997 73.3758 \; -267.4 73.2636 \; -266.621 -72.001 \; -266.751 70.437 \; -263.935 68.0226 \; -259.394 61.547 \; --255.967 54.0291 \; -256.993 46.5229 \; -260.301 50.6729 \; -262.611 -55.8411 \; -259.261 56.0363 \; -255.152 52.2934 \; \;; -#X scalar trace-template 0 0 6 \; -300.107 44.4539 \; -300.516 54.1354 -\; -299.908 58.9963 \; -297.792 60.1369 \; -295.978 58.125 \; -295.477 -53.8608 \; -295.418 48.3485 \; \;; -#X scalar trace-template 0 0 5 \; -319.57 44.8588 \; -320.507 46.5613 -\; -320.202 49.0809 \; -319.099 47.3226 \; -317.078 47.3695 \; -316.217 -46.9586 \; -315.832 43.9151 \; -316.736 40.4574 \; -318.97 38.9795 -\; \;; -#X scalar trace-template 0 0 4 \; -334.191 42.4308 \; -336.111 40.5727 -\; -336.349 43.9242 \; \;; -#X scalar trace-template 0 0 3 \; -355.448 43.2391 \; \;; -#X scalar trace-template 0 0 2 \; -360.203 40.0061 \; \;; -#X scalar trace-template 0 0 1 \; -364.305 39.0029 \; \;; -#X scalar trace-template 10 0 9 \; -225.707 77.1385 \; -220.751 82.0983 -\; -220.203 84.3479 \; -219.677 85.5786 \; -219.575 86.3599 \; -218.647 -85.9264 \; -217.451 83.5701 \; -213.495 78.7379 \; -211.599 69.0469 -\; -221.934 57.2752 \; -223.075 55.4057 \; -224.721 56.3018 \; \;; -#X scalar trace-template 10 0 8 \; -253.725 70.508 \; -250.232 72.8232 -\; -246.902 73.3931 \; -246.674 72.7729 \; -246.26 70.5063 \; -243.66 -67.4126 \; \;; -#X scalar trace-template 10 0 3 \; -287.833 60.221 \; -287.191 62.1954 -\; \;; -#X scalar trace-template 10 0 2 \; -329.144 47.6583 \; \;; -#X scalar trace-template 10 0 1 \; -343.201 39.6174 \; \;; -#X scalar trace-template 20 0 4 \; -307.248 53.2543 \; -306.63 50.6817 -\; -305.334 48.1079 \; -303.184 45.9483 \; -303.996 41.3323 \; \;; -#X scalar trace-template 20 0 2 \; -324.547 47.805 \; -324.135 46.0264 -\; -322.854 42.7846 \; \;; -#X scalar trace-template 20 0 1 \; -332.875 46.0688 \; -331.943 47.3165 -\; -330.917 46.439 \; -331.689 41.3565 \; -333.388 37.9978 \; \;; -#X scalar trace-template 25 0 3 \; -338.351 43.9524 \; \;; -#X scalar trace-template 35 0 3 \; -284.182 52.1707 \; \;; -#X scalar trace-template 40 0 6 \; -337.958 38.6551 \; \;; -#X scalar trace-template 40 0 2 \; -354.053 37.4427 \; \;; -#X scalar trace-template 45 0 8 \; -268.027 51.4722 \; \;; -#X scalar trace-template 45 0 3 \; -281.607 43.0792 \; \;; -#X scalar trace-template 50 0 6 \; -305.727 38.4694 \; -307.039 55.9214 -\; -307.146 60.4672 \; -307.359 56.9872 \; -308.617 47.1614 \; -310.28 -42.9513 \; \;; -#X scalar trace-template 50 0 5 \; -312.458 37.0268 \; \;; -#X scalar trace-template 50 0 4 \; -320.932 36.337 \; \;; -#X scalar trace-template 50 0 2 \; -325.694 36.1816 \; \;; -#X scalar trace-template 50 0 1 \; -334.319 37.4066 \; \;; -#X scalar trace-template 55 0 8 \; -339.343 53.6337 \; -339.295 57.4119 -\; \;; -#X scalar trace-template 55 0 3 \; -355.059 48.1828 \; -356.114 51.5799 -\; \;; -#X scalar trace-template 60 0 5 \; -322.591 56.6028 \; -323.967 53.0469 -\; -323.29 44.7662 \; \;; -#X scalar trace-template 60 0 4 \; -352.86 51.5962 \; \;; -#X scalar trace-template 60 0 2 \; -359.202 51.433 \; \;; -#X scalar trace-template 60 0 1 \; -368.116 50.8715 \; \;; -#X scalar trace-template 70 0 8 \; -278.014 52.8146 \; -280.955 51.7122 -\; -283.057 55.7014 \; -283.598 63.0796 \; -283.738 70.624 \; -283.818 -74.9166 \; -283.92 76.3898 \; -284.142 75.3673 \; -284.408 71.4549 -\; -286.301 64.8771 \; -286.588 55.7925 \; -284.764 54.3222 \; -283.507 -57.9578 \; -283.015 60.0599 \; -281.708 61.5304 \; -280.848 61.4616 -\; -278.33 61.3238 \; -277.397 59.5073 \; \;; -#X scalar trace-template 70 0 4 \; -289.501 52.2515 \; -292.66 48.9686 -\; \;; -#X scalar trace-template 70 0 3 \; -316.901 46.1909 \; -317.233 43.989 -\; \;; -#X scalar trace-template 70 0 2 \; -331.449 45.0612 \; -332.217 41.0986 -\; -333.598 40.3374 \; -332.069 45.7766 \; -331.822 53.721 \; -331.925 -57.7791 \; -332.209 58.7335 \; -332.575 57.8384 \; -333.329 55.2908 -\; -334.729 51.1644 \; -335.212 48.3664 \; -334.721 47.2837 \; -333.718 -47.5034 \; -333.463 44.4053 \; \;; -#X scalar trace-template 70 0 1 \; -343.238 42.1521 \; \;; -#X scalar trace-template 75 0 9 \; -264.098 56.9809 \; -263.754 66.2517 -\; -264.572 73.7168 \; -265.783 79.0231 \; -265.835 82 \; -264.711 -82.7954 \; -264.498 82.4753 \; -264.101 81.3044 \; -263.888 78.2512 -\; -264.716 72.3203 \; -265.384 67.1745 \; -264.261 64.4012 \; -262.314 -67.3463 \; -260.604 73.0494 \; -259.892 78.6327 \; -259.22 81.7477 -\; -258.66 81.0287 \; -255.639 76.3778 \; -255.988 66.5063 \; -259.96 -57.8551 \; -262.387 69.9938 \; -259.171 79.8035 \; -258.087 82.7587 -\; -254.969 83.4073 \; -253.7 82.0988 \; -253.057 79.3989 \; -250.953 -75.1472 \; -249.691 67.1252 \; \;; -#X scalar trace-template 80 0 7 \; -181.513 74.2874 \; -181.454 82.623 -\; -183.134 86.2068 \; -187.394 87.2597 \; -187.47 86.6502 \; -187.412 -85.5752 \; -188.138 84.9208 \; -188.952 84.8478 \; -190.033 85.0942 -\; -190.643 85.1492 \; -190.07 84.5352 \; -188.321 83.4295 \; -186.093 -82.5333 \; -184.766 82.1497 \; -183.581 82.0497 \; -182.299 81.7043 -\; -180.916 80.6679 \; -179.488 79.1333 \; -178.616 78.1185 \; -176.777 -77.6621 \; -176.205 77.6415 \; -178.884 79.4115 \; -179.056 82.0705 -\; -178.1 83.8743 \; -178.136 84.7041 \; -177.876 84.8096 \; -177.281 -83.2978 \; -176.064 79.0135 \; -172.925 71.5834 \; -172.626 61.9303 -\; -180.909 51.0706 \; -191.984 44.7216 \; \;; -#X scalar trace-template 80 0 5 \; -237.014 65.3621 \; -234.41 74.8307 -\; -234.248 80.6215 \; -234.563 82.2622 \; -235.304 81.5854 \; -236.049 -80.5077 \; -236.478 80.1592 \; -236.841 80.6753 \; -237.583 81.5822 -\; -237.372 82.0089 \; -235.886 81.9406 \; -235.882 82.2396 \; -235.509 -82.8466 \; -233.769 83.9694 \; -232.454 84.3957 \; -231.424 82.2741 -\; -225.05 80.7849 \; -223.709 80.3688 \; -225.714 80.31 \; -227.307 -80.271 \; -229.479 80.4089 \; -228.621 80.9255 \; -226.472 81.9592 -\; -225.674 82.1209 \; -225.459 81.4977 \; -224.997 79.8773 \; -221.653 -75.8547 \; -218.642 68.4292 \; \;; -#X scalar trace-template 80 0 1 \; -298.368 53.7346 \; -298.591 60.9971 -\; -299.498 64.8356 \; -299.452 66.3569 \; -299.396 66.212 \; -299.873 -65.7341 \; -300.381 63.6091 \; -301.884 58.1587 \; -301.491 51.6325 -\; -300.343 48.3215 \; -298.635 51.7761 \; -298.08 54.0172 \; -295.832 -55.0647 \; -295.149 57.6262 \; -293.491 58.1534 \; -292.528 57.013 -\; -290.468 52.2813 \; -289.619 44.9864 \; \;; -#X scalar trace-template 85 0 10 \; -311.11 52.9131 \; -311.518 59.7527 -\; -311.789 61.6922 \; -312.682 61.0013 \; -313.003 59.0595 \; -313.42 -56.923 \; -314.537 53.6844 \; -314.422 48.8935 \; -314.151 46.7301 -\; -313.885 45.45 \; -315.206 41.292 \; \;; -#X scalar trace-template 85 0 6 \; -322.297 48.2258 \; -322.465 56.2584 -\; -322.504 59.0728 \; -322.766 57.4953 \; -323.223 53.7294 \; -323.99 -49.4406 \; -325.377 44.9601 \; -325.607 41.4491 \; -324.66 43.2242 -\; -324.003 44.5596 \; -322.266 46.3835 \; -321.046 49.7449 \; -319.254 -51.1405 \; -317.161 52.6226 \; -316.872 53.3849 \; -316.943 49.3078 -\; \;; -#X scalar trace-template 85 0 4 \; -340.013 42.9492 \; -339.477 50.5147 -\; -339.567 54.3931 \; -340.368 54.5097 \; -340.671 52.8455 \; -340.651 -48.2686 \; -342.766 44.3858 \; -343.093 44.1125 \; -343.052 42.9556 -\; -343.292 38.8401 \; \;; -#X scalar trace-template 85 0 3 \; -346.456 42.4553 \; -346.77 47.8724 -\; -347.138 51.8332 \; -347.887 52.9958 \; -348.131 52.0343 \; -349.084 -47.1793 \; -350.135 43.9494 \; -350.722 43.1553 \; -350.528 40.146 -\; \;; -#X scalar trace-template 135 0 3 \; -338.885 45.8862 \; -338.763 44.8602 -\; -338.854 44.1465 \; -339.118 46.1276 \; -339.092 45.0448 \; -338.075 -40.945 \; \;; -#X scalar trace-template 140 0 4 \; -307.461 48.2611 \; -307.068 51.612 -\; -306.679 53.4996 \; -306.836 51.9006 \; \;; -#X scalar trace-template 145 0 10 \; -327.858 49.2255 \; -325.879 50.1747 -\; -324.381 51.7601 \; \;; -#X scalar trace-template 145 0 2 \; -333.151 39.5463 \; \;; -#X scalar trace-template 155 0 2 \; -330.654 50.258 \; -332.066 44.7205 -\; \;; -#X scalar trace-template 165 0 10 \; -270.232 56.4147 \; \;; -#X scalar trace-template 165 0 8 \; -300.96 43.152 \; \;; -#X scalar trace-template 165 0 4 \; -312.09 43.1107 \; -312.66 50.6073 -\; \;; -#X scalar trace-template 170 0 6 \; -276.895 56.7744 \; \;; -#X scalar trace-template 170 0 3 \; -389.413 42.1923 \; \;; -#X scalar trace-template 175 0 10 \; -294.721 56.6338 \; -292.18 65.7481 -\; -289.932 70.4197 \; -289.417 71.2832 \; -289.062 69.1358 \; -289.174 -65.0269 \; -288.156 58.6335 \; -287.451 49.8643 \; \;; -#X scalar trace-template 175 0 8 \; -316.956 57.8563 \; -315.211 61.6923 -\; -314.159 60.5945 \; -313.045 61.3422 \; -312.815 60.7652 \; -311.812 -57.7599 \; -311.703 52.1358 \; -311.47 44.2096 \; -312.176 39.0539 -\; -311.111 37.1518 \; -309.185 39.552 \; -309.861 39.037 \; -311.31 -39.7343 \; -313.424 38.7045 \; \;; -#X scalar trace-template 175 0 2 \; -327.443 58.4 \; -327.633 65.4492 -\; -329.183 65.5614 \; -329.941 62.0771 \; -329.685 57.8422 \; -329.126 -53.5099 \; -328.937 47.0011 \; -328.117 38.7356 \; \;; -#X scalar trace-template 175 0 1 \; -340.595 47.2682 \; -339.533 61.0821 -\; -339.325 66.4315 \; -339.179 64.4084 \; -337.917 58.066 \; -336.691 -50.6697 \; -335.413 43.6705 \; -334.985 37.4829 \; -332.421 36.3476 -\; -330.547 40.9969 \; -330.46 40.454 \; -331.801 38.0878 \; -331.936 -40.1754 \; -330.945 37.8979 \; \;; -#X scalar trace-template 180 0 6 \; -276.996 74.3249 \; -275.533 79.091 -\; -274.394 82.7696 \; -273.702 83.2184 \; -272.152 80.6606 \; -271.354 -75.6869 \; -270.511 67.8662 \; -270.81 58.6252 \; -272.008 51.345 \; --271.139 48.3513 \; -271.879 45.0953 \; \;; -#X scalar trace-template 180 0 4 \; -304.462 54.5992 \; \;; -#X scalar trace-template 180 0 3 \; -335.106 61.3492 \; \;; -#X scalar trace-template 190 0 4 \; -301.028 59.0103 \; -300.991 58.1672 -\; -302.142 56.5942 \; -300.579 52.5078 \; -297.877 46.8547 \; -300.607 -38.2245 \; -301.753 34.9024 \; \;; -#X scalar trace-template 190 0 3 \; -322.321 60.1076 \; -321.238 58.0708 -\; -320.897 54.4567 \; -320.616 47.8489 \; -319.72 42.0012 \; -318.97 -39.1688 \; -318.621 37.655 \; \;; -#X scalar trace-template 220 0 10 \; -340.666 39.986 \; -341.648 39.3611 -\; \;; -#X scalar trace-template 220 0 9 \; -344.826 37.7427 \; \;; -#X scalar trace-template 220 0 2 \; -349.421 37.072 \; -349.408 41.3466 -\; \;; -#X scalar trace-template 225 0 5 \; -255.221 45.2687 \; -254.772 42.9843 -\; \;; -#X scalar trace-template 230 0 9 \; -111.78 56.425 \; -108.42 55.3947 -\; -116.057 51.7421 \; \;; -#X scalar trace-template 230 0 4 \; -224.409 47.8568 \; -223.553 43.7804 -\; -223.835 41.1729 \; -226.196 42.0569 \; -227.858 41.0595 \; -233.457 -40.2144 \; -235.739 41.3417 \; \;; -#X scalar trace-template 230 0 3 \; -296.314 37.2122 \; -296.19 38.2078 -\; -300.412 38.8855 \; -300.67 33.7445 \; -302.5 33.9353 \; -301.531 -38.5835 \; -301.095 43.8594 \; -299.133 49.6504 \; \;; -#X scalar trace-template 235 0 10 \; -263.428 41.5219 \; \;; -#X scalar trace-template 235 0 2 \; -302.561 39.8975 \; \;; -#X scalar trace-template 240 0 6 \; -247.492 34.3092 \; \;; -#X scalar trace-template 240 0 5 \; -271.41 42.8244 \; -271.275 38.8781 -\; \;; -#X scalar trace-template 245 0 10 \; -177.752 46.5101 \; -183.041 44.3264 -\; -187.856 44.2569 \; -181.42 45.2196 \; -187.007 48.2407 \; \;; -#X scalar trace-template 245 0 7 \; -289.524 36.0902 \; -289.2 37.9661 -\; -289.819 36.3457 \; -284.587 39.881 \; -287.032 44.7087 \; -287.357 -63.9375 \; -287.178 77.3926 \; -286.982 82.626 \; -286.856 80.9281 -\; -281.608 76.1115 \; -279.383 73.8375 \; -279.006 73.7229 \; -280.825 -73.5637 \; -283.179 73.2361 \; -284.554 73.2111 \; -285.962 73.261 -\; -285.533 72.7674 \; -284.152 72.1031 \; -283.321 70.8658 \; -283.708 -66.7845 \; \;; -#X scalar trace-template 245 0 2 \; -309.267 38.1588 \; -310.906 38.0716 -\; \;; -#X scalar trace-template 250 0 9 \; -119.845 40.481 \; \;; -#X scalar trace-template 250 0 8 \; -248.78 32.2305 \; \;; -#X scalar trace-template 250 0 6 \; -278.571 36.652 \; -278.962 37.2271 -\; \;; -#X scalar trace-template 250 0 1 \; -317.632 38.2743 \; -317.35 39.9573 -\; \;; -#X scalar trace-template 255 0 5 \; -325.769 41.02 \; -327.416 39.4998 -\; \;; -#X scalar trace-template 260 0 9 \; -109.258 45.4016 \; \;; -#X scalar trace-template 260 0 8 \; -269.617 39.6881 \; \;; -#X scalar trace-template 260 0 2 \; -335.268 39.8662 \; -335.812 42.4017 -\; \;; -#X scalar trace-template 265 0 6 \; -251.762 43.8462 \; \;; -#X scalar trace-template 265 0 1 \; -311.124 43.3407 \; \;; -#X scalar trace-template 270 0 9 \; -216.68 57.9641 \; -201.134 74.3092 -\; -191.239 81.3912 \; -189.267 83.8831 \; -186.004 83.5798 \; -184.867 -82.5728 \; -183.805 81.7388 \; -183.962 81.3135 \; -185.24 81.2127 -\; -187.472 81.5787 \; -189.205 82.068 \; -190.013 82.6291 \; -189.536 -83.2528 \; -188.187 83.9373 \; -186.467 84.169 \; -182.621 83.4105 -\; -181.395 80.5043 \; -180.227 74.3949 \; -173.931 65.0494 \; -191.684 -60.3878 \; -190.197 65.8265 \; \;; -#X scalar trace-template 270 0 8 \; -263.563 65.4825 \; -266.829 75.8313 -\; -264.044 78.4236 \; -263.536 76.6589 \; -261.226 73.6861 \; -259.688 -71.8166 \; -259.247 70.8283 \; -260.235 70.4823 \; -262.932 70.5681 -\; -264.578 70.4191 \; -265.992 70.6123 \; -265.595 70.3134 \; -263.897 -70.1622 \; -262.608 69.6659 \; -259.472 67.3628 \; -255.89 62.8564 -\; -255.231 53.081 \; -257.709 44.1479 \; -256.3 48.1073 \; \;; -#X scalar trace-template 270 0 5 \; -305.466 55.7255 \; -301.578 67.8466 -\; -300.048 77.5537 \; -299.787 81.9104 \; -298.057 81.6461 \; -295.777 -78.5814 \; -294.332 76.2949 \; -295.59 74.6399 \; -298.09 75.479 \; --300.162 75.9411 \; -301.182 75.9596 \; -300.955 75.2393 \; -299.885 -74.1909 \; -297.984 73.7005 \; -295.674 69.7991 \; \;; -#X scalar trace-template 270 0 4 \; -323.823 54.1059 \; -323.986 63.3397 -\; -322.427 65.7394 \; -320.774 68.0881 \; -318.959 70.0287 \; -317.588 -72.0285 \; -317.492 74.0736 \; -318.863 72.4451 \; -320.706 70.4655 -\; \;; -#X scalar trace-template 275 0 10 \; -312.826 62.9872 \; -313.005 67.6559 -\; -309.473 73.0265 \; -309.109 78.4206 \; -307.529 79.8607 \; -307.501 -80.1978 \; -308.541 77.1915 \; -311.13 77.0477 \; -313.107 78.0044 -\; -314 78.8237 \; -313.719 78.2212 \; -313.027 75.9063 \; -309.758 -74.6452 \; -309.146 72.1248 \; -308.75 64.002 \; -309.938 47.2857 \; --309.592 43.0334 \; -308.741 44.6568 \; -308.961 45.4972 \; -309.145 -41.0773 \; -310.476 27.9927 \; \;; -#X scalar trace-template 275 0 6 \; -333.391 62.8385 \; -331.94 67.2884 -\; -330.586 69.631 \; -328.891 69.5286 \; -327.38 71.1622 \; -327.22 -71.3041 \; -328.983 69.498 \; -330.753 71.5048 \; -332.498 72.4036 -\; -333.827 73.5122 \; -333.684 72.5055 \; -332.324 71.1254 \; -330.69 -69.1422 \; -329.159 65.1244 \; \;; -#X scalar trace-template 275 0 3 \; -343.305 65.3004 \; \;; -#X scalar trace-template 275 0 2 \; -347.923 68.9873 \; -347.015 73.9481 -\; -345.817 76.6278 \; -344.744 76.817 \; -343.276 74.6509 \; -342.266 -73.1465 \; -341.918 67.5575 \; -339.45 69.7239 \; \;; -#X scalar trace-template 275 0 1 \; -356.03 62.0354 \; \;; -#X scalar trace-template 285 0 3 \; -233.916 79.2014 \; -233.613 78.1832 -\; -232.009 77.3057 \; -231.004 76.7674 \; -231.748 76.0078 \; -233.628 -74.9497 \; -235.823 73.8105 \; -237.555 73.6044 \; -237.714 73.7005 -\; -236.602 74.2537 \; -234.474 75.1182 \; -232.755 74.4538 \; -227.054 -71.9094 \; \;; -#X scalar trace-template 285 0 1 \; -339.353 71.1861 \; \;; -#X scalar trace-template 295 0 1 \; -335.181 71.1811 \; -334.983 71.7027 -\; -336.376 68.0478 \; \;; -#X scalar trace-template 315 0 1 \; -323.996 70.3698 \; -325.274 71.7388 -\; -324.318 72.3392 \; -322.463 72.5513 \; -320.918 72.0845 \; -319.156 -69.5358 \; -317.496 62.127 \; -319.818 48.4224 \; -321.391 41.9724 -\; -322.667 44.1215 \; -322.866 40.0692 \; \;; -#X scalar trace-template 320 0 4 \; -342.204 73.0598 \; -342.137 72.2721 -\; -340.764 69.4088 \; -338.347 68.103 \; -338.116 64.4878 \; -338.929 -56.8227 \; -338.334 44.3264 \; -336.694 40.846 \; -335.216 42.5208 -\; -333.814 43.0006 \; -333.82 36.7885 \; \;; -#X scalar trace-template 320 0 2 \; -349.44 69.1261 \; -349.34 69.1819 -\; -348.146 69.4576 \; -346.022 68.2567 \; -345.592 64.1853 \; \;; -#X scalar trace-template 350 0 7 \; -281.233 49.1083 \; -283.066 43.6474 -\; \;; -#X scalar trace-template 350 0 6 \; -288.815 48.4801 \; \;; -#X scalar trace-template 350 0 5 \; -297.983 48.3704 \; -296.321 44.0371 -\; -295.082 46.3521 \; -293.051 47.4113 \; -292.573 43.0368 \; -291.464 -32.2044 \; -295.451 25.9501 \; \;; -#X scalar trace-template 350 0 2 \; -330.338 45.6904 \; -330.52 43.6889 -\; -329.09 43.1221 \; -328.639 39.9607 \; \;; -#X scalar trace-template 355 0 3 \; -314.387 40.5794 \; -314.541 39.2094 -\; \;; -#X scalar trace-template 360 0 6 \; -339.262 42.5993 \; -339.244 43.0695 -\; -339.413 37.4517 \; -337.549 26.822 \; \;; -#X scalar trace-template 365 0 7 \; -122.01 61.0322 \; \;; -#X scalar trace-template 370 0 8 \; -345.861 34.5328 \; -347.691 24.7933 -\; -345.728 19.1542 \; -343.873 26.246 \; \;; -#X scalar trace-template 370 0 3 \; -353.896 33.2262 \; \;; -#X scalar trace-template 375 0 7 \; -163.455 65.2103 \; \;; -#X scalar trace-template 375 0 2 \; -318.437 27.844 \; -318.883 21.278 -\; -320.745 24.1777 \; -322.421 41.1348 \; -320.71 45.5788 \; -320.953 -44.2937 \; -320.541 43.4054 \; \;; -#X scalar trace-template 375 0 1 \; -327.275 21.8229 \; \;; -#X scalar trace-template 380 0 9 \; -118.7 59.9369 \; \;; -#X scalar trace-template 380 0 4 \; -260.874 35.019 \; \;; -#X scalar trace-template 380 0 3 \; -273.201 28.0989 \; \;; -#X scalar trace-template 385 0 10 \; -215.225 38.0728 \; \;; -#X scalar trace-template 385 0 7 \; -244.239 33.7982 \; \;; -#X scalar trace-template 385 0 6 \; -283.247 28.9686 \; \;; -#X scalar trace-template 385 0 1 \; -325.977 25.203 \; \;; -#X scalar trace-template 390 0 9 \; -259.277 48.6592 \; -259.449 55.9509 -\; -261.384 61.9747 \; -254.631 71.8289 \; -255.296 77.3791 \; -258.724 -76.7177 \; -262.737 73.5229 \; -264.133 70.5136 \; -263.004 68.6541 -\; -263.282 69.1919 \; -263.618 68.9122 \; -263.503 68.7272 \; \;; -#X scalar trace-template 390 0 5 \; -292.561 47.8268 \; -292.232 53.266 -\; -290.855 54.5168 \; -290.212 56.191 \; -292.463 58.4212 \; \;; -#X scalar trace-template 390 0 4 \; -335.219 34.7897 \; -335.35 39.9462 -\; -335.582 41.9998 \; -335.929 43.1906 \; -336.195 46.3078 \; -336.605 -46.9069 \; -336.992 47.5436 \; -336.821 47.8521 \; -338.182 47.3036 -\; \;; -#X scalar trace-template 390 0 3 \; -346.996 39.4808 \; -346.99 43.3214 -\; -346.422 40.7872 \; \;; -#X scalar trace-template 395 0 10 \; -148.631 56.6779 \; -163.201 65.7947 -\; -175.117 73.3527 \; -175.558 79.2966 \; -163.413 81.5996 \; -157.971 -81.0469 \; -153.782 80.3158 \; -153.11 79.8227 \; -152.026 79.4565 -\; -152.627 79.5941 \; -151.951 79.4431 \; \;; -#X scalar trace-template 395 0 8 \; -233.662 53.8301 \; \;; -#X scalar trace-template 395 0 7 \; -356.112 35.779 \; \;; -#X scalar trace-template 395 0 6 \; -360.25 42.0357 \; \;; -#X scalar trace-template 395 0 1 \; -365.769 41.4297 \; \;; -#X scalar trace-template 405 0 8 \; -226.225 68.263 \; \;; -#X scalar trace-template 405 0 7 \; -273.128 64.1971 \; -271.669 70.9635 -\; -271.08 74.2519 \; \;; -#X scalar trace-template 405 0 6 \; -300.183 49.8365 \; -302.819 53.7442 -\; -302.732 54.4952 \; -300.474 51.454 \; \;; -#X scalar trace-template 405 0 1 \; -313.42 47.8852 \; -311.392 53.0185 -\; -313.219 51.4886 \; -314.808 51.5057 \; -313.335 47.8505 \; -312.66 -46.3702 \; -311.892 46.6486 \; -311.415 49.4011 \; -311.012 51.4249 -\; \;; -#X scalar trace-template 410 0 3 \; -284.295 61.2014 \; \;; -#X scalar trace-template 415 0 8 \; -203.255 79.7278 \; -203.461 82.0699 -\; -201.387 83.0518 \; -201.096 83.7732 \; -200.517 84.0975 \; -199.92 -84.0691 \; -200.279 83.8995 \; \;; -#X scalar trace-template 415 0 2 \; -326.023 49.6935 \; -326.421 50.4614 -\; -325.828 49.3451 \; -324.103 50.0691 \; -323.839 51.0057 \; -324.269 -49.5694 \; -324.141 47.2574 \; \;; -#X scalar trace-template 420 0 5 \; -289.35 60.7322 \; -287.964 57.982 -\; -287.114 55.2035 \; -286.859 54.6219 \; -287.13 53.5386 \; -286.891 -51.9598 \; \;; -#X scalar trace-template 420 0 3 \; -332.16 47.7155 \; -330.798 47.4667 -\; -329.449 46.006 \; -329.571 46.3268 \; \;; -#X scalar trace-template 425 0 7 \; -247.914 66.5039 \; -248.428 66.218 -\; -247.601 66.3943 \; -248.331 66.1283 \; -247.981 66.5571 \; \;; -#X scalar trace-template 430 0 6 \; -303.843 42.3956 \; -304.586 41.9574 -\; \;; -#X scalar trace-template 440 0 4 \; -276.363 55.7109 \; -276.388 55.7195 -\; \;; -#X scalar trace-template 445 0 6 \; -317.756 49.613 \; \;; -#X scalar trace-template 445 0 3 \; -329.399 43.8569 \; \;; -#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 obj 125 36 template float x float y float voiceno array bazoo point-template -; -#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 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 obj 212 14 template float y float amp; -#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 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 62079 float 0; -#X coords 0 1 62078 -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 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; diff --git a/pd/doc/7.stuff/data-structures/score.txt b/pd/doc/7.stuff/data-structures/score.txt deleted file mode 100644 index 84ef0376..00000000 --- a/pd/doc/7.stuff/data-structures/score.txt +++ /dev/null @@ -1,94 +0,0 @@ -data; -template template-toplevel; -float x; -float y; -float voiceno; -array pitch template-pitch; -array amp template-amp; -; -template template-pitch; -float x; -float y; -float w; -; -template template-amp; -float x; -float y; -float w; -; -; -template-toplevel 2 246 900; -0 0 50; -10 0 50; -; -0 0 0; -10 0 10; -11 0 0; -; -template-toplevel 13 220 990; -0 0 50; -10 0 50; -; -0 0 10; -10 0 10; -11 0 0; -; -template-toplevel 34 73 90; -0 250 50; -100 50 0; -100 50 50; -230 200 0; -230 50 10; -240 300 1; -240 100 50; -250 250 1; -250 150 50; -260 250 1; -285 250 1; -; -0 0 2; -100 0 5; -200 0 6; -225 0 2; -230 0 5; -260 0 10; -261 0 5; -265 0 0; -266 0 6; -270 0 0; -271 0 8; -275 0 0; -276 0 10; -280 0 0; -281 0 12; -285 0 0; -; -template-toplevel 67 282 900; -0 20 1; -60 20 1; -; -0 0 0; -30 0 14; -60 0 0; -; -template-toplevel 141 322 900; -0 0 50; -70 -70 50; -; -0 0 0; -10 0 10; -20 0 0; -30 0 0; -40 0 10; -50 0 0; -60 0 10; -70 0 0; -; -template-toplevel 326 192 909; -0 0 50; -50 0 50; -; -0 0 15; -10 0 10; -50 0 0; -; |