From 01ff170032c4f5124c814635daa5e8f954e59260 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 22 Nov 2010 17:25:17 +0000 Subject: made example instrument that has 200 voices svn path=/trunk/externals/manypoly/; revision=14479 --- examples/run-voicetest.pd | 119 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 102 insertions(+), 17 deletions(-) (limited to 'examples/run-voicetest.pd') diff --git a/examples/run-voicetest.pd b/examples/run-voicetest.pd index 199988e..1e34b7e 100644 --- a/examples/run-voicetest.pd +++ b/examples/run-voicetest.pd @@ -1,22 +1,107 @@ -#N canvas 466 360 450 300 10; +#N canvas 506 162 588 537 10; #X declare -path ..; -#X obj 97 147 voicepoly 5 voicetest; -#X obj 109 228 dac~; -#X obj 225 108 hsl 128 15 0 10 0 0 empty empty empty -2 -8 0 10 -262144 --1 -1 0 1; -#X floatatom 237 130 5 0 0 0 - - -; -#X msg 96 98 bang; -#X obj 337 16 pddp/dsp; -#X obj 220 170 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +#X obj 132 207 hsl 60 18 0 1 0 1 empty empty pan 15 9 0 10 -204800 +-1 -1 2300 0; +#X floatatom 135 229 5 0 0 0 - - -; +#X obj 402 41 pddp/dsp; +#X obj 213 320 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X text 48 261 three outlets are needed: 2 audio and one message outlet +#X text 35 410 three outlets are needed: 2 audio and one message outlet that is banged when the voice is finished.; -#X text 23 57 two inlets are needed: the first for voice-managed messages +#X text 15 20 two inlets are needed: the first for voice-managed messages \, and the second for messages that are send to all instances; -#X obj 318 45 declare -path ..; -#X connect 0 0 1 0; -#X connect 0 1 1 1; -#X connect 0 2 6 0; -#X connect 2 0 0 1; -#X connect 2 0 3 0; +#X obj 386 9 declare -path ..; +#X obj 63 207 hsl 60 18 0.1 10 1 1 empty empty stretch 10 9 0 10 -204786 +-1 -1 4600 0; +#X floatatom 70 228 5 0 0 0 - - -; +#X text 231 319 out of voices; +#X text 26 169 factor by which to stretch sample; +#X text 26 183 (i.e. 2 means twice as long); +#X text 33 459 this is the patch of a single voice \, it has the same +inlets and outlets as voicepoly above:; +#X obj 335 214 table \$0-sample; +#X text 221 298 (you can send \$0 for localizing things); +#X obj 336 165 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#N canvas 0 22 482 301 load 0; +#X obj 48 10 inlet; +#X obj 138 251 outlet; +#X obj 138 167 soundfiler; +#X obj 138 50 loadbang; +#X msg 138 146 read -resize \$1 \$2; +#X obj 138 113 list append \$0-sample; +#X msg 138 72 aw.wav; +#X obj 49 61 openpanel; +#X obj 309 21 inlet; +#X obj 309 48 trigger bang bang; +#X obj 320 174 tabwrite~ \$0-sample; +#X obj 322 145 adc~; +#X obj 354 146 send \$0-sample; +#X msg 354 122 resize \$1; +#X msg 354 82 100000; +#X connect 0 0 7 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 2 0; +#X connect 5 0 4 0; +#X connect 6 0 5 0; +#X connect 7 0 5 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 9 1 14 0; +#X connect 11 0 10 0; +#X connect 11 1 10 0; +#X connect 13 0 12 0; +#X connect 14 0 13 0; +#X connect 14 0 1 0; +#X restore 336 184 pd load sample; +#X text 248 263 <-- send the size of the sample table to all instances +; +#X obj 67 349 output~; +#X obj 135 505 voicetest 0 0 \$0; +#X obj 60 272 pack 0 0; +#X obj 78 250 t b f; +#X text 253 164 soundfile -->; +#X obj 417 165 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X text 435 163 <-- record from mic; +#X text 160 104 <-- play your voice like an instrument \, click and +drag; +#X obj 60 297 voicepoly 200 voicetest \$0; +#N canvas 0 22 450 300 (subpatch) 0; +#X obj 106 259 outlet; +#X obj 106 80 inlet; +#X obj 160 79 inlet; +#X obj 106 101 / 80; +#X obj 106 234 pack float float; +#X obj 106 214 * 10; +#X obj 160 101 / 90; +#X obj 160 125 + 0.1; +#X obj 106 186 mapping/exponential_curve 0.75; +#X connect 1 0 3 0; +#X connect 2 0 6 0; +#X connect 3 0 4 1; #X connect 4 0 0 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 5 0; +#X coords 0 0 1 1 90 90 0; +#X restore 2 175 pd; +#X obj 64 76 gcanvas 80 80; +#X connect 0 0 1 0; +#X connect 0 0 21 0; +#X connect 7 0 8 0; +#X connect 7 0 20 0; +#X connect 15 0 16 0; +#X connect 16 0 26 1; +#X connect 20 0 26 0; +#X connect 21 0 20 0; +#X connect 21 1 20 1; +#X connect 23 0 16 1; +#X connect 26 0 18 0; +#X connect 26 1 18 1; +#X connect 26 2 3 0; +#X connect 27 0 26 0; +#X connect 28 0 27 0; +#X connect 28 1 27 1; -- cgit v1.2.1