From fd04ec570134e0271c7bc8c0ff05fcb9b36a09c1 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 19 Nov 2010 17:20:29 +0000 Subject: object to play back soundfile with a speed based on a specified pitch value svn path=/trunk/externals/framesync/; revision=14447 --- tabpitcher~-help.pd | 40 ++++++++++++++++++++++ tabpitcher~.pd | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 138 insertions(+) create mode 100644 tabpitcher~-help.pd create mode 100644 tabpitcher~.pd diff --git a/tabpitcher~-help.pd b/tabpitcher~-help.pd new file mode 100644 index 0000000..a51defc --- /dev/null +++ b/tabpitcher~-help.pd @@ -0,0 +1,40 @@ +#N canvas 516 233 641 433 10; +#X text 140 227 frame; +#X text 71 265 audio out; +#X text 96 216 array; +#X text 96 227 name; +#X text 141 216 start; +#X obj 377 279 soundfiler; +#X obj 377 232 symbol \$0-array; +#N canvas 0 22 450 300 (subpatch) 0; +#X array \$0-array 20756 float 2; +#X coords 0 1 20756 -1 200 140 1; +#X restore 376 50 graph; +#X obj 94 113 frameclock 400; +#X obj 76 322 output~; +#X msg 108 82 78; +#X msg 77 82 55; +#X text 134 80 <-- try jumping to a frame; +#X obj 377 211 loadbang; +#X obj 436 214 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X msg 377 254 read -resize corkpop.wav \$1; +#X obj 95 244 tabpitcher~ \$0-array 10 60; +#X text 13 17 Plays a sound til it ends \, synced up to the frame clock +\, with a set pitch \, based on a root pitch. The root pitch defaults +to 69 (A above middle C \, 440Hz). It stays in sync when randomly accessing +different frame numbers.; +#X text 231 216 root; +#X text 230 227 pitch; +#X text 186 227 pitch; +#X text 184 216 play; +#X text 177 308 arguments: arrayname startframe# play_pitch root_pitch +; +#X connect 6 0 15 0; +#X connect 10 0 8 0; +#X connect 11 0 8 0; +#X connect 13 0 6 0; +#X connect 14 0 6 0; +#X connect 15 0 5 0; +#X connect 16 0 9 0; +#X connect 16 0 9 1; diff --git a/tabpitcher~.pd b/tabpitcher~.pd new file mode 100644 index 0000000..ab57763 --- /dev/null +++ b/tabpitcher~.pd @@ -0,0 +1,98 @@ +#N canvas 557 329 1069 636 10; +#X obj 301 4 inlet; +#X obj 325 164 / 1000; +#X obj 301 83 purepd/symbol_argument \$1; +#X obj 202 30 loadbang; +#X obj 504 11 inlet; +#X obj 504 82 purepd/float_argument \$2; +#X obj 89 300 moses; +#X obj 116 336 moses; +#X obj 143 241 int; +#X obj 143 261 + 1; +#X obj 143 299 +; +#X obj 318 143 fps_ms; +#X obj 22 38 receive framesync/frameclock; +#X text 19 21 current frame #; +#X text 342 3 array to play; +#X obj 133 109 flatspace/arraysize; +#X obj 116 598 outlet~; +#X obj 116 401 -; +#X msg 301 526 set \$1; +#X obj 255 119 samplerate~; +#X obj 255 187 *; +#X obj 116 437 *; +#X obj 116 460 %; +#X msg 260 32 bang; +#X obj 143 221 /; +#X text 280 187 samples/frame; +#X obj 22 65 trigger anything bang; +#X obj 116 541 line~; +#X obj 116 516 pack float float; +#X obj 116 480 select 0; +#X msg 82 516 0; +#X obj 684 11 inlet; +#X text 544 8 frame # when to start; +#X obj 864 11 inlet; +#X obj 202 50 trigger bang bang bang bang bang bang; +#X text 724 8 pitch to play; +#X text 904 8 root pitch of sample; +#X obj 864 82 purepd/float_argument \$4 69; +#X obj 684 82 purepd/float_argument \$3 69; +#X obj 684 159 mtof; +#X obj 732 160 mtof; +#X text 709 190 speed change; +#X obj 146 413 *; +#X obj 684 190 /; +#X obj 687 224 pddp/print; +#X obj 116 571 tabread4~ \$1; +#X connect 0 0 2 0; +#X connect 1 0 20 1; +#X connect 2 0 15 1; +#X connect 2 0 18 0; +#X connect 3 0 34 0; +#X connect 4 0 5 0; +#X connect 5 0 6 1; +#X connect 5 0 10 1; +#X connect 5 0 17 1; +#X connect 6 1 7 0; +#X connect 7 0 17 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 10 0 7 1; +#X connect 11 0 1 0; +#X connect 11 0 28 1; +#X connect 12 0 26 0; +#X connect 15 0 22 1; +#X connect 15 0 24 0; +#X connect 17 0 21 0; +#X connect 18 0 45 0; +#X connect 19 0 20 0; +#X connect 20 0 24 1; +#X connect 20 0 42 0; +#X connect 21 0 22 0; +#X connect 22 0 29 0; +#X connect 23 0 34 0; +#X connect 24 0 8 0; +#X connect 26 0 6 0; +#X connect 26 1 15 0; +#X connect 27 0 45 0; +#X connect 28 0 27 0; +#X connect 29 0 30 0; +#X connect 29 1 28 0; +#X connect 30 0 27 0; +#X connect 31 0 38 0; +#X connect 33 0 37 0; +#X connect 34 1 19 0; +#X connect 34 2 2 0; +#X connect 34 2 11 0; +#X connect 34 3 5 0; +#X connect 34 4 38 0; +#X connect 34 5 37 0; +#X connect 37 0 40 0; +#X connect 38 0 39 0; +#X connect 39 0 43 0; +#X connect 40 0 43 1; +#X connect 42 0 21 1; +#X connect 43 0 42 1; +#X connect 43 0 44 0; +#X connect 45 0 16 0; -- cgit v1.2.1