diff --git a/CarpetOfMemories b/CarpetOfMemories deleted file mode 100644 index 8b13789..0000000 --- a/CarpetOfMemories +++ /dev/null @@ -1 +0,0 @@ - diff --git a/CarpetOfMemories/CarpetOfMemories_PD/Fashionable Technology - KMSV Carpet.pd b/CarpetOfMemories/CarpetOfMemories_PD/Fashionable Technology - KMSV Carpet.pd new file mode 100644 index 0000000..fb5ac6a --- /dev/null +++ b/CarpetOfMemories/CarpetOfMemories_PD/Fashionable Technology - KMSV Carpet.pd @@ -0,0 +1,382 @@ +#N canvas 44 54 1920 989 12; +#X obj 1327 280 output~; +#X text 1400 300 <--- ~~~XXxx__MAIN VOLUME CONTROL__xxXX~~~; +#X obj 1141 255 catch~ left-out; +#X obj 1254 254 catch~ right-out; +#X obj 1462 159 vsl 15 128 -1 -0.0001 1 0 empty empty empty 0 -9 0 +10 #fcfcfc #000000 #000000 0 1; +#X obj 1385 259 *; +#X text 1488 277 volume multiplier; +#X obj 1404 236 t b f; +#X obj 1418 260 + 1; +#X text 30 38 ====================================; +#X text 30 78 Connect the sensor via I2C and open the GUI to see readings. +; +#X text 30 58 Trill Craft w/ Bela used for capacitive sensing; +#X text 30 28 KMSV Carpet; +#X obj 88 176 unpack f f f f f f f f f f f f f f f f f f f f f f f +f f f f f f f, f 118; +#N canvas 133 307 1352 526 Get 0; +#X obj 196 158 loadbang; +#X obj 264 309 r bela_trill; +#X obj 56 243 s bela_setTrill; +#X text 372 336 We are working with Trill Craft; +#X text 372 310 This receives readings from the Trill sensor; +#X text 34 177 Initialise Trill sensor; +#X text 600 7 ............................; +#X text 600 17 . ____ ._____ _ .......___ .; +#X text 600 27 .| __ )| ____| |....../ _ |.; +#X text 600 47 .| |_) | |___| |___ / ___ |.; +#X text 600 57 .|____/|_____|_____/_/..._|.io; +#X text 600 67 ............................; +#X text 600 37 .| __ || __|.| |...../ _| |.; +#X text 30 28 Capacitive sensing with Trill Craft; +#X text 30 38 ====================================; +#X obj 205 243 s bela_setTrill; +#X text 364 236 [prescaler (; +#X text 368 257 value betwen 1 and 6; +#X text 364 214 Change sensitivity here; +#X obj 83 275 loadbang; +#X obj 83 296 metro 50; +#X msg 83 317 0; +#X obj 83 359 s bela_guiOut; +#X obj 83 338 list; +#X obj 196 179 t b b; +#X text 30 58 This example is for capacitive sensing with Trill Craft. +; +#X msg 56 215 new mycraft 1 CRAFT; +#X msg 205 215 prescaler mycraft 2; +#X obj 264 336 route mycraft; +#X text 30 78 Connect the sensor via I2C and open the GUI to see readings. +; +#X text 30 108 https://learn.bela.io/tutorials/pure-data/sensors/capacitive-sensing/ +; +#X text 730 217 Every the time the programme is restarted the baseline +; +#X text 730 237 reading of the sensor is reset.; +#X text 730 257 This means if you are touching anything connected to +the; +#X text 730 277 sensor on start up this will be incorporated into the +; +#X text 730 297 baseline.; +#X obj 264 386 outlet; +#X connect 0 0 24 0; +#X connect 1 0 28 0; +#X connect 19 0 20 0; +#X connect 20 0 21 0; +#X connect 21 0 23 0; +#X connect 23 0 22 0; +#X connect 24 0 27 0; +#X connect 24 1 26 0; +#X connect 26 0 2 0; +#X connect 27 0 15 0; +#X connect 28 0 23 1; +#X connect 28 0 36 0; +#X restore 88 151 pd Get Bela Signals; +#X obj 812 790 throw~ left-out; +#X obj 922 791 throw~ right-out; +#N canvas 361 242 890 524 Voice 1; +#X obj 87 115 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 +#000000 0 1; +#X text 551 266 remap samples to 0-1; +#X text 408 306 you need to have your sample in the live coding (...)/samples +folder or set another folder; +#X obj 209 38 inlet; +#X text 86 17 Start Point - Signal from Bela; +#X obj 105 437 outlet~; +#X obj 162 436 outlet~; +#X obj 424 63 nbx 5 14 1 1e+37 0 0 empty empty empty 0 -8 0 10 #fcfcfc +#000000 #000000 0 256; +#X obj 397 153 +; +#X obj 397 123 t b f; +#X obj 209 64 nbx 5 14 0 1e+37 0 0 empty empty empty 0 -8 0 10 #fcfcfc +#000000 #000000 0 256; +#X obj 623 63 nbx 10 14 1 1e+37 0 0 empty empty empty 0 -8 0 10 #fcfcfc +#000000 #000000 0 256; +#X obj 463 184 t b f; +#X obj 11 234 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 +#000000; +#X text 722 65 Total Length(msec); +#X text 488 62 window size(msec); +#X text 269 63 start point in msec; +#X obj 50 194 metro 3000 1 msec; +#X obj 191 150 metro 10000; +#X floatatom 232 226 5 0 0 0 - - - 0; +#X msg 196 184 0; +#X obj 393 97 t b; +#X obj 360 244 /; +#X obj 446 247 /; +#X obj 147 227 max; +#X obj 426 36 inlet; +#X text 350 14 Window Size - Signal from Bela; +#X obj 224 285 clip 0 1; +#X obj 295 292 clip 0 1; +#X floatatom 295 316 5 0 0 0 - - - 0; +#X floatatom 224 309 5 0 0 0 - - - 0; +#X obj 628 38 inlet; +#X msg 52 295 60; +#X msg 92 292 127; +#X obj 89 334 sample~ /buzz-05.wav; +#X connect 0 0 17 0; +#X connect 0 0 18 0; +#X connect 3 0 10 0; +#X connect 7 0 9 0; +#X connect 8 0 23 0; +#X connect 9 0 8 0; +#X connect 9 1 8 1; +#X connect 9 1 18 1; +#X connect 9 1 24 0; +#X connect 10 0 8 0; +#X connect 10 0 22 0; +#X connect 11 0 12 0; +#X connect 12 0 22 0; +#X connect 12 0 23 0; +#X connect 12 1 22 1; +#X connect 12 1 23 1; +#X connect 17 0 13 0; +#X connect 17 0 32 0; +#X connect 17 0 33 0; +#X connect 18 0 20 0; +#X connect 19 0 17 1; +#X connect 19 0 24 1; +#X connect 20 0 19 0; +#X connect 20 0 21 0; +#X connect 21 0 7 0; +#X connect 22 0 27 0; +#X connect 23 0 28 0; +#X connect 24 0 19 0; +#X connect 25 0 7 0; +#X connect 27 0 30 0; +#X connect 27 0 34 4; +#X connect 28 0 29 0; +#X connect 28 0 34 5; +#X connect 31 0 11 0; +#X connect 32 0 34 0; +#X connect 33 0 34 1; +#X connect 34 0 5 0; +#X connect 34 1 6 0; +#X restore 849 768 pd Voice Sampler; +#X obj 1346 237 nbx 5 14 0 100 0 1 empty empty empty 0 -8 0 10 #fcfcfc +#000000 #000000 75.25 256; +#N canvas 916 241 639 384 sample-banger 1; +#X obj 304 259 RTVoices; +#X obj 299 283 outlet~; +#X obj 46 67 inlet; +#X text 90 65 Trigger Signal; +#X obj 301 57 inlet; +#X text 342 57 Change Sound (bang); +#X obj 214 34 inlet; +#X text 257 33 Volume (float 0-1); +#X obj 302 78 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 +#000000; +#X obj 217 155 clip 0 1; +#X floatatom 219 179 5 0 0 0 - - - 0; +#X obj 154 113 loadbang; +#X obj 151 157 t f; +#X floatatom 154 136 5 0 0 0 - - - 0; +#X obj 356 232 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc +#000000 #000000; +#X obj 446 57 inlet; +#X text 490 56 Threshold value; +#X obj 58 161 select 100; +#X obj 59 110 clip 0 100; +#X floatatom 446 82 5 0 0 0 - - - 0; +#X floatatom 127 90 5 0 0 0 - - - 0; +#X obj 59 188 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 +#000000; +#X obj 59 134 change; +#X connect 0 0 1 0; +#X connect 2 0 18 0; +#X connect 4 0 8 0; +#X connect 6 0 9 0; +#X connect 8 0 0 1; +#X connect 9 0 0 0; +#X connect 9 0 10 0; +#X connect 11 0 13 0; +#X connect 12 0 9 0; +#X connect 13 0 12 0; +#X connect 14 0 0 2; +#X connect 15 0 19 0; +#X connect 17 0 21 0; +#X connect 18 0 22 0; +#X connect 19 0 20 0; +#X connect 20 0 18 2; +#X connect 20 0 17 1; +#X connect 21 0 14 0; +#X connect 22 0 17 0; +#X restore 1100 718 pd sample-banger; +#X obj 1068 791 throw~ left-out; +#X obj 1178 792 throw~ right-out; +#X obj 1157 769 +~ 0; +#X floatatom 621 329 5 0 0 0 - - - 0; +#X floatatom 581 325 5 0 0 0 - - - 0; +#X floatatom 527 327 5 0 0 0 - - - 0; +#X floatatom 483 324 5 0 0 0 - - - 0; +#N canvas 383 345 1035 475 4-analog-to-1 0; +#X obj 17 19 inlet; +#X obj 133 22 inlet; +#X obj 249 20 inlet; +#X obj 369 19 inlet; +#X obj 744 349 / 4; +#X text 57 24 0; +#X text 177 19 1; +#X text 295 17 2; +#X text 410 19 3; +#X obj 458 18 inlet; +#X text 503 16 Sensitivity; +#X obj 133 70 clip 0 1; +#X obj 249 68 clip 0 1; +#X obj 369 67 clip 0 1; +#X obj 153 200 pack f f f f; +#X obj 153 224 list-max; +#X obj 59 323 cnv 15 175 175 empty empty empty 20 12 0 14 #e0e0e0 #404040 +0; +#X obj 150 370 -; +#X text 512 336 Cursor Position (0-1 float); +#X obj 97 362 *; +#X obj 136 433 -; +#X obj 258 444 / 3; +#X floatatom 258 468 5 0 0 0 - - - 0; +#X floatatom 216 267 5 0 3 0 - - - 0; +#X obj 503 447 outlet; +#X floatatom 109 331 5 0 0 0 - - - 0; +#X floatatom 97 386 5 0 0 0 - - - 0; +#X floatatom 136 457 5 0 0 0 - - - 0; +#X floatatom 257 370 5 0 0 0 - - - 0; +#X floatatom 167 265 5 0 1 0 - - - 0; +#X obj 464 262 clip 0 1; +#X floatatom 467 335 5 0 1 0 - - - 0; +#X floatatom 256 421 5 0 0 0 - - - 0; +#X obj 256 344 *; +#X msg 252 323 3; +#X obj 522 122 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc +#000000 #000000; +#X obj 564 118 loadbang; +#X obj 328 241 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc +#000000 #000000; +#X obj 464 286 max 0.001; +#X obj 464 310 min 0.999; +#X obj 532 152 metro 250 1 msec; +#X obj 95 406 * 0.001; +#X obj 256 397 expr ($f1-(($f1-$f2)*($f3*0.5))); +#X floatatom 81 117 5 0 0 0 - - - 0; +#X floatatom 17 91 5 0 0 0 - - - 0; +#X obj 17 43 *; +#X obj 133 46 *; +#X obj 249 44 *; +#X obj 369 43 *; +#X obj 17 67 clip 0 1; +#X floatatom 457 40 5 0 0 0 - - - 0; +#X floatatom 249 92 5 0 0 0 - - - 0; +#X obj 619 449 outlet; +#X connect 0 0 43 0; +#X connect 0 0 45 0; +#X connect 1 0 46 0; +#X connect 2 0 47 0; +#X connect 3 0 48 0; +#X connect 9 0 50 0; +#X connect 11 0 14 1; +#X connect 12 0 14 2; +#X connect 12 0 51 0; +#X connect 13 0 14 3; +#X connect 14 0 15 0; +#X connect 15 0 29 0; +#X connect 15 1 23 0; +#X connect 17 0 25 0; +#X connect 19 0 26 0; +#X connect 20 0 27 0; +#X connect 21 0 22 0; +#X connect 22 0 30 0; +#X connect 23 0 42 1; +#X connect 25 0 19 1; +#X connect 26 0 41 0; +#X connect 28 0 42 0; +#X connect 29 0 19 0; +#X connect 29 0 42 2; +#X connect 29 0 52 0; +#X connect 30 0 38 0; +#X connect 31 0 24 0; +#X connect 31 0 33 1; +#X connect 32 0 21 0; +#X connect 33 0 28 0; +#X connect 34 0 33 0; +#X connect 35 0 40 0; +#X connect 36 0 40 0; +#X connect 38 0 39 0; +#X connect 39 0 31 0; +#X connect 40 0 34 0; +#X connect 40 0 37 0; +#X connect 40 0 14 0; +#X connect 41 0 20 1; +#X connect 42 0 32 0; +#X connect 45 0 49 0; +#X connect 46 0 11 0; +#X connect 47 0 12 0; +#X connect 48 0 13 0; +#X connect 49 0 14 0; +#X connect 49 0 44 0; +#X connect 50 0 48 1; +#X connect 50 0 47 1; +#X connect 50 0 46 1; +#X connect 50 0 45 1; +#X restore 544 391 pd 4-analog-to-1; +#X floatatom 544 415 5 0 0 0 - - - 0; +#X msg 657 369 1; +#X obj 667 346 loadbang; +#X msg 958 740 9999; +#X obj 958 713 loadbang; +#X msg 898 736; +#X floatatom 653 418 5 0 0 0 - - - 0; +#X obj 653 441 * 1000; +#X obj 544 438 * 1000; +#X floatatom 1381 535 5 0 0 0 - - - 0; +#X floatatom 1326 542 5 0 0 0 - - - 0; +#X floatatom 1272 540 5 0 0 0 - - - 0; +#X floatatom 1327 105 5 0 0 0 - - - 0; +#X floatatom 1152 540 5 0 0 0 - - - 0; +#X obj 1327 152 pow 2; +#X obj 1327 128 * 10; +#X obj 1173 687 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc +#000000 #000000; +#X connect 2 0 0 0; +#X connect 3 0 0 1; +#X connect 4 0 8 0; +#X connect 5 0 0 2; +#X connect 7 0 5 0; +#X connect 7 1 5 1; +#X connect 8 0 7 0; +#X connect 13 6 41 0; +#X connect 13 14 40 0; +#X connect 13 15 26 0; +#X connect 13 17 25 0; +#X connect 13 19 24 0; +#X connect 13 21 23 0; +#X connect 13 25 39 0; +#X connect 13 27 38 0; +#X connect 13 29 37 0; +#X connect 14 0 13 0; +#X connect 17 0 15 0; +#X connect 17 1 16 0; +#X connect 18 0 5 0; +#X connect 19 0 22 0; +#X connect 22 0 20 0; +#X connect 22 0 21 0; +#X connect 23 0 27 3; +#X connect 24 0 27 2; +#X connect 25 0 27 1; +#X connect 26 0 27 0; +#X connect 27 0 28 0; +#X connect 27 1 34 0; +#X connect 28 0 36 0; +#X connect 29 0 27 4; +#X connect 30 0 29 0; +#X connect 31 0 17 2; +#X connect 32 0 31 0; +#X connect 33 0 17 1; +#X connect 34 0 35 0; +#X connect 35 0 17 1; +#X connect 36 0 17 0; +#X connect 40 0 43 0; +#X connect 42 0 18 0; +#X connect 43 0 42 0; +#X connect 44 0 19 2; diff --git a/CarpetOfMemories/CarpetOfMemories_PD/RTVoices.pd b/CarpetOfMemories/CarpetOfMemories_PD/RTVoices.pd new file mode 100644 index 0000000..01b0954 --- /dev/null +++ b/CarpetOfMemories/CarpetOfMemories_PD/RTVoices.pd @@ -0,0 +1,60 @@ +#N canvas 186 161 1116 714 12; +#X obj 42 376 soundfiler; +#X obj 157 133 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc +#000000 #000000; +#X floatatom 42 396 31 0 0 0 - - - 0; +#X obj 42 422 s \$0-sample-length; +#X obj 42 245 openpanel; +#X text 170 131 open new file; +#X obj 41 328 pack s f; +#X obj 116 315 f \$0; +#X obj 118 297 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc +#000000 #000000; +#X obj 399 133 array define \$0-wovenMemory 5e+06; +#X obj 351 204 tabplay~ \$0-wovenMemory; +#X obj 348 288 outlet~; +#X obj 254 113 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc +#000000 #000000; +#X text 271 111 replay; +#X obj 111 114 hsl 128 15 50 100 0 1 empty empty volume\\\ (50-100%) +-2 -8 0 10 #bbbbbb #000000 #000000 12700 1; +#X floatatom 108 132 5 0 0 0 - - - 0; +#X obj 348 257 *~; +#X obj 365 233 / 100; +#X obj 204 36 inlet; +#X obj 280 33 inlet; +#X obj 100 35 inlet; +#X obj 399 108 loadbang; +#X msg 40 353 read -resize -maxsize 5e+06 \$1 \$2-wovenMemory; +#X obj 155 153 delay 100 1 msec; +#X obj 349 181 delay 500 1 msec; +#X obj 280 163 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc +#000000 #000000; +#X msg 349 157 stop; +#X connect 0 0 2 0; +#X connect 0 0 25 0; +#X connect 1 0 9 0; +#X connect 1 0 23 0; +#X connect 2 0 3 0; +#X connect 4 0 6 0; +#X connect 6 0 22 0; +#X connect 7 0 6 1; +#X connect 8 0 7 0; +#X connect 10 0 16 0; +#X connect 12 0 26 0; +#X connect 12 0 10 0; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 16 0 11 0; +#X connect 17 0 16 1; +#X connect 18 0 1 0; +#X connect 19 0 12 0; +#X connect 20 0 14 0; +#X connect 21 0 9 0; +#X connect 22 0 0 0; +#X connect 23 0 4 0; +#X connect 23 0 8 0; +#X connect 24 0 10 0; +#X connect 25 0 26 0; +#X connect 26 0 24 0; +#X coords 0 714 1 713 220 73 0; diff --git a/CarpetOfMemories/CarpetOfMemories_PD/buzz-05.wav b/CarpetOfMemories/CarpetOfMemories_PD/buzz-05.wav new file mode 100644 index 0000000..cbb8776 Binary files /dev/null and b/CarpetOfMemories/CarpetOfMemories_PD/buzz-05.wav differ diff --git a/CarpetOfMemories/CarpetOfMemories_PD/list-max-help.pd b/CarpetOfMemories/CarpetOfMemories_PD/list-max-help.pd new file mode 100644 index 0000000..4263951 --- /dev/null +++ b/CarpetOfMemories/CarpetOfMemories_PD/list-max-help.pd @@ -0,0 +1,29 @@ +#N canvas 95 193 564 347 10; +#X floatatom 42 183 5 0 0 0 - - -; +#X floatatom 87 155 5 0 0 0 - - -; +#X obj 24 26 cnv 4 520 4 empty empty list-max 20 -10 0 12 -66577 -66577 +0; +#X obj 439 237 cnv 15 100 30 empty empty dependencies: 8 8 0 10 -233148 +-71069 0; +#X text 445 249 none; +#X text 263 102 INLETS:; +#X text 263 160 OUTLETS:; +#X text 263 62 PARAMETERS:; +#X text 273 76 none; +#X obj 42 122 list-max; +#X text 40 235 based on abstraction by sebfumaster; +#X text 82 182 max value; +#X text 124 154 max position; +#X text 200 6 return maximum value and position of input list; +#X msg 41 90 4 2 72 2 120 -33 10 1; +#X text 40 249 http://puredata.hurleur.com/viewtopic.php?pid=41038#p41038 +; +#X text 273 116 1 = list; +#X text 273 174 1 = maximum value; +#X text 273 188 2 = maximum position; +#X text 78 43 max item's; +#X text 78 54 position = 4; +#X text 98 68 |; +#X connect 9 0 0 0; +#X connect 9 1 1 0; +#X connect 14 0 9 0; diff --git a/CarpetOfMemories/CarpetOfMemories_PD/list-max.pd b/CarpetOfMemories/CarpetOfMemories_PD/list-max.pd new file mode 100644 index 0000000..f1dbb70 --- /dev/null +++ b/CarpetOfMemories/CarpetOfMemories_PD/list-max.pd @@ -0,0 +1,122 @@ +#N canvas 598 207 550 529 10; +#X obj 85 167 route float; +#X obj 110 297 f; +#X obj 56 453 outlet; +#X obj 112 418 f; +#X obj 112 455 outlet; +#X obj 56 334 t b b; +#X obj 56 35 inlet; +#X obj 56 418 f; +#N canvas 0 22 450 300 once 0; +#X obj 110 75 inlet; +#X obj 105 187 spigot 1; +#X obj 110 104 t b f; +#X msg 125 151 0; +#X msg 165 99 1; +#X obj 165 63 inlet; +#X obj 102 219 outlet; +#X connect 0 0 2 0; +#X connect 1 0 6 0; +#X connect 2 0 3 0; +#X connect 2 1 1 0; +#X connect 3 0 1 1; +#X connect 4 0 1 1; +#X connect 5 0 4 0; +#X restore 177 245 pd once; +#X obj 71 297 max; +#X text 232 245 prime [min] and [max] with first item once; +#X obj 150 297 bang; +#X msg 279 297 0; +#X obj 105 333 change; +#X obj 137 391 f; +#X obj 105 362 bang; +#N canvas 917 609 301 314 cup 0; +#X obj 64 45 inlet; +#X obj 64 161 i; +#X obj 104 161 + 1; +#X obj 64 99 route bang setbang float; +#X obj 64 235 outlet; +#X connect 0 0 3 0; +#X connect 1 0 2 0; +#X connect 1 0 4 0; +#X connect 2 0 1 1; +#X connect 3 0 1 0; +#X connect 3 1 1 0; +#X connect 3 2 1 1; +#X restore 152 333 pd cup; +#N canvas 833 279 728 567 list-drip 0; +#X obj 73 94 t a a; +#X obj 73 251 spigot; +#X obj 112 159 bang; +#X obj 112 178 1; +#X obj 233 159 route bang; +#X obj 193 160 bang; +#X obj 193 179 0; +#X obj 112 124 list split 2; +#X obj 242 389 list split; +#X obj 309 338 list length; +#X obj 309 360 >> 1; +#X obj 73 270 t a a a a; +#X obj 73 456 list split; +#X obj 140 408 list length; +#X obj 140 433 >> 1; +#X obj 41 29 inlet; +#X obj 300 185 outlet; +#X text 83 29 Copyright 2009 by Mathieu Bouchard; +#X obj 41 63 t b a; +#X obj 475 129 outlet; +#X text 530 131 signal end of list; +#X text 391 33 made compatible with [list-drip]: fbar 2009; +#X connect 0 0 1 0; +#X connect 0 1 7 0; +#X connect 1 0 11 0; +#X connect 2 0 3 0; +#X connect 3 0 1 1; +#X connect 4 1 16 0; +#X connect 5 0 6 0; +#X connect 6 0 1 1; +#X connect 7 0 2 0; +#X connect 7 2 4 0; +#X connect 7 2 5 0; +#X connect 8 0 0 0; +#X connect 9 0 10 0; +#X connect 10 0 8 1; +#X connect 11 0 12 0; +#X connect 11 1 13 0; +#X connect 11 2 8 0; +#X connect 11 3 9 0; +#X connect 12 1 0 0; +#X connect 13 0 14 0; +#X connect 14 0 12 1; +#X connect 15 0 18 0; +#X connect 18 0 19 0; +#X connect 18 1 0 0; +#X restore 85 142 pd list-drip; +#X obj 56 73 trigger b a b b; +#X obj 71 194 trigger a a a; +#X connect 0 0 19 0; +#X connect 1 0 9 1; +#X connect 3 0 4 0; +#X connect 5 0 7 0; +#X connect 5 1 3 0; +#X connect 6 0 18 0; +#X connect 7 0 2 0; +#X connect 8 0 9 1; +#X connect 9 0 1 0; +#X connect 9 0 7 1; +#X connect 9 0 13 0; +#X connect 11 0 16 0; +#X connect 12 0 14 0; +#X connect 12 0 16 0; +#X connect 13 0 15 0; +#X connect 14 0 3 1; +#X connect 15 0 14 0; +#X connect 16 0 14 1; +#X connect 17 0 0 0; +#X connect 18 0 5 0; +#X connect 18 1 17 0; +#X connect 18 2 8 1; +#X connect 18 3 12 0; +#X connect 19 0 9 0; +#X connect 19 1 11 0; +#X connect 19 2 8 0; diff --git a/CarpetOfMemories/CarpetOfMemories_PD/output~-help.pd b/CarpetOfMemories/CarpetOfMemories_PD/output~-help.pd new file mode 100644 index 0000000..e13c55c --- /dev/null +++ b/CarpetOfMemories/CarpetOfMemories_PD/output~-help.pd @@ -0,0 +1,55 @@ +#N canvas 596 63 608 443 12; +#X obj 222 320 output~; +#X obj 222 232 osc~ 440; +#X obj 280 265 osc~ 880; +#X text 26 411 see also:; +#X obj 107 412 dac~; +#X text 346 267 right signal input; +#X text 287 233 left signal input; +#X text 383 411 updated for Pd version 0.52; +#X text 22 98 Output~ takes a stereo signal and has GUI controls to +set the volume gain and mute it. The number box sets the output gain +in dB (from 0 to 100) and whenever you click on it to drag it \, the +DSP engine is turned on. The mute bang turns the volume off (sets to +0) but restores to the last setting when you click back on it to unmute. +, f 80; +#X msg 234 281 bang; +#X msg 146 282 level \$1; +#X floatatom 146 259 5 0 100 0 - - - 0; +#X text 22 57 This is a very simple abstraction that is widely used +in Pd's documentation (help files and examples). It is included here +just for convenience., f 75; +#X text 22 176 The left inlet also takes a bang message to mute/unmute +and a 'level' message to control the level output in dB., f 80; +#X text 23 13 [output~] - simple stereo output GUI abstraction.; +#X text 514 12 <= click; +#N canvas 760 120 479 279 reference 0; +#X obj 8 48 cnv 5 450 5 empty empty INLETS: 8 18 0 13 #202020 #000000 +0; +#X obj 8 181 cnv 2 450 2 empty empty OUTLETS: 8 12 0 13 #202020 #000000 +0; +#X obj 8 222 cnv 2 450 2 empty empty ARGUMENT: 8 12 0 13 #202020 #000000 +0; +#X obj 7 259 cnv 5 450 5 empty empty empty 8 18 0 13 #202020 #000000 +0; +#X text 156 233 NONE, f 36; +#X obj 8 150 cnv 1 450 1 empty empty 2nd: 8 12 0 13 #7c7c7c #000000 +0; +#X obj 8 78 cnv 1 450 1 empty empty 1st: 8 12 0 13 #7c7c7c #000000 +0; +#X text 23 13 [output~] - simple stereo output GUI abstraction.; +#X text 132 81 signal - left signal input., f 39; +#X text 132 155 signal - right signal input., f 39; +#X text 156 193 NONE, f 36; +#X text 83 101 level - sets output level., f 46; +#X text 146 121 bang - mute/unmute., f 37; +#X restore 420 13 pd reference; +#X obj 10 45 cnv 1 590 1 empty empty empty 8 12 0 13 #000000 #000000 +0; +#X obj 10 395 cnv 1 590 1 empty empty empty 8 12 0 13 #000000 #000000 +0; +#X connect 1 0 0 0; +#X connect 2 0 0 1; +#X connect 9 0 0 0; +#X connect 10 0 0 0; +#X connect 11 0 10 0; diff --git a/CarpetOfMemories/CarpetOfMemories_PD/output~.pd b/CarpetOfMemories/CarpetOfMemories_PD/output~.pd new file mode 100644 index 0000000..a98b3d7 --- /dev/null +++ b/CarpetOfMemories/CarpetOfMemories_PD/output~.pd @@ -0,0 +1,72 @@ +#N canvas 670 92 576 603 12; +#X obj 374 510 t b; +#X obj 374 457 f; +#X obj 374 535 f; +#X msg 420 533 0; +#X obj 374 487 moses 1; +#X obj 424 457 moses 1; +#X obj 42 101 dbtorms; +#X msg 274 388 \; pd dsp 1; +#X obj 42 270 line~; +#X obj 77 322 *~; +#X obj 77 352 dac~; +#X obj 42 131 pack 0 50; +#X floatatom 347 219 4 0 100 0 dB - - 0; +#X obj 374 240 bng 15 250 50 0 empty empty mute -38 7 0 12 #fcfcfc +#000000 #000000; +#X obj 175 170 inlet~; +#X obj 157 321 *~; +#X text 432 403 MUTE logic:; +#X obj 347 174 r \$0-master-lvl; +#X obj 420 564 s \$0-master-lvl; +#X obj 347 279 s \$0-master-out; +#X obj 42 75 r \$0-master-out; +#X obj 424 428 r \$0-master-out; +#X obj 95 272 hip~ 3; +#X obj 175 272 hip~ 3; +#X text 102 100 <= convert from dB to linear units; +#X text 114 130 <= make a ramp to avoid clicks or zipper noise; +#X text 81 397 automatically start DSP =>; +#X text 206 441 recall previous; +#X text 150 538 previous nonzero master-lvl =>; +#X text 177 512 if true convert to bang =>; +#X text 205 489 test if less than 1 =>; +#X text 206 459 value of master-lvl =>; +#X text 84 9 Level control abstraction \, part of 'extra' used in many +of the Pd example and help patches. The "level" and "mute" controls +show up on the parent \, calling patch., f 61; +#X obj 95 170 inlet~ fwd; +#X obj 187 200 route bang level; +#X obj 241 240 clip 0 100; +#X text 227 168 <= audio in; +#X obj 263 76 inlet; +#X connect 0 0 2 0; +#X connect 1 0 4 0; +#X connect 2 0 18 0; +#X connect 3 0 18 0; +#X connect 4 0 0 0; +#X connect 4 1 3 0; +#X connect 5 1 2 1; +#X connect 6 0 11 0; +#X connect 8 0 15 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 11 0 8 0; +#X connect 12 0 7 0; +#X connect 12 0 19 0; +#X connect 13 0 1 0; +#X connect 14 0 23 0; +#X connect 15 0 10 1; +#X connect 17 0 12 0; +#X connect 20 0 6 0; +#X connect 21 0 1 1; +#X connect 21 0 5 0; +#X connect 22 0 9 1; +#X connect 23 0 15 1; +#X connect 33 0 22 0; +#X connect 33 1 34 0; +#X connect 34 0 13 0; +#X connect 34 1 35 0; +#X connect 35 0 12 0; +#X connect 37 0 12 0; +#X coords 0 0 1 1 65 55 1 325 200; diff --git a/CarpetOfMemories/CarpetOfMemories_PD/sample~-help.pd b/CarpetOfMemories/CarpetOfMemories_PD/sample~-help.pd new file mode 100644 index 0000000..55d3b54 --- /dev/null +++ b/CarpetOfMemories/CarpetOfMemories_PD/sample~-help.pd @@ -0,0 +1,37 @@ +#N canvas 1245 173 508 360 12; +#X msg 181 65 samples/hello.wav; +#X obj 136 102 bng 15 250 50 0 empty empty empty 17 7 0 10 #c6ffc7 +#000000 #000000; +#X msg 202 41 samples/C4EP.wav; +#X obj 18 13 tgl 15 0 empty empty empty 17 7 0 10 #c6ffc7 #000000 #000000 +0 1; +#X obj 18 37 tempo 130 0.5; +#X obj 17 98 quant 0 2 4 7 9; +#X obj 17 68 rand 60 5 12 100; +#X floatatom 222 136 5 0 127 2 Speed\ (0.1-11.9\ &\ 12\ -\ 127) - - +0; +#X floatatom 250 173 5 0 1 2 Start\ Pos\ (0-1) - - 0; +#X floatatom 279 208 5 0 1 2 End\ Pos\ (0-1) - - 0; +#X obj 311 243 hsl 100 15 0 1 0 0 empty empty Scrub\\\ (0-1) -2 -8 +0 10 #fcfcfc #000000 #000000 0 1; +#X floatatom 164 233 5 0 127 2 Vel\ (0-127) - - 0; +#X text 264 134 Either 1 or 60 is normal speed; +#X text 81 8 load and playback a mono or stereo sample; +#X obj 136 264 sample~ samples/hello.wav; +#X obj 135 303 out~ 0.5; +#X msg 217 90 samples/Birds.wav; +#X connect 0 0 14 2; +#X connect 1 0 14 0; +#X connect 2 0 14 2; +#X connect 3 0 4 0; +#X connect 4 0 6 0; +#X connect 5 0 14 0; +#X connect 6 2 5 0; +#X connect 7 0 14 3; +#X connect 8 0 14 4; +#X connect 9 0 14 5; +#X connect 10 0 14 6; +#X connect 11 0 14 1; +#X connect 14 0 15 0; +#X connect 14 1 15 1; +#X connect 16 0 14 2; diff --git a/CarpetOfMemories/CarpetOfMemories_PD/sample~.pd b/CarpetOfMemories/CarpetOfMemories_PD/sample~.pd new file mode 100644 index 0000000..96d5f2b --- /dev/null +++ b/CarpetOfMemories/CarpetOfMemories_PD/sample~.pd @@ -0,0 +1,260 @@ +#N canvas 785 527 1030 771 12; +#X obj 254 160 soundfiler; +#X floatatom 284 203 8 0 0 2 \ Samples - - 0; +#X floatatom 301 315 8 0 0 2 \ Millis - - 0; +#X floatatom 375 225 5 0 0 2 samplerate - - 0; +#X obj 303 278 / 44.1; +#X obj 450 86 f \$0; +#X obj 373 14 array define \$0-sampleData; +#X obj 254 111 pack s f; +#X msg 266 40 samples/hello.wav; +#X obj 449 37 loadbang; +#X obj 375 246 * 0.001; +#X obj 254 16 inlet name; +#X obj 49 517 vline~; +#X floatatom 149 399 8 0 0 0 - - - 0; +#X obj 49 361 f; +#X msg 132 456 stop; +#X msg 177 480 \$1 100; +#X obj 149 428 / 1; +#X floatatom 184 428 5 0.5 2 0 - - - 0; +#X obj 242 379 hsl 50 15 0.1 2 0 0 empty empty Speed -2 -8 0 10 #fcfcc4 +#000000 #000000 0 1; +#X obj 687 15 inlet start%; +#X obj 687 118 *; +#X floatatom 687 92 5 0 1 1 0-1 - - 0; +#X floatatom 687 150 8 0 0 0 - - - 0; +#X obj 687 177 s \$0-start; +#X obj 79 281 r \$0-start; +#X floatatom 800 121 5 0 1 1 samples - - 0; +#X floatatom 800 186 8 0 0 0 - - - 0; +#X obj 799 17 inlet end%; +#X obj 800 213 s \$0-end; +#X obj 201 282 r \$0-end; +#X obj 82 413 r \$0-end; +#X obj 578 17 inlet speed; +#X floatatom 578 42 5 0 10 0 - - - 0; +#X obj 152 365 t b f; +#X obj 909 17 inlet scrub; +#X obj 909 108 *; +#X floatatom 909 81 5 0 1 1 0-1 - - 0; +#X floatatom 909 139 8 0 0 0 - - - 0; +#X obj 909 166 s \$0-scrub; +#X obj 177 455 r \$0-scrub; +#X obj 708 67 t b f; +#X obj 800 92 t b f; +#X obj 95 317 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 +#000000; +#X obj 85 338 expr (max($f1 \, $f2) - min($f1 \, $f2)) / $f3; +#X obj 49 688 outlet~; +#X obj 139 17 inlet velocity; +#X obj 139 70 / 127; +#X obj 139 44 clip 0 127; +#X obj 800 155 * 1; +#X obj 49 659 *~ 0.8; +#X obj 49 453 pack 0 f f; +#X floatatom 800 39 5 0 1 0 - - - 0; +#X msg 49 480 \$1 \, \$2 \$3; +#X obj 67 601 vline~; +#X obj 49 626 *~; +#X msg 79 574 0 3 \, 1 0 3; +#X obj 11 290 delay 3; +#N canvas 240 315 551 381 midi-p-shift 0; +#X obj 24 7 inlet midi-pitch; +#X msg 43 60 1 1.059 1.122 1.189 1.26 1.334 1.414 1.498 1.578 1.682 +1.782 1.888, f 68; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \$0-pitch-ratios 12 float 3; +#A 0 1 1.059 1.122 1.189 1.26 1.334 1.414 1.498 1.578 1.682 1.782 1.888 +; +#X coords 0 2 12 1 120 50 1 0 0; +#X restore 250 108 graph; +#X obj 43 87 array set \$0-pitch-ratios; +#X obj 42 33 loadbang; +#X obj 24 338 outlet playback-speed; +#X obj 71 189 array get \$0-pitch-ratios; +#X floatatom 72 219 5 0 0 0 - - - 0; +#X floatatom 24 231 5 0 0 0 - - - 0; +#X floatatom 24 307 5 0 0 0 - - - 0; +#X floatatom 24 158 5 0 127 0 - - - 0; +#X obj 24 181 / 12; +#X obj 24 205 int; +#X obj 24 256 - 2; +#X obj 24 281 expr (pow(2 \, $f1) / 8.0) * $f2; +#X obj 71 160 % 12; +#X obj 24 118 t f f; +#X connect 0 0 16 0; +#X connect 1 0 3 0; +#X connect 4 0 1 0; +#X connect 6 0 7 0; +#X connect 7 0 14 1; +#X connect 8 0 13 0; +#X connect 9 0 5 0; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 12 0 8 0; +#X connect 13 0 14 0; +#X connect 14 0 9 0; +#X connect 15 0 6 0; +#X connect 16 0 10 0; +#X connect 16 1 15 0; +#X restore 156 257 pd midi-p-shift; +#X obj 46 200 t b b f; +#X floatatom 46 167 5 0 0 0 - - - 0; +#X msg 64 103 60; +#X obj 64 76 loadbang; +#X obj 47 16 inlet pitch; +#X obj 578 111 moses 12; +#X obj 578 85 clip 0.1 127; +#X floatatom 581 203 5 0 0 0 - - - 0; +#X obj 46 135 f; +#X obj 103 226 moses 12; +#N canvas 870 113 175 171 parseName 0; +#X obj 40 42 symbol \$1; +#X obj 38 123 outlet; +#X obj 39 96 list trim; +#X obj 40 68 pack s; +#X obj 40 12 inlet; +#X connect 0 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X restore 282 72 pd parseName; +#X obj 450 61 t b b; +#X obj 137 98 pow 1.3; +#X obj 143 175 sel 0; +#X obj 555 532 delay 0; +#X obj 555 563 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc +#000000 #000000; +#X obj 555 690 outlet; +#X text 561 663 Bang at end; +#X obj 199 306 t b f; +#X obj 800 65 clip 0 1; +#X obj 687 43 clip 0 1; +#X obj 909 49 clip 0 1; +#X floatatom 191 210 5 0 127 0 - - - 0; +#X msg 254 137 read -resize \$1 \$2-sampleDataL \$2-sampleDataR; +#X obj 243 727 outlet~; +#X obj 243 664 *~ 0.8; +#X obj 243 639 *~; +#X obj 49 549 tabread4~ \$0-sampleDataL; +#X obj 243 547 tabread4~ \$0-sampleDataR; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \$0-sampleDataL 298924 float 2; +#X coords 0 1 298924 -1 200 140 1 0 0; +#X restore 474 289 graph; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \$0-sampleDataR 298924 float 2; +#X coords 0 1 298924 -1 200 140 1 0 0; +#X restore 711 290 graph; +#X obj 374 191 unpack f f f; +#X floatatom 455 218 5 0 0 0 - - - 0; +#X obj 155 691 *~ 0; +#X obj 454 245 expr if ($f1 == 1 \, 1 \, 0); +#X connect 0 0 1 0; +#X connect 0 0 4 0; +#X connect 0 1 90 0; +#X connect 1 0 41 0; +#X connect 1 0 36 1; +#X connect 1 0 26 0; +#X connect 2 0 13 0; +#X connect 3 0 10 0; +#X connect 4 0 2 0; +#X connect 5 0 7 1; +#X connect 7 0 82 0; +#X connect 8 0 7 0; +#X connect 9 0 70 0; +#X connect 10 0 4 1; +#X connect 10 0 44 2; +#X connect 11 0 7 0; +#X connect 12 0 86 0; +#X connect 12 0 87 0; +#X connect 13 0 17 0; +#X connect 14 0 51 0; +#X connect 15 0 12 0; +#X connect 16 0 12 0; +#X connect 17 0 51 2; +#X connect 17 0 73 1; +#X connect 18 0 17 1; +#X connect 19 0 34 0; +#X connect 20 0 79 0; +#X connect 21 0 23 0; +#X connect 22 0 21 0; +#X connect 23 0 24 0; +#X connect 25 0 14 1; +#X connect 25 0 44 0; +#X connect 26 0 49 0; +#X connect 27 0 29 0; +#X connect 28 0 52 0; +#X connect 30 0 77 0; +#X connect 31 0 51 1; +#X connect 32 0 33 0; +#X connect 33 0 65 0; +#X connect 34 0 13 0; +#X connect 34 1 18 0; +#X connect 35 0 80 0; +#X connect 36 0 38 0; +#X connect 37 0 36 0; +#X connect 38 0 39 0; +#X connect 40 0 16 0; +#X connect 41 0 22 0; +#X connect 41 1 21 1; +#X connect 42 0 26 0; +#X connect 42 1 49 1; +#X connect 43 0 44 0; +#X connect 44 0 13 0; +#X connect 46 0 48 0; +#X connect 47 0 71 0; +#X connect 48 0 47 0; +#X connect 48 0 72 0; +#X connect 49 0 27 0; +#X connect 50 0 45 0; +#X connect 50 0 92 0; +#X connect 51 0 53 0; +#X connect 52 0 78 0; +#X connect 53 0 12 0; +#X connect 54 0 55 1; +#X connect 54 0 85 1; +#X connect 55 0 50 0; +#X connect 56 0 54 0; +#X connect 57 0 14 0; +#X connect 58 0 34 0; +#X connect 59 0 57 0; +#X connect 59 0 73 0; +#X connect 59 1 56 0; +#X connect 59 2 68 0; +#X connect 60 0 59 0; +#X connect 61 0 67 1; +#X connect 62 0 61 0; +#X connect 63 0 67 0; +#X connect 64 0 34 0; +#X connect 64 0 66 0; +#X connect 64 1 58 0; +#X connect 65 0 64 0; +#X connect 65 0 67 1; +#X connect 67 0 60 0; +#X connect 68 0 34 0; +#X connect 68 1 58 0; +#X connect 69 0 7 0; +#X connect 70 0 69 0; +#X connect 70 1 5 0; +#X connect 71 0 50 1; +#X connect 72 0 15 0; +#X connect 73 0 74 0; +#X connect 74 0 75 0; +#X connect 77 0 43 0; +#X connect 77 1 44 1; +#X connect 78 0 42 0; +#X connect 79 0 22 0; +#X connect 80 0 37 0; +#X connect 81 0 58 0; +#X connect 82 0 0 0; +#X connect 84 0 83 0; +#X connect 85 0 84 0; +#X connect 86 0 55 0; +#X connect 87 0 85 0; +#X connect 90 0 3 0; +#X connect 90 2 91 0; +#X connect 91 0 93 0; +#X connect 92 0 83 0; +#X connect 93 0 92 1; diff --git a/CarpetOfMemories/tags.md b/CarpetOfMemories/tags.md new file mode 100644 index 0000000..6b80980 --- /dev/null +++ b/CarpetOfMemories/tags.md @@ -0,0 +1,16 @@ +--- +tags: + - processing_technique: + - Weaving + - Pompom + conductive_material: + - "Shieldex HC 40 Yarn" + - "Copper Yarn" + description: > + In many cultures, there is a tradition to create a new piece for the household + from scraps and leftover textiles from outdated or destroyed garments. + These furniture pieces created from scraps have a personal story behind them. + By interacting with the carpet you can explore audio memories put together in a colorful composition. +--- + +# Tags diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_1.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_1.wav new file mode 100644 index 0000000..a8da0b7 Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_1.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_10.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_10.wav new file mode 100644 index 0000000..bf79636 Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_10.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_11.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_11.wav new file mode 100644 index 0000000..077371d Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_11.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_12.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_12.wav new file mode 100644 index 0000000..a9a2661 Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_12.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_13.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_13.wav new file mode 100644 index 0000000..31e2d92 Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_13.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_14.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_14.wav new file mode 100644 index 0000000..0757c3c Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_14.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_15.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_15.wav new file mode 100644 index 0000000..7e1f26c Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_15.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_16.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_16.wav new file mode 100644 index 0000000..3d69329 Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_16.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_17.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_17.wav new file mode 100644 index 0000000..0c65ca2 Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_17.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_18.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_18.wav new file mode 100644 index 0000000..357b104 Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_18.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_19.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_19.wav new file mode 100644 index 0000000..59203ae Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_19.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_2.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_2.wav new file mode 100644 index 0000000..177ecbd Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_2.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_20.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_20.wav new file mode 100644 index 0000000..f8aa885 Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_20.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_21.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_21.wav new file mode 100644 index 0000000..85d12c2 Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_21.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_22.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_22.wav new file mode 100644 index 0000000..92682e3 Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_22.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_23.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_23.wav new file mode 100644 index 0000000..6d6c193 Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_23.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_24.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_24.wav new file mode 100644 index 0000000..f41cc5d Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_24.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_25.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_25.wav new file mode 100644 index 0000000..47da18b Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_25.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_26.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_26.wav new file mode 100644 index 0000000..82d7eb2 Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_26.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_27.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_27.wav new file mode 100644 index 0000000..229a8f9 Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_27.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_28.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_28.wav new file mode 100644 index 0000000..9cccdcd Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_28.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_29.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_29.wav new file mode 100644 index 0000000..8766ab1 Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_29.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_3.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_3.wav new file mode 100644 index 0000000..8fda04c Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_3.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_30.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_30.wav new file mode 100644 index 0000000..3e7d67c Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_30.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_31.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_31.wav new file mode 100644 index 0000000..451b661 Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_31.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_32.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_32.wav new file mode 100644 index 0000000..1b4f7f8 Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_32.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_33.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_33.wav new file mode 100644 index 0000000..03375bf Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_33.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_34.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_34.wav new file mode 100644 index 0000000..a933cb0 Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_34.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_4.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_4.wav new file mode 100644 index 0000000..ef323ec Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_4.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_5.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_5.wav new file mode 100644 index 0000000..f9c6717 Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_5.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_6.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_6.wav new file mode 100644 index 0000000..2fa5690 Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_6.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_7.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_7.wav new file mode 100644 index 0000000..b33959a Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_7.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_8.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_8.wav new file mode 100644 index 0000000..9e5693c Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_8.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_9.wav b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_9.wav new file mode 100644 index 0000000..18d5abb Binary files /dev/null and b/EXOBRAIN/ExoBrain_PD/ExoBrain_SFX_9.wav differ diff --git a/EXOBRAIN/ExoBrain_PD/_main.pd b/EXOBRAIN/ExoBrain_PD/_main.pd new file mode 100644 index 0000000..3cfd865 --- /dev/null +++ b/EXOBRAIN/ExoBrain_PD/_main.pd @@ -0,0 +1,245 @@ +#N canvas 25 46 1440 847 10; +#X obj 295 378 unpack f f f f f f f f f f f f f f f f f f f f f f f f f f, f 133; +#X obj 196 158 loadbang; +#X obj 264 309 r bela_trill; +#X obj 61 235 s bela_setTrill; +#X text 372 336 We are working with Trill Craft; +#X text 372 310 This receives readings from the Trill sensor; +#X text 36 158 Initialise Trill sensor; +#X text 600 7 ............................; +#X text 600 17 . ____ ._____ _ .......___ .; +#X text 600 27 .| __ )| ____| |....../ _ |.; +#X text 600 47 .| |_) | |___| |___ / ___ |.; +#X text 600 57 .|____/|_____|_____/_/..._|.io; +#X text 600 67 ............................; +#X text 600 37 .| __ || __|.| |...../ _| |.; +#X text 30 28 Capacitive sensing with Trill Craft; +#X text 30 38 ====================================; +#X obj 196 237 s bela_setTrill; +#X text 361 207 [prescaler (; +#X text 365 228 value betwen 1 and 6; +#X text 361 185 Change sensitivity here; +#X obj 131 310 loadbang; +#X obj 131 331 metro 50; +#X msg 131 352 0; +#X obj 131 394 s bela_guiOut; +#X obj 131 373 list; +#X obj 196 179 t b b; +#X text 1102 46 Every the time the programme is restarted the baseline; +#X text 1101 65 reading of the sensor is reset.; +#X text 1102 86 This means if you are touching anything connected to the; +#X text 1102 106 sensor on start up this will be incorporated into the; +#X text 1102 126 baseline.; +#X obj 1333 302 dac~ 1 2; +#X text 30 58 This example is for capacitive sensing with Trill Craft.; +#X msg 61 208 new mycraft 1 CRAFT; +#X msg 196 209 prescaler mycraft 2; +#X obj 264 336 route mycraft; +#X text 30 78 Connect the sensor via I2C and open the GUI to see readings.; +#X text 30 108 https://learn.bela.io/tutorials/pure-data/sensors/capacitive-sensing/; +#X obj 1207 423 cnv 16 400 300 empty c1 prototyping 20 12 0 14 #ffc7c6 #000000 0; +#X obj 1231 479 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X text 1209 606 0; +#X text 1208 480 1; +#X text 1206 539 0.5; +#X obj 1230 644 s a; +#X floatatom 1230 622 5 0 0 0 - - - 0; +#X text 1204 453 input 0; +#X obj 1296 482 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X text 1275 605 0; +#X text 1274 479 1; +#X text 1272 538 0.5; +#X floatatom 1296 621 5 0 0 0 - - - 0; +#X text 1273 453 input 3; +#X obj 1296 643 s b; +#X obj 1333 272 catch~ out; +#X obj 1372 483 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X floatatom 1370 621 5 0 0 0 - - - 0; +#X obj 1370 643 s d; +#X text 1337 480 0.5; +#X text 1346 540 0, f 2; +#X text 1334 605 -0.5; +#X obj 1451 482 vsl 15 128 0 2000 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X floatatom 1451 621 5 0 0 0 - - - 0; +#X text 1341 452 input 6; +#X text 1420 453 input 9; +#X text 1496 452 input 12; +#X text 1215 667 play loop; +#X text 1283 666 play chord; +#X text 1356 666 chord pitch; +#X obj 1451 643 s e; +#X text 1431 607 0; +#X text 1430 481 1; +#X text 1428 540 0.5; +#X obj 1526 482 vsl 15 128 0 5000 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X floatatom 1526 621 5 0 0 0 - - - 0; +#X obj 1526 643 s e; +#X text 1506 607 0; +#X text 1438 667 delay time; +#X text 1505 666 high pass filter; +#X text 1492 481 5000; +#X text 1493 542 2500; +#X text 1216 699 note differnent playback mechanism for inputs 0 and 3; +#X obj 432 652 change; +#X obj 432 630 > 0.5; +#X obj 504 546 loadbang; +#X obj 438 695 playAudioFile~; +#X obj 432 673 route 1 0; +#X obj 438 717 *~ 0.5; +#X obj 434 601 r a; +#X obj 1237 236 catch~ L; +#X obj 1441 233 catch~ R; +#X msg 492 639 0.5; +#X msg 520 667 ExoBrain_SFX_\$1.wav; +#X obj 574 548 random 10; +#X obj 574 570 + 1; +#X floatatom 575 592 5 0 0 0 - - - 0; +#X obj 574 611 t b i; +#X obj 577 638 int; +#X obj 574 503 change; +#X obj 575 460 r a; +#X obj 574 522 route 1 0; +#X obj 575 481 > 0.4; +#X msg 520 639 1; +#X obj 684 642 change; +#X obj 684 620 > 0.5; +#X obj 750 582 loadbang; +#X obj 689 685 playAudioFile~; +#X obj 684 663 route 1 0; +#X obj 689 707 *~ 0.5; +#X msg 743 625 0.5; +#X msg 770 658 ExoBrain_SFX_\$1.wav; +#X obj 809 540 random 10; +#X floatatom 810 584 5 0 0 0 - - - 0; +#X obj 809 603 t b i; +#X obj 812 630 int; +#X obj 809 495 change; +#X obj 809 514 route 1 0; +#X obj 810 473 > 0.4; +#X msg 771 627 1; +#X obj 809 562 + 10; +#X obj 949 642 change; +#X obj 949 620 > 0.5; +#X obj 1029 583 loadbang; +#X obj 967 684 playAudioFile~; +#X obj 949 663 route 1 0; +#X obj 967 706 *~ 0.5; +#X msg 1020 638 0.5; +#X msg 1049 660 ExoBrain_SFX_\$1.wav; +#X obj 1088 547 random 10; +#X floatatom 1089 591 5 0 0 0 - - - 0; +#X obj 968 741 throw~ out; +#X obj 1088 610 t b i; +#X obj 1091 637 int; +#X obj 1088 502 change; +#X obj 1088 521 route 1 0; +#X obj 1089 480 > 0.4; +#X msg 1052 635 1; +#X obj 1089 571 + 20; +#X obj 810 452 r b; +#X obj 686 591 r b; +#X obj 1089 460 r d; +#X obj 951 587 r d; +#X obj 438 739 throw~ out; +#X obj 689 730 throw~ out; +#X connect 0 6 82 0; +#X connect 0 6 100 0; +#X connect 0 15 103 0; +#X connect 0 15 116 0; +#X connect 0 25 120 0; +#X connect 0 25 134 0; +#X connect 1 0 25 0; +#X connect 2 0 35 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 24 0; +#X connect 24 0 23 0; +#X connect 25 0 34 0; +#X connect 25 1 33 0; +#X connect 33 0 3 0; +#X connect 34 0 16 0; +#X connect 35 0 0 0; +#X connect 35 0 24 1; +#X connect 39 0 44 0; +#X connect 44 0 43 0; +#X connect 46 0 50 0; +#X connect 50 0 52 0; +#X connect 53 0 31 0; +#X connect 53 0 31 1; +#X connect 54 0 55 0; +#X connect 55 0 56 0; +#X connect 60 0 61 0; +#X connect 61 0 68 0; +#X connect 72 0 73 0; +#X connect 73 0 74 0; +#X connect 81 0 85 0; +#X connect 82 0 81 0; +#X connect 83 0 90 0; +#X connect 83 0 101 0; +#X connect 84 0 86 0; +#X connect 85 0 84 0; +#X connect 85 1 84 1; +#X connect 86 0 141 0; +#X connect 87 0 82 0; +#X connect 88 0 31 0; +#X connect 89 0 31 1; +#X connect 90 0 84 2; +#X connect 91 0 84 3; +#X connect 92 0 93 0; +#X connect 93 0 94 0; +#X connect 94 0 95 0; +#X connect 95 0 96 0; +#X connect 95 1 96 1; +#X connect 96 0 91 0; +#X connect 97 0 99 0; +#X connect 98 0 100 0; +#X connect 99 0 92 0; +#X connect 99 1 92 0; +#X connect 100 0 97 0; +#X connect 101 0 91 0; +#X connect 102 0 106 0; +#X connect 103 0 102 0; +#X connect 104 0 108 0; +#X connect 104 0 117 0; +#X connect 105 0 107 0; +#X connect 106 0 105 0; +#X connect 106 1 105 1; +#X connect 107 0 142 0; +#X connect 108 0 105 2; +#X connect 109 0 105 3; +#X connect 110 0 118 0; +#X connect 111 0 112 0; +#X connect 112 0 113 0; +#X connect 112 1 113 1; +#X connect 113 0 109 0; +#X connect 114 0 115 0; +#X connect 115 0 110 0; +#X connect 115 1 110 0; +#X connect 116 0 114 0; +#X connect 117 0 109 0; +#X connect 118 0 111 0; +#X connect 119 0 123 0; +#X connect 120 0 119 0; +#X connect 121 0 125 0; +#X connect 121 0 135 0; +#X connect 122 0 124 0; +#X connect 123 0 122 0; +#X connect 123 1 122 1; +#X connect 124 0 129 0; +#X connect 125 0 122 2; +#X connect 126 0 122 3; +#X connect 127 0 136 0; +#X connect 128 0 130 0; +#X connect 130 0 131 0; +#X connect 130 1 131 1; +#X connect 131 0 126 0; +#X connect 132 0 133 0; +#X connect 133 0 127 0; +#X connect 133 1 127 0; +#X connect 134 0 132 0; +#X connect 135 0 126 0; +#X connect 136 0 128 0; +#X connect 137 0 116 0; +#X connect 138 0 103 0; +#X connect 139 0 134 0; +#X connect 140 0 120 0; diff --git a/EXOBRAIN/ExoBrain_PD/echo~.pd b/EXOBRAIN/ExoBrain_PD/echo~.pd new file mode 100644 index 0000000..674578e --- /dev/null +++ b/EXOBRAIN/ExoBrain_PD/echo~.pd @@ -0,0 +1,98 @@ +#N canvas 540 818 782 341 12; +#X text 459 18 Delay Time; +#X text 556 19 Delay Level; +#X obj 465 41 inlet; +#X obj 572 46 inlet; +#X text 659 19 delay feedback; +#X obj 27 29 inlet~; +#X obj 662 42 inlet; +#X obj 41 273 *~ 0.1; +#X obj 117 275 *~ -0.25; +#X obj 27 306 outlet~; +#X obj 41 184 line~; +#X msg 41 158 \$1 100; +#X obj 550 236 * -1; +#X obj 661 139 t b b; +#X obj 661 189 sel 0; +#X floatatom 693 216 5 0 0 0 - - - 0; +#X obj 661 164 f \$3; +#X obj 572 74 loadbang; +#X obj 572 98 t b b; +#X obj 572 148 sel 0; +#X floatatom 604 175 5 0 0 0 - - - 0; +#X obj 572 123 f \$2; +#X obj 80 239 clip 0 1; +#X obj 465 118 t b b; +#X obj 465 168 sel 0; +#X floatatom 497 195 5 0 0 0 - - - 0; +#X obj 465 143 f \$1; +#X msg 512 163 250; +#X obj 41 130 clip 0 2000; +#X obj 551 212 clip 0 0.95; +#X text 37 6 audio in left; +#X obj 231 30 inlet~; +#X obj 243 274 *~ 0.1; +#X obj 319 276 *~ -0.25; +#X obj 232 307 outlet~; +#X obj 243 185 line~; +#X msg 243 159 \$1 100; +#X obj 282 240 clip 0 1; +#X obj 243 131 clip 0 2000; +#X text 239 7 audio in right; +#X obj 61 91 delwrite~ \$0-bufferL 2000; +#X obj 41 210 vd~ \$0-bufferL 250; +#X obj 256 81 delwrite~ \$0-bufferR 2000; +#X obj 243 211 vd~ \$0-bufferR 250; +#X msg 619 143 0.3; +#X msg 708 184 0.35; +#X connect 2 0 28 0; +#X connect 2 0 38 0; +#X connect 3 0 22 0; +#X connect 3 0 37 0; +#X connect 5 0 9 0; +#X connect 5 0 40 0; +#X connect 6 0 29 0; +#X connect 7 0 9 0; +#X connect 8 0 40 0; +#X connect 10 0 41 0; +#X connect 11 0 10 0; +#X connect 12 0 8 1; +#X connect 12 0 33 1; +#X connect 13 0 16 0; +#X connect 13 1 45 0; +#X connect 14 1 15 0; +#X connect 15 0 29 0; +#X connect 16 0 14 0; +#X connect 17 0 18 0; +#X connect 17 0 23 0; +#X connect 17 0 13 0; +#X connect 18 0 21 0; +#X connect 18 1 44 0; +#X connect 19 1 20 0; +#X connect 20 0 22 0; +#X connect 20 0 37 0; +#X connect 21 0 19 0; +#X connect 22 0 7 1; +#X connect 23 0 26 0; +#X connect 23 1 27 0; +#X connect 24 1 25 0; +#X connect 25 0 28 0; +#X connect 25 0 38 0; +#X connect 26 0 24 0; +#X connect 27 0 25 0; +#X connect 28 0 11 0; +#X connect 29 0 12 0; +#X connect 31 0 34 0; +#X connect 31 0 42 0; +#X connect 32 0 34 0; +#X connect 33 0 42 0; +#X connect 35 0 43 0; +#X connect 36 0 35 0; +#X connect 37 0 32 1; +#X connect 38 0 36 0; +#X connect 41 0 8 0; +#X connect 41 0 7 0; +#X connect 43 0 33 0; +#X connect 43 0 32 0; +#X connect 44 0 20 0; +#X connect 45 0 15 0; diff --git a/EXOBRAIN/ExoBrain_PD/map.pd b/EXOBRAIN/ExoBrain_PD/map.pd new file mode 100644 index 0000000..184132f --- /dev/null +++ b/EXOBRAIN/ExoBrain_PD/map.pd @@ -0,0 +1,46 @@ +#N canvas 56 241 511 247 12; +#X text 139 12 Y = (X-A)/(B-A) * (D-C) + C; +#X obj 97 170 expr ($f1-$f2)/($f3-$f2)*($f5-$f4)+$f4; +#X obj 12 41 inlet input; +#X obj 99 42 inlet in-min; +#X obj 196 44 inlet in-max; +#X obj 288 44 inlet out-min; +#X obj 388 44 inlet out-max; +#X obj 97 202 outlet; +#X floatatom 118 117 5 0 0 0 - - - 0; +#X obj 124 92 f \$1; +#X obj 390 155 loadbang; +#X obj 124 68 r \$0-lb; +#X floatatom 203 119 5 0 0 0 - - - 0; +#X obj 209 70 r \$0-lb; +#X obj 209 94 f \$2; +#X floatatom 293 122 5 0 0 0 - - - 0; +#X obj 299 73 r \$0-lb; +#X obj 299 97 f \$3; +#X floatatom 388 121 5 0 0 0 - - - 0; +#X obj 394 72 r \$0-lb; +#X obj 394 96 f \$4; +#X obj 390 182 s \$0-lb; +#X obj 23 125 clip 0 127; +#X connect 1 0 7 0; +#X connect 2 0 22 0; +#X connect 3 0 8 0; +#X connect 4 0 12 0; +#X connect 5 0 15 0; +#X connect 6 0 18 0; +#X connect 8 0 1 1; +#X connect 9 0 8 0; +#X connect 9 0 22 1; +#X connect 10 0 21 0; +#X connect 11 0 9 0; +#X connect 12 0 1 2; +#X connect 13 0 14 0; +#X connect 14 0 12 0; +#X connect 14 0 22 2; +#X connect 15 0 1 3; +#X connect 16 0 17 0; +#X connect 17 0 15 0; +#X connect 18 0 1 4; +#X connect 19 0 20 0; +#X connect 20 0 18 0; +#X connect 22 0 1 0; diff --git a/EXOBRAIN/ExoBrain_PD/playAudioFile~.pd b/EXOBRAIN/ExoBrain_PD/playAudioFile~.pd new file mode 100644 index 0000000..4f4192c --- /dev/null +++ b/EXOBRAIN/ExoBrain_PD/playAudioFile~.pd @@ -0,0 +1,200 @@ +#N canvas 39 25 1241 755 10; +#X obj 231 321 inlet; +#X obj 910 319 inlet; +#X obj 387 724 outlet~; +#X obj 323 321 inlet; +#X text 130 289 input to receive play; +#X text 364 19 This patch prepares and exectue the reading of an audio file; +#X text 306 288 input to receive stop; +#X text 395 47 Play and retrig are executed until a stop message; +#X text 907 287 input to receive the file Name; +#X obj 666 511 tabread~ \$0-array; +#N canvas 56 25 1224 755 retrieve&StoreFileIntoAnArray 0; +#X obj 251 139 inlet; +#X obj 251 379 outlet; +#X obj 251 214 symbol; +#X msg 251 308 read -resize \$1 \$2; +#X obj 307 214 symbol \$0-array; +#X obj 251 252 pack s s; +#X obj 251 181 t a b; +#X text 249 108 input to receive the name of the file; +#X text 8 212 convert the fileName into a symbol; +#X text 429 211 name of the array (see arrayNameGenerator subpatch); +#X obj 251 344 soundfiler; +#X text 428 248 prepare retrieve&storeFile message; +#X text 428 308 retrieve&store Message; +#X text 430 383 Return the lenght of the file in samples as an output; +#X text 431 22 To play an audio file we need to know the name of the file to retreieve it and the name of the array to store it; +#X text 430 343 retrieve&store Object; +#N canvas 4 23 845 476 ArrayNameGenerator 0; +#X obj 57 58 loadbang; +#X obj 57 88 f \$0; +#X text 128 55 as soon as an instance of playAudioFile is created \, this subpatch generates an individual random number \$0 that can be used to name the array; +#X text 128 105 every time you call up the playAudioFile abstraction \, a new number will be generated; +#X text 128 145 As a result \, each array in each playAudioFile abstractions will have a unique name.; +#X connect 0 0 1 0; +#X restore 825 143 pd ArrayNameGenerator; +#X text 818 109 subPtach to generate the Array Name; +#X connect 0 0 6 0; +#X connect 2 0 5 0; +#X connect 3 0 10 0; +#X connect 4 0 5 1; +#X connect 5 0 3 0; +#X connect 6 0 2 0; +#X connect 6 1 4 0; +#X connect 10 0 1 0; +#X restore 910 391 pd retrieve&StoreFileIntoAnArray; +#X text 792 510 object to read the file stored into the Array; +#X text 666 148 << This is where we store the audiofile; +#X text 666 167 << This is an array; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \$0-array 187513 float 2; +#X coords 0 -1 187513 1 200 140 2 0 0; +#X restore 442 112 graph; +#N canvas 669 389 450 300 fadeInFadeOut 0; +#X obj 111 43 inlet; +#X obj 126 188 outlet~; +#X obj 161 43 inlet; +#X text 94 22 FadeIn; +#X text 158 22 FadeOut; +#X obj 126 148 line~; +#X msg 161 88 0 50; +#X msg 111 88 1 0; +#X connect 0 0 7 0; +#X connect 2 0 6 0; +#X connect 5 0 1 0; +#X connect 6 0 5 0; +#X connect 7 0 5 0; +#X restore 231 512 pd fadeInFadeOut; +#X obj 387 682 *~; +#X text 701 286 input to receive pitch; +#X obj 231 449 t b b; +#N canvas 39 23 450 300 initializeVolume 0; +#X obj 21 29 loadbang; +#X obj 21 56 delay 1; +#X obj 21 112 outlet; +#X msg 21 80 0.25; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 3 0 2 0; +#X restore 521 430 pd initializeVolume; +#X text 58 511 fade to avoid audioClicks; +#N canvas 16 23 1264 755 playRetrig 0; +#X obj 627 50 inlet; +#X obj 280 49 inlet; +#X obj 627 590 outlet~; +#X text 590 623 Play instructions output; +#X floatatom 762 142 5 44100 192000 0 - - - 0; +#X text 678 123 SAMPLE RATE OF THE AUDIOFILE; +#N canvas 506 105 664 554 lenghtOfTheAudioFile 0; +#X obj 170 221 / 1000; +#X obj 149 248 / 44; +#X obj 129 295 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X floatatom 120 173 5 0 0 0 - - - 0; +#X obj 120 221 i; +#X obj 153 195 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X floatatom 120 361 5 0 0 0 - - - 0; +#X obj 170 119 inlet; +#X text 169 96 SAMPLE RATE OF THE SOUND; +#X obj 120 119 inlet; +#X text 56 95 LENGHT (samples); +#X text 79 423 LENGHT(samples); +#X text 54 27 This patch calculate the lenght of the auiod file in samples and ms, f 71; +#X obj 120 398 outlet; +#X text 234 423 LENGHT (freq); +#X obj 234 398 outlet; +#X obj 222 296 t b f; +#X text 185 263 ms; +#X obj 234 360 /; +#X msg 222 323 1000; +#X text 284 358 convert ms to freq; +#X connect 0 0 1 1; +#X connect 1 0 2 0; +#X connect 1 0 16 0; +#X connect 2 0 6 0; +#X connect 3 0 4 0; +#X connect 3 0 4 1; +#X connect 4 0 1 0; +#X connect 4 0 6 0; +#X connect 5 0 4 0; +#X connect 6 0 13 0; +#X connect 7 0 0 0; +#X connect 7 0 5 0; +#X connect 9 0 3 0; +#X connect 16 0 19 0; +#X connect 16 1 18 1; +#X connect 18 0 15 0; +#X connect 19 0 18 0; +#X restore 627 185 pd lenghtOfTheAudioFile; +#X text 627 23 AUDIOFILE LENGHT (samples); +#X obj 468 51 inlet; +#X text 465 23 PITCH Control Input; +#X text 631 206 samples; +#X obj 627 526 *~; +#X obj 762 460 phasor~; +#X text 257 24 RETRIG input; +#X msg 801 435 0; +#X obj 279 257 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 762 312 f; +#X obj 467 257 t b f; +#X obj 762 368 * 1; +#X text 768 210 freq (how fast the phasor should cycle to reproduce the sample at the correct speed); +#X text 819 459 this phasor cycle at a certain speed through the array where the audio file is stored; +#X text 791 313 the speed is stored in this object. So that can be recalculated later according to a scale factor; +#X text 791 366 here we can apply a scale factor to change the playback speed and (as a result) the pitch of the sound; +#X connect 0 0 6 0; +#X connect 1 0 15 0; +#X connect 4 0 6 1; +#X connect 6 0 11 0; +#X connect 6 1 16 0; +#X connect 8 0 17 0; +#X connect 11 0 2 0; +#X connect 12 0 11 1; +#X connect 14 0 12 1; +#X connect 15 0 14 0; +#X connect 16 0 18 0; +#X connect 17 0 16 0; +#X connect 17 1 18 1; +#X connect 18 0 12 0; +#X restore 666 464 pd playRetrig; +#X text 664 533 audio output; +#N canvas 801 121 450 300 scaleSliderBetween0&1 0; +#X obj 65 111 / 127; +#X obj 65 18 inlet; +#X obj 65 173 outlet; +#X text 141 44 avoid 0 value; +#X text 139 75 clip value to 127 (max slider value by default); +#X text 139 111 normalize between 0 and 1; +#X obj 65 77 clip 1 127; +#X text 139 141 add offset to change the pitch between (1 = default pitch and 2 = two times the initial pitch); +#X obj 65 49 * 127; +#X obj 65 140 + 0.5; +#X connect 0 0 9 0; +#X connect 1 0 8 0; +#X connect 6 0 0 0; +#X connect 8 0 6 0; +#X connect 9 0 2 0; +#X restore 703 391 pd scaleSliderBetween0&1; +#X obj 522 599 *~; +#X obj 738 364 snapshot~; +#X obj 693 316 inlet~; +#X obj 759 341 metro 20; +#X obj 759 318 loadbang; +#X connect 0 0 18 0; +#X connect 1 0 10 0; +#X connect 3 0 15 1; +#X connect 9 0 24 1; +#X connect 10 0 21 2; +#X connect 15 0 16 0; +#X connect 16 0 2 0; +#X connect 18 0 15 0; +#X connect 18 1 21 0; +#X connect 19 0 24 0; +#X connect 21 0 9 0; +#X connect 23 0 21 1; +#X connect 24 0 16 1; +#X connect 25 0 23 0; +#X connect 26 0 25 0; +#X connect 27 0 25 0; +#X connect 28 0 27 0; +#X coords 0 755 1 754 201 140 0; diff --git a/EXOBRAIN/ExoBrain_PD/sample~-help.pd b/EXOBRAIN/ExoBrain_PD/sample~-help.pd new file mode 100644 index 0000000..55d3b54 --- /dev/null +++ b/EXOBRAIN/ExoBrain_PD/sample~-help.pd @@ -0,0 +1,37 @@ +#N canvas 1245 173 508 360 12; +#X msg 181 65 samples/hello.wav; +#X obj 136 102 bng 15 250 50 0 empty empty empty 17 7 0 10 #c6ffc7 +#000000 #000000; +#X msg 202 41 samples/C4EP.wav; +#X obj 18 13 tgl 15 0 empty empty empty 17 7 0 10 #c6ffc7 #000000 #000000 +0 1; +#X obj 18 37 tempo 130 0.5; +#X obj 17 98 quant 0 2 4 7 9; +#X obj 17 68 rand 60 5 12 100; +#X floatatom 222 136 5 0 127 2 Speed\ (0.1-11.9\ &\ 12\ -\ 127) - - +0; +#X floatatom 250 173 5 0 1 2 Start\ Pos\ (0-1) - - 0; +#X floatatom 279 208 5 0 1 2 End\ Pos\ (0-1) - - 0; +#X obj 311 243 hsl 100 15 0 1 0 0 empty empty Scrub\\\ (0-1) -2 -8 +0 10 #fcfcfc #000000 #000000 0 1; +#X floatatom 164 233 5 0 127 2 Vel\ (0-127) - - 0; +#X text 264 134 Either 1 or 60 is normal speed; +#X text 81 8 load and playback a mono or stereo sample; +#X obj 136 264 sample~ samples/hello.wav; +#X obj 135 303 out~ 0.5; +#X msg 217 90 samples/Birds.wav; +#X connect 0 0 14 2; +#X connect 1 0 14 0; +#X connect 2 0 14 2; +#X connect 3 0 4 0; +#X connect 4 0 6 0; +#X connect 5 0 14 0; +#X connect 6 2 5 0; +#X connect 7 0 14 3; +#X connect 8 0 14 4; +#X connect 9 0 14 5; +#X connect 10 0 14 6; +#X connect 11 0 14 1; +#X connect 14 0 15 0; +#X connect 14 1 15 1; +#X connect 16 0 14 2; diff --git a/EXOBRAIN/ExoBrain_PD/sample~.pd b/EXOBRAIN/ExoBrain_PD/sample~.pd new file mode 100644 index 0000000..96d5f2b --- /dev/null +++ b/EXOBRAIN/ExoBrain_PD/sample~.pd @@ -0,0 +1,260 @@ +#N canvas 785 527 1030 771 12; +#X obj 254 160 soundfiler; +#X floatatom 284 203 8 0 0 2 \ Samples - - 0; +#X floatatom 301 315 8 0 0 2 \ Millis - - 0; +#X floatatom 375 225 5 0 0 2 samplerate - - 0; +#X obj 303 278 / 44.1; +#X obj 450 86 f \$0; +#X obj 373 14 array define \$0-sampleData; +#X obj 254 111 pack s f; +#X msg 266 40 samples/hello.wav; +#X obj 449 37 loadbang; +#X obj 375 246 * 0.001; +#X obj 254 16 inlet name; +#X obj 49 517 vline~; +#X floatatom 149 399 8 0 0 0 - - - 0; +#X obj 49 361 f; +#X msg 132 456 stop; +#X msg 177 480 \$1 100; +#X obj 149 428 / 1; +#X floatatom 184 428 5 0.5 2 0 - - - 0; +#X obj 242 379 hsl 50 15 0.1 2 0 0 empty empty Speed -2 -8 0 10 #fcfcc4 +#000000 #000000 0 1; +#X obj 687 15 inlet start%; +#X obj 687 118 *; +#X floatatom 687 92 5 0 1 1 0-1 - - 0; +#X floatatom 687 150 8 0 0 0 - - - 0; +#X obj 687 177 s \$0-start; +#X obj 79 281 r \$0-start; +#X floatatom 800 121 5 0 1 1 samples - - 0; +#X floatatom 800 186 8 0 0 0 - - - 0; +#X obj 799 17 inlet end%; +#X obj 800 213 s \$0-end; +#X obj 201 282 r \$0-end; +#X obj 82 413 r \$0-end; +#X obj 578 17 inlet speed; +#X floatatom 578 42 5 0 10 0 - - - 0; +#X obj 152 365 t b f; +#X obj 909 17 inlet scrub; +#X obj 909 108 *; +#X floatatom 909 81 5 0 1 1 0-1 - - 0; +#X floatatom 909 139 8 0 0 0 - - - 0; +#X obj 909 166 s \$0-scrub; +#X obj 177 455 r \$0-scrub; +#X obj 708 67 t b f; +#X obj 800 92 t b f; +#X obj 95 317 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 +#000000; +#X obj 85 338 expr (max($f1 \, $f2) - min($f1 \, $f2)) / $f3; +#X obj 49 688 outlet~; +#X obj 139 17 inlet velocity; +#X obj 139 70 / 127; +#X obj 139 44 clip 0 127; +#X obj 800 155 * 1; +#X obj 49 659 *~ 0.8; +#X obj 49 453 pack 0 f f; +#X floatatom 800 39 5 0 1 0 - - - 0; +#X msg 49 480 \$1 \, \$2 \$3; +#X obj 67 601 vline~; +#X obj 49 626 *~; +#X msg 79 574 0 3 \, 1 0 3; +#X obj 11 290 delay 3; +#N canvas 240 315 551 381 midi-p-shift 0; +#X obj 24 7 inlet midi-pitch; +#X msg 43 60 1 1.059 1.122 1.189 1.26 1.334 1.414 1.498 1.578 1.682 +1.782 1.888, f 68; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \$0-pitch-ratios 12 float 3; +#A 0 1 1.059 1.122 1.189 1.26 1.334 1.414 1.498 1.578 1.682 1.782 1.888 +; +#X coords 0 2 12 1 120 50 1 0 0; +#X restore 250 108 graph; +#X obj 43 87 array set \$0-pitch-ratios; +#X obj 42 33 loadbang; +#X obj 24 338 outlet playback-speed; +#X obj 71 189 array get \$0-pitch-ratios; +#X floatatom 72 219 5 0 0 0 - - - 0; +#X floatatom 24 231 5 0 0 0 - - - 0; +#X floatatom 24 307 5 0 0 0 - - - 0; +#X floatatom 24 158 5 0 127 0 - - - 0; +#X obj 24 181 / 12; +#X obj 24 205 int; +#X obj 24 256 - 2; +#X obj 24 281 expr (pow(2 \, $f1) / 8.0) * $f2; +#X obj 71 160 % 12; +#X obj 24 118 t f f; +#X connect 0 0 16 0; +#X connect 1 0 3 0; +#X connect 4 0 1 0; +#X connect 6 0 7 0; +#X connect 7 0 14 1; +#X connect 8 0 13 0; +#X connect 9 0 5 0; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 12 0 8 0; +#X connect 13 0 14 0; +#X connect 14 0 9 0; +#X connect 15 0 6 0; +#X connect 16 0 10 0; +#X connect 16 1 15 0; +#X restore 156 257 pd midi-p-shift; +#X obj 46 200 t b b f; +#X floatatom 46 167 5 0 0 0 - - - 0; +#X msg 64 103 60; +#X obj 64 76 loadbang; +#X obj 47 16 inlet pitch; +#X obj 578 111 moses 12; +#X obj 578 85 clip 0.1 127; +#X floatatom 581 203 5 0 0 0 - - - 0; +#X obj 46 135 f; +#X obj 103 226 moses 12; +#N canvas 870 113 175 171 parseName 0; +#X obj 40 42 symbol \$1; +#X obj 38 123 outlet; +#X obj 39 96 list trim; +#X obj 40 68 pack s; +#X obj 40 12 inlet; +#X connect 0 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X restore 282 72 pd parseName; +#X obj 450 61 t b b; +#X obj 137 98 pow 1.3; +#X obj 143 175 sel 0; +#X obj 555 532 delay 0; +#X obj 555 563 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc +#000000 #000000; +#X obj 555 690 outlet; +#X text 561 663 Bang at end; +#X obj 199 306 t b f; +#X obj 800 65 clip 0 1; +#X obj 687 43 clip 0 1; +#X obj 909 49 clip 0 1; +#X floatatom 191 210 5 0 127 0 - - - 0; +#X msg 254 137 read -resize \$1 \$2-sampleDataL \$2-sampleDataR; +#X obj 243 727 outlet~; +#X obj 243 664 *~ 0.8; +#X obj 243 639 *~; +#X obj 49 549 tabread4~ \$0-sampleDataL; +#X obj 243 547 tabread4~ \$0-sampleDataR; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \$0-sampleDataL 298924 float 2; +#X coords 0 1 298924 -1 200 140 1 0 0; +#X restore 474 289 graph; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \$0-sampleDataR 298924 float 2; +#X coords 0 1 298924 -1 200 140 1 0 0; +#X restore 711 290 graph; +#X obj 374 191 unpack f f f; +#X floatatom 455 218 5 0 0 0 - - - 0; +#X obj 155 691 *~ 0; +#X obj 454 245 expr if ($f1 == 1 \, 1 \, 0); +#X connect 0 0 1 0; +#X connect 0 0 4 0; +#X connect 0 1 90 0; +#X connect 1 0 41 0; +#X connect 1 0 36 1; +#X connect 1 0 26 0; +#X connect 2 0 13 0; +#X connect 3 0 10 0; +#X connect 4 0 2 0; +#X connect 5 0 7 1; +#X connect 7 0 82 0; +#X connect 8 0 7 0; +#X connect 9 0 70 0; +#X connect 10 0 4 1; +#X connect 10 0 44 2; +#X connect 11 0 7 0; +#X connect 12 0 86 0; +#X connect 12 0 87 0; +#X connect 13 0 17 0; +#X connect 14 0 51 0; +#X connect 15 0 12 0; +#X connect 16 0 12 0; +#X connect 17 0 51 2; +#X connect 17 0 73 1; +#X connect 18 0 17 1; +#X connect 19 0 34 0; +#X connect 20 0 79 0; +#X connect 21 0 23 0; +#X connect 22 0 21 0; +#X connect 23 0 24 0; +#X connect 25 0 14 1; +#X connect 25 0 44 0; +#X connect 26 0 49 0; +#X connect 27 0 29 0; +#X connect 28 0 52 0; +#X connect 30 0 77 0; +#X connect 31 0 51 1; +#X connect 32 0 33 0; +#X connect 33 0 65 0; +#X connect 34 0 13 0; +#X connect 34 1 18 0; +#X connect 35 0 80 0; +#X connect 36 0 38 0; +#X connect 37 0 36 0; +#X connect 38 0 39 0; +#X connect 40 0 16 0; +#X connect 41 0 22 0; +#X connect 41 1 21 1; +#X connect 42 0 26 0; +#X connect 42 1 49 1; +#X connect 43 0 44 0; +#X connect 44 0 13 0; +#X connect 46 0 48 0; +#X connect 47 0 71 0; +#X connect 48 0 47 0; +#X connect 48 0 72 0; +#X connect 49 0 27 0; +#X connect 50 0 45 0; +#X connect 50 0 92 0; +#X connect 51 0 53 0; +#X connect 52 0 78 0; +#X connect 53 0 12 0; +#X connect 54 0 55 1; +#X connect 54 0 85 1; +#X connect 55 0 50 0; +#X connect 56 0 54 0; +#X connect 57 0 14 0; +#X connect 58 0 34 0; +#X connect 59 0 57 0; +#X connect 59 0 73 0; +#X connect 59 1 56 0; +#X connect 59 2 68 0; +#X connect 60 0 59 0; +#X connect 61 0 67 1; +#X connect 62 0 61 0; +#X connect 63 0 67 0; +#X connect 64 0 34 0; +#X connect 64 0 66 0; +#X connect 64 1 58 0; +#X connect 65 0 64 0; +#X connect 65 0 67 1; +#X connect 67 0 60 0; +#X connect 68 0 34 0; +#X connect 68 1 58 0; +#X connect 69 0 7 0; +#X connect 70 0 69 0; +#X connect 70 1 5 0; +#X connect 71 0 50 1; +#X connect 72 0 15 0; +#X connect 73 0 74 0; +#X connect 74 0 75 0; +#X connect 77 0 43 0; +#X connect 77 1 44 1; +#X connect 78 0 42 0; +#X connect 79 0 22 0; +#X connect 80 0 37 0; +#X connect 81 0 58 0; +#X connect 82 0 0 0; +#X connect 84 0 83 0; +#X connect 85 0 84 0; +#X connect 86 0 55 0; +#X connect 87 0 85 0; +#X connect 90 0 3 0; +#X connect 90 2 91 0; +#X connect 91 0 93 0; +#X connect 92 0 83 0; +#X connect 93 0 92 1; diff --git a/EXOBRAIN/ExoBrain_PD/settings.json b/EXOBRAIN/ExoBrain_PD/settings.json new file mode 100644 index 0000000..d20a3b4 --- /dev/null +++ b/EXOBRAIN/ExoBrain_PD/settings.json @@ -0,0 +1,34 @@ +{ + "fileName": "_main.pd", + "CLArgs": { + "-p": "16", + "-C": "8", + "-B": "16", + "-N": "1", + "-G": "1", + "-M": "0", + "-H0,": "-6", + "-H1,": "-6", + "-H2,": "-6", + "-H3,": "-6", + "-H4,": "-6", + "-H5,": "-6", + "-H6,": "-6", + "-H7,": "-6", + "-I0,": "10", + "-I1,": "10", + "-I2,": "10", + "-I3,": "10", + "-I4,": "10", + "-I5,": "10", + "-I6,": "10", + "-I7,": "10", + "user": "", + "make": "", + "-X": "0", + "audioExpander": "0", + "-Y": "", + "-Z": "", + "--disable-led": "0" + } +} diff --git a/EXOBRAIN/ExoBrain_PD/sketch.js b/EXOBRAIN/ExoBrain_PD/sketch.js new file mode 100644 index 0000000..ffba3a9 --- /dev/null +++ b/EXOBRAIN/ExoBrain_PD/sketch.js @@ -0,0 +1,63 @@ +var guiSketch = new p5(( sketch ) => { + + let canvas_dimensions = [sketch.windowWidth, sketch.windowHeight]; + + let sensorNumber = 30; + + let chartTop = 100; + let chartBottom = canvas_dimensions[1]-chartTop; + let chartLeft = 100; + let chartRight = canvas_dimensions[0]-chartLeft; + + let dataRange = [0, 2.0]; + + let barWidth = (chartRight-chartLeft) / (sensorNumber*1.5); + + sketch.setup = function () { + sketch.createCanvas(canvas_dimensions[0], canvas_dimensions[1]); + } + + sketch.draw = function () { + sketch.background(255); + + sketch.noStroke(); + sketch.textSize(10); + + sensorNumber = 30; + barWidth = (chartRight-chartLeft) / (sensorNumber*1.5); + + + for (let i = 0; i < sensorNumber; i++) { + let x = sketch.map(i, 0, sensorNumber - 1, chartLeft, chartRight); + //let data = sketch.random(dataRange[0], dataRange[1]); + let data = Bela.data.buffers[0][i]; + let y = sketch.map(data, dataRange[0], dataRange[1], chartBottom, chartTop); + + sketch.strokeWeight(barWidth); + sketch.strokeCap(sketch.SQUARE); + sketch.stroke(0); + sketch.line(x, chartBottom, x, y); + + sketch.noStroke(); + sketch.textAlign(sketch.CENTER); + sketch.text(i, x, chartBottom + 15); + sketch.text(sketch.nf(data,0,3), x, chartBottom + 45); + } + + sketch.text("SENSOR:", chartLeft-barWidth*2, chartBottom + 15); + sketch.text("VALUE:", chartLeft-barWidth*2, chartBottom + 45); + } + + sketch.windowResized = function() { + if(sketch.windowWidth > 350 & sketch.windowHeight > 250) { + canvas_dimensions = [sketch.windowWidth, sketch.windowHeight] + sketch.resizeCanvas(canvas_dimensions[0], canvas_dimensions[1]); + + chartBottom = canvas_dimensions[1]-chartTop; + chartRight = canvas_dimensions[0]-chartLeft; + barWidth = (chartRight-chartLeft) / (sensorNumber*1.5); + } + } +}, 'gui'); + + diff --git a/EXOBRAIN/tags.md b/EXOBRAIN/tags.md new file mode 100644 index 0000000..6d8097e --- /dev/null +++ b/EXOBRAIN/tags.md @@ -0,0 +1,21 @@ +--- +tags: + - processing_technique: + - spool_knitting + conductive_material: + - "Shieldex HC 40 Yarn" + description: > + ExoBrain is a touch-sensitive textile interface that conveys the sensation of "brainrot" + from overconsumption of internet content. With the help of interactive internet meme sounds, + ExoBrain reflects the overload of digital stimuli and its impact on the mind. + + ExoBrain project includes: + - A cap as the main wearable element + - Bela Mini and Trill for responsive interaction + - Thick, conductive threads shaped like brain folds + + Using Bela and Pure Data, the project aims to use meme sounds with touch triggers + spatialized according to the touch position. +--- + +# Tags diff --git a/EchoesInTheWaves/EchoesInTheWaves_PD/_main.pd b/EchoesInTheWaves/EchoesInTheWaves_PD/_main.pd new file mode 100644 index 0000000..a5b801e --- /dev/null +++ b/EchoesInTheWaves/EchoesInTheWaves_PD/_main.pd @@ -0,0 +1,146 @@ +#N canvas 17 54 1440 847 10; +#X obj 297 720 playAudioFile~; +#X obj 297 470 change; +#X obj 196 158 loadbang; +#X obj 264 309 r bela_trill; +#X obj 61 235 s bela_setTrill; +#X text 372 336 We are working with Trill Craft; +#X text 372 310 This receives readings from the Trill sensor; +#X text 36 158 Initialise Trill sensor; +#X text 600 7 ............................; +#X text 600 17 . ____ ._____ _ .......___ .; +#X text 600 27 .| __ )| ____| |....../ _ |.; +#X text 600 47 .| |_) | |___| |___ / ___ |.; +#X text 600 57 .|____/|_____|_____/_/..._|.io; +#X text 600 67 ............................; +#X text 600 37 .| __ || __|.| |...../ _| |.; +#X text 30 28 Capacitive sensing with Trill Craft; +#X text 30 38 ====================================; +#X obj 196 237 s bela_setTrill; +#X text 361 207 [prescaler (; +#X text 365 228 value betwen 1 and 6; +#X text 361 185 Change sensitivity here; +#X obj 131 310 loadbang; +#X obj 131 331 metro 50; +#X msg 131 352 0; +#X obj 131 394 s bela_guiOut; +#X obj 131 373 list; +#X obj 196 179 t b b; +#X text 1102 46 Every the time the programme is restarted the baseline; +#X text 1101 65 reading of the sensor is reset.; +#X text 1102 86 This means if you are touching anything connected to the; +#X text 1102 106 sensor on start up this will be incorporated into the; +#X text 1102 126 baseline.; +#X obj 1122 709 dac~ 1 2; +#X text 30 58 This example is for capacitive sensing with Trill Craft.; +#X msg 61 208 new mycraft 1 CRAFT; +#X msg 196 209 prescaler mycraft 2; +#X obj 264 336 route mycraft; +#X text 30 78 Connect the sensor via I2C and open the GUI to see readings.; +#X text 30 108 https://learn.bela.io/tutorials/pure-data/sensors/capacitive-sensing/; +#X obj 1207 423 cnv 16 400 300 empty c1 prototyping 20 12 0 14 #ffc7c6 #000000 0; +#X obj 1234 477 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X text 1209 606 0; +#X text 1208 480 1; +#X text 1206 539 0.5; +#X obj 274 426 r a; +#X floatatom 1230 622 5 0 0 0 - - - 0; +#X text 1204 453 input 0; +#X text 1275 605 0; +#X text 1274 479 1; +#X text 1272 538 0.5; +#X obj 297 776 throw~ out; +#X obj 1122 679 catch~ out; +#X msg 351 695 0.5; +#X text 130 423 inlet for prototyping; +#X text 159 469 object outputs 1; +#X text 100 447 if the input surpasses 0.5; +#X text 142 514 adds on every count; +#X text 5 554 cuts out evreything above the second count; +#X text 179 597 output 0 or 1; +#X text 65 617 routes 1 / 0 to differnt outlets; +#X text 162 655 highpass filter; +#X text 58 636 1 starts playback of loop 0 stops; +#X text 42 678 multiplyer/amp to control the level; +#X text 101 704 sends output to catch~ out; +#X text 1215 667 play loop; +#X text 1216 699 note differnent playback mechanism for inputs 0 and 3; +#X text 916 680 recieves from the throw outputs; +#X text 1064 648 prototyping outlets; +#X text 9 577 object to check values in the pd console; +#X obj 297 615 route 1 0; +#X obj 297 752 *~ 1; +#X obj 351 657 loadbang; +#X obj 295 378 unpack f f f f f f f f f f f f f f f f f f f f f f f f f f f, f 133; +#X msg 411 699 glassonmetal.wav; +#X obj 1388 479 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X text 1363 608 0; +#X text 1362 482 1; +#X text 1360 541 0.5; +#X floatatom 1384 624 5 0 0 0 - - - 0; +#X text 1358 455 input 0; +#X text 1429 607 0; +#X text 1428 481 1; +#X text 1426 540 0.5; +#X obj 456 413 r b; +#X obj 1384 646 s b; +#X obj 1230 644 s a; +#X obj 542 720 playAudioFile~; +#X obj 514 470 change; +#X obj 542 776 throw~ out; +#X msg 596 695 0.5; +#X obj 542 615 route 1 0; +#X obj 542 752 *~ 1; +#X obj 596 657 loadbang; +#X text 1336 452 comment; +#X msg 656 699 bass.wav; +#X obj 322 519; +#X obj 348 561 print sound 1; +#X obj 558 528 print sound 2; +#X obj 306 450 > 0.1; +#X obj 404 445 > 0.1; +#X connect 0 0 70 0; +#X connect 1 0 69 0; +#X connect 1 0 96 0; +#X connect 2 0 26 0; +#X connect 3 0 36 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 25 0; +#X connect 25 0 24 0; +#X connect 26 0 35 0; +#X connect 26 1 34 0; +#X connect 34 0 4 0; +#X connect 35 0 17 0; +#X connect 36 0 25 1; +#X connect 36 0 72 0; +#X connect 40 0 45 0; +#X connect 44 0 98 0; +#X connect 45 0 85 0; +#X connect 51 0 32 0; +#X connect 51 0 32 1; +#X connect 52 0 0 2; +#X connect 69 0 0 0; +#X connect 69 1 0 1; +#X connect 70 0 50 0; +#X connect 71 0 52 0; +#X connect 71 0 73 0; +#X connect 72 2 98 0; +#X connect 72 5 99 0; +#X connect 73 0 0 3; +#X connect 74 0 78 0; +#X connect 78 0 84 0; +#X connect 83 0 99 0; +#X connect 86 0 91 0; +#X connect 87 0 90 0; +#X connect 87 0 97 0; +#X connect 89 0 86 2; +#X connect 90 0 86 0; +#X connect 90 1 86 1; +#X connect 91 0 88 0; +#X connect 92 0 89 0; +#X connect 92 0 94 0; +#X connect 94 0 86 3; +#X connect 95 0 96 0; +#X connect 98 0 1 0; +#X connect 99 0 87 0; diff --git a/EchoesInTheWaves/EchoesInTheWaves_PD/bass.wav b/EchoesInTheWaves/EchoesInTheWaves_PD/bass.wav new file mode 100644 index 0000000..664e0ce Binary files /dev/null and b/EchoesInTheWaves/EchoesInTheWaves_PD/bass.wav differ diff --git a/EchoesInTheWaves/EchoesInTheWaves_PD/echo~.pd b/EchoesInTheWaves/EchoesInTheWaves_PD/echo~.pd new file mode 100644 index 0000000..674578e --- /dev/null +++ b/EchoesInTheWaves/EchoesInTheWaves_PD/echo~.pd @@ -0,0 +1,98 @@ +#N canvas 540 818 782 341 12; +#X text 459 18 Delay Time; +#X text 556 19 Delay Level; +#X obj 465 41 inlet; +#X obj 572 46 inlet; +#X text 659 19 delay feedback; +#X obj 27 29 inlet~; +#X obj 662 42 inlet; +#X obj 41 273 *~ 0.1; +#X obj 117 275 *~ -0.25; +#X obj 27 306 outlet~; +#X obj 41 184 line~; +#X msg 41 158 \$1 100; +#X obj 550 236 * -1; +#X obj 661 139 t b b; +#X obj 661 189 sel 0; +#X floatatom 693 216 5 0 0 0 - - - 0; +#X obj 661 164 f \$3; +#X obj 572 74 loadbang; +#X obj 572 98 t b b; +#X obj 572 148 sel 0; +#X floatatom 604 175 5 0 0 0 - - - 0; +#X obj 572 123 f \$2; +#X obj 80 239 clip 0 1; +#X obj 465 118 t b b; +#X obj 465 168 sel 0; +#X floatatom 497 195 5 0 0 0 - - - 0; +#X obj 465 143 f \$1; +#X msg 512 163 250; +#X obj 41 130 clip 0 2000; +#X obj 551 212 clip 0 0.95; +#X text 37 6 audio in left; +#X obj 231 30 inlet~; +#X obj 243 274 *~ 0.1; +#X obj 319 276 *~ -0.25; +#X obj 232 307 outlet~; +#X obj 243 185 line~; +#X msg 243 159 \$1 100; +#X obj 282 240 clip 0 1; +#X obj 243 131 clip 0 2000; +#X text 239 7 audio in right; +#X obj 61 91 delwrite~ \$0-bufferL 2000; +#X obj 41 210 vd~ \$0-bufferL 250; +#X obj 256 81 delwrite~ \$0-bufferR 2000; +#X obj 243 211 vd~ \$0-bufferR 250; +#X msg 619 143 0.3; +#X msg 708 184 0.35; +#X connect 2 0 28 0; +#X connect 2 0 38 0; +#X connect 3 0 22 0; +#X connect 3 0 37 0; +#X connect 5 0 9 0; +#X connect 5 0 40 0; +#X connect 6 0 29 0; +#X connect 7 0 9 0; +#X connect 8 0 40 0; +#X connect 10 0 41 0; +#X connect 11 0 10 0; +#X connect 12 0 8 1; +#X connect 12 0 33 1; +#X connect 13 0 16 0; +#X connect 13 1 45 0; +#X connect 14 1 15 0; +#X connect 15 0 29 0; +#X connect 16 0 14 0; +#X connect 17 0 18 0; +#X connect 17 0 23 0; +#X connect 17 0 13 0; +#X connect 18 0 21 0; +#X connect 18 1 44 0; +#X connect 19 1 20 0; +#X connect 20 0 22 0; +#X connect 20 0 37 0; +#X connect 21 0 19 0; +#X connect 22 0 7 1; +#X connect 23 0 26 0; +#X connect 23 1 27 0; +#X connect 24 1 25 0; +#X connect 25 0 28 0; +#X connect 25 0 38 0; +#X connect 26 0 24 0; +#X connect 27 0 25 0; +#X connect 28 0 11 0; +#X connect 29 0 12 0; +#X connect 31 0 34 0; +#X connect 31 0 42 0; +#X connect 32 0 34 0; +#X connect 33 0 42 0; +#X connect 35 0 43 0; +#X connect 36 0 35 0; +#X connect 37 0 32 1; +#X connect 38 0 36 0; +#X connect 41 0 8 0; +#X connect 41 0 7 0; +#X connect 43 0 33 0; +#X connect 43 0 32 0; +#X connect 44 0 20 0; +#X connect 45 0 15 0; diff --git a/EchoesInTheWaves/EchoesInTheWaves_PD/fade_in-out.pd b/EchoesInTheWaves/EchoesInTheWaves_PD/fade_in-out.pd new file mode 100644 index 0000000..3030fe1 --- /dev/null +++ b/EchoesInTheWaves/EchoesInTheWaves_PD/fade_in-out.pd @@ -0,0 +1,24 @@ +#N canvas 239 145 835 545 12; +#X obj 427 289 dac~; +#X obj 433 182 playaudiofile~; +#X msg 326 106 1; +#X msg 377 106 0; +#X obj 429 249 *~; +#X msg 564 152 loop1.wav; +#X obj 566 117 loadbang; +#X msg 498 103 0.5; +#X obj 342 197 line~; +#X msg 327 156 1 500; +#X msg 377 156 0 500; +#X connect 1 0 4 0; +#X connect 2 0 1 0; +#X connect 2 0 9 0; +#X connect 3 0 10 0; +#X connect 4 0 0 0; +#X connect 4 0 0 1; +#X connect 5 0 1 3; +#X connect 6 0 5 0; +#X connect 7 0 1 2; +#X connect 8 0 4 1; +#X connect 9 0 8 0; +#X connect 10 0 8 0; diff --git a/EchoesInTheWaves/EchoesInTheWaves_PD/glassonmetal.wav b/EchoesInTheWaves/EchoesInTheWaves_PD/glassonmetal.wav new file mode 100644 index 0000000..985de33 Binary files /dev/null and b/EchoesInTheWaves/EchoesInTheWaves_PD/glassonmetal.wav differ diff --git a/EchoesInTheWaves/EchoesInTheWaves_PD/lfos.pd b/EchoesInTheWaves/EchoesInTheWaves_PD/lfos.pd new file mode 100644 index 0000000..3c6cb00 --- /dev/null +++ b/EchoesInTheWaves/EchoesInTheWaves_PD/lfos.pd @@ -0,0 +1,48 @@ +#N canvas 0 25 681 387 12; +#X obj 154 86 osc~; +#X obj 157 55 hsl 162 19 0.1 20 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X floatatom 154 143 5 0 0 0 - - - 0; +#X floatatom 154 192 5 0 0 0 - - - 0; +#X obj 154 168 expr $f1 / 2 + 0.5; +#X obj 154 114 snapshot~; +#N canvas 0 22 450 278 (subpatch) 0; +#X array array1 100 float 1; +#A 0 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.998475 0.999929 0.999462 0.99698 0.992627 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506 0.654506; +#X coords 0 1 99 0 200 140 1 0 0; +#X restore 454 166 graph; +#X obj 179 226 tabwrite array1; +#X floatatom 346 179 5 0 0 0 - - - 0; +#X obj 346 154 f; +#X obj 382 154 + 1; +#X floatatom 346 229 5 0 0 0 - - - 0; +#X obj 346 204 % 127; +#X obj 154 5 inlet speed; +#X obj 249 5 inlet reset; +#X msg 249 31 0; +#X obj 149 262 outlet; +#X obj 332 77 loadbang; +#X text 26 6 speed = 0.2 - 20; +#X obj 255 101 metro 50; +#X msg 373 38 0.2; +#X obj 373 12 loadbang; +#X connect 0 0 5 0; +#X connect 1 0 0 0; +#X connect 2 0 4 0; +#X connect 3 0 7 0; +#X connect 3 0 16 0; +#X connect 4 0 3 0; +#X connect 5 0 2 0; +#X connect 8 0 12 0; +#X connect 9 0 8 0; +#X connect 9 0 10 0; +#X connect 10 0 9 1; +#X connect 11 0 7 1; +#X connect 12 0 11 0; +#X connect 13 0 1 0; +#X connect 14 0 15 0; +#X connect 15 0 0 1; +#X connect 17 0 19 0; +#X connect 19 0 5 0; +#X connect 19 0 9 0; +#X connect 20 0 1 0; +#X connect 21 0 20 0; diff --git a/EchoesInTheWaves/EchoesInTheWaves_PD/loop1.wav b/EchoesInTheWaves/EchoesInTheWaves_PD/loop1.wav new file mode 100644 index 0000000..9a88989 Binary files /dev/null and b/EchoesInTheWaves/EchoesInTheWaves_PD/loop1.wav differ diff --git a/EchoesInTheWaves/EchoesInTheWaves_PD/map.pd b/EchoesInTheWaves/EchoesInTheWaves_PD/map.pd new file mode 100644 index 0000000..184132f --- /dev/null +++ b/EchoesInTheWaves/EchoesInTheWaves_PD/map.pd @@ -0,0 +1,46 @@ +#N canvas 56 241 511 247 12; +#X text 139 12 Y = (X-A)/(B-A) * (D-C) + C; +#X obj 97 170 expr ($f1-$f2)/($f3-$f2)*($f5-$f4)+$f4; +#X obj 12 41 inlet input; +#X obj 99 42 inlet in-min; +#X obj 196 44 inlet in-max; +#X obj 288 44 inlet out-min; +#X obj 388 44 inlet out-max; +#X obj 97 202 outlet; +#X floatatom 118 117 5 0 0 0 - - - 0; +#X obj 124 92 f \$1; +#X obj 390 155 loadbang; +#X obj 124 68 r \$0-lb; +#X floatatom 203 119 5 0 0 0 - - - 0; +#X obj 209 70 r \$0-lb; +#X obj 209 94 f \$2; +#X floatatom 293 122 5 0 0 0 - - - 0; +#X obj 299 73 r \$0-lb; +#X obj 299 97 f \$3; +#X floatatom 388 121 5 0 0 0 - - - 0; +#X obj 394 72 r \$0-lb; +#X obj 394 96 f \$4; +#X obj 390 182 s \$0-lb; +#X obj 23 125 clip 0 127; +#X connect 1 0 7 0; +#X connect 2 0 22 0; +#X connect 3 0 8 0; +#X connect 4 0 12 0; +#X connect 5 0 15 0; +#X connect 6 0 18 0; +#X connect 8 0 1 1; +#X connect 9 0 8 0; +#X connect 9 0 22 1; +#X connect 10 0 21 0; +#X connect 11 0 9 0; +#X connect 12 0 1 2; +#X connect 13 0 14 0; +#X connect 14 0 12 0; +#X connect 14 0 22 2; +#X connect 15 0 1 3; +#X connect 16 0 17 0; +#X connect 17 0 15 0; +#X connect 18 0 1 4; +#X connect 19 0 20 0; +#X connect 20 0 18 0; +#X connect 22 0 1 0; diff --git a/EchoesInTheWaves/EchoesInTheWaves_PD/noise_fader.pd b/EchoesInTheWaves/EchoesInTheWaves_PD/noise_fader.pd new file mode 100644 index 0000000..c820ca4 --- /dev/null +++ b/EchoesInTheWaves/EchoesInTheWaves_PD/noise_fader.pd @@ -0,0 +1,35 @@ +#N canvas 239 145 835 545 12; +#X obj 294 146 noise~; +#X obj 289 244 *~; +#X obj 360 341 dac~; +#X obj 433 182 playaudiofile~; +#X msg 432 145 1; +#X msg 469 140 0; +#X obj 371 52 vsl 19 162 0 1 0 0 empty empty empty 0 -9 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 429 249 *~; +#X obj 487 223 map 0 1 1 0; +#X floatatom 469 249 5 0 0 0 - - - 0; +#X floatatom 334 243 5 0 0 0 - - - 0; +#X msg 564 152 loop1.wav; +#X obj 566 117 loadbang; +#X msg 491 105 0.5; +#X obj 292 176 lop~ 800; +#X obj 293 205 *~ 0.3; +#X connect 0 0 14 0; +#X connect 1 0 2 0; +#X connect 1 0 2 1; +#X connect 3 0 7 0; +#X connect 4 0 3 0; +#X connect 5 0 3 1; +#X connect 6 0 8 0; +#X connect 6 0 1 1; +#X connect 6 0 10 0; +#X connect 7 0 2 0; +#X connect 7 0 2 1; +#X connect 8 0 9 0; +#X connect 9 0 7 1; +#X connect 11 0 3 3; +#X connect 12 0 11 0; +#X connect 13 0 3 2; +#X connect 14 0 15 0; +#X connect 15 0 1 0; diff --git a/EchoesInTheWaves/EchoesInTheWaves_PD/pitchlfo.pd b/EchoesInTheWaves/EchoesInTheWaves_PD/pitchlfo.pd new file mode 100644 index 0000000..ce14dbf --- /dev/null +++ b/EchoesInTheWaves/EchoesInTheWaves_PD/pitchlfo.pd @@ -0,0 +1,23 @@ +#N canvas 63 88 916 440 12; +#X obj 433 182 playaudiofile~; +#X msg 432 145 1; +#X msg 469 140 0; +#X msg 564 152 loop1.wav; +#X obj 566 117 loadbang; +#X obj 436 266 dac~; +#X obj 321 51 lfos; +#X obj 254 32 vsl 19 162 0.2 20 0 0 empty empty empty 0 -9 0 12 #fcfcfc #000000 #000000 0 1; +#X floatatom 253 202 5 0 0 0 - - - 0; +#X floatatom 322 104 5 0 0 0 - - - 0; +#X obj 322 80 map 0 1 0.5 0.2; +#X connect 0 0 5 0; +#X connect 0 0 5 1; +#X connect 1 0 0 0; +#X connect 2 0 0 1; +#X connect 3 0 0 3; +#X connect 4 0 3 0; +#X connect 6 0 10 0; +#X connect 7 0 6 0; +#X connect 7 0 8 0; +#X connect 9 0 0 2; +#X connect 10 0 9 0; diff --git a/EchoesInTheWaves/EchoesInTheWaves_PD/playAudioFile~.pd b/EchoesInTheWaves/EchoesInTheWaves_PD/playAudioFile~.pd new file mode 100644 index 0000000..d85bc2f --- /dev/null +++ b/EchoesInTheWaves/EchoesInTheWaves_PD/playAudioFile~.pd @@ -0,0 +1,201 @@ +#N canvas 39 25 1241 755 10; +#X obj 231 321 inlet; +#X obj 910 319 inlet; +#X obj 387 724 outlet~; +#X obj 323 321 inlet; +#X text 130 289 input to receive play; +#X text 364 19 This patch prepares and exectue the reading of an audio file; +#X text 306 288 input to receive stop; +#X text 395 47 Play and retrig are executed until a stop message; +#X text 907 287 input to receive the file Name; +#X obj 666 511 tabread~ \$0-array; +#N canvas 56 25 1224 755 retrieve&StoreFileIntoAnArray 0; +#X obj 251 139 inlet; +#X obj 251 379 outlet; +#X obj 251 214 symbol; +#X msg 251 308 read -resize \$1 \$2; +#X obj 307 214 symbol \$0-array; +#X obj 251 252 pack s s; +#X obj 251 181 t a b; +#X text 249 108 input to receive the name of the file; +#X text 8 212 convert the fileName into a symbol; +#X text 429 211 name of the array (see arrayNameGenerator subpatch); +#X obj 251 344 soundfiler; +#X text 428 248 prepare retrieve&storeFile message; +#X text 428 308 retrieve&store Message; +#X text 430 383 Return the lenght of the file in samples as an output; +#X text 431 22 To play an audio file we need to know the name of the file to retreieve it and the name of the array to store it; +#X text 430 343 retrieve&store Object; +#N canvas 4 23 845 476 ArrayNameGenerator 0; +#X obj 57 58 loadbang; +#X obj 57 88 f \$0; +#X text 128 55 as soon as an instance of playAudioFile is created \, this subpatch generates an individual random number \$0 that can be used to name the array; +#X text 128 105 every time you call up the playAudioFile abstraction \, a new number will be generated; +#X text 128 145 As a result \, each array in each playAudioFile abstractions will have a unique name.; +#X connect 0 0 1 0; +#X restore 825 143 pd ArrayNameGenerator; +#X text 818 109 subPtach to generate the Array Name; +#X connect 0 0 6 0; +#X connect 2 0 5 0; +#X connect 3 0 10 0; +#X connect 4 0 5 1; +#X connect 5 0 3 0; +#X connect 6 0 2 0; +#X connect 6 1 4 0; +#X connect 10 0 1 0; +#X restore 910 391 pd retrieve&StoreFileIntoAnArray; +#X text 792 510 object to read the file stored into the Array; +#X text 666 148 << This is where we store the audiofile; +#X text 666 167 << This is an array; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \$0-array 84648 float 2; +#X coords 0 -1 84648 1 200 140 2 0 0; +#X restore 442 112 graph; +#N canvas 669 389 450 300 fadeInFadeOut 0; +#X obj 111 43 inlet; +#X obj 126 188 outlet~; +#X obj 161 43 inlet; +#X text 94 22 FadeIn; +#X text 158 22 FadeOut; +#X obj 126 148 line~; +#X msg 111 88 1 0; +#X msg 161 88 0 500; +#X connect 0 0 6 0; +#X connect 2 0 7 0; +#X connect 5 0 1 0; +#X connect 6 0 5 0; +#X connect 7 0 5 0; +#X restore 231 512 pd fadeInFadeOut; +#X obj 387 682 *~; +#X text 701 286 input to receive pitch; +#X obj 231 449 t b b; +#N canvas 39 23 450 300 initializeVolume 0; +#X obj 21 29 loadbang; +#X obj 21 56 delay 1; +#X obj 21 112 outlet; +#X msg 21 80 0.25; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 3 0 2 0; +#X restore 521 430 pd initializeVolume; +#X text 58 511 fade to avoid audioClicks; +#N canvas 16 23 1264 755 playRetrig 0; +#X obj 627 50 inlet; +#X obj 280 49 inlet; +#X obj 627 590 outlet~; +#X text 590 623 Play instructions output; +#X floatatom 762 142 5 44100 192000 0 - - - 0; +#X text 678 123 SAMPLE RATE OF THE AUDIOFILE; +#N canvas 506 105 664 554 lenghtOfTheAudioFile 0; +#X obj 170 221 / 1000; +#X obj 149 248 / 44; +#X obj 129 295 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X floatatom 120 173 5 0 0 0 - - - 0; +#X obj 120 221 i; +#X obj 153 195 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X floatatom 120 361 5 0 0 0 - - - 0; +#X obj 170 119 inlet; +#X text 169 96 SAMPLE RATE OF THE SOUND; +#X obj 120 119 inlet; +#X text 56 95 LENGHT (samples); +#X text 79 423 LENGHT(samples); +#X text 54 27 This patch calculate the lenght of the auiod file in samples and ms, f 71; +#X obj 120 398 outlet; +#X text 234 423 LENGHT (freq); +#X obj 234 398 outlet; +#X obj 222 296 t b f; +#X text 185 263 ms; +#X obj 234 360 /; +#X msg 222 323 1000; +#X text 284 358 convert ms to freq; +#X connect 0 0 1 1; +#X connect 1 0 2 0; +#X connect 1 0 16 0; +#X connect 2 0 6 0; +#X connect 3 0 4 0; +#X connect 3 0 4 1; +#X connect 4 0 1 0; +#X connect 4 0 6 0; +#X connect 5 0 4 0; +#X connect 6 0 13 0; +#X connect 7 0 0 0; +#X connect 7 0 5 0; +#X connect 9 0 3 0; +#X connect 16 0 19 0; +#X connect 16 1 18 1; +#X connect 18 0 15 0; +#X connect 19 0 18 0; +#X restore 627 185 pd lenghtOfTheAudioFile; +#X text 627 23 AUDIOFILE LENGHT (samples); +#X obj 468 51 inlet; +#X text 465 23 PITCH Control Input; +#X text 631 206 samples; +#X obj 627 526 *~; +#X obj 762 460 phasor~; +#X text 257 24 RETRIG input; +#X msg 801 435 0; +#X obj 279 257 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 762 312 f; +#X obj 467 257 t b f; +#X obj 762 368 * 1; +#X text 768 210 freq (how fast the phasor should cycle to reproduce the sample at the correct speed); +#X text 819 459 this phasor cycle at a certain speed through the array where the audio file is stored; +#X text 791 313 the speed is stored in this object. So that can be recalculated later according to a scale factor; +#X text 791 366 here we can apply a scale factor to change the playback speed and (as a result) the pitch of the sound; +#X connect 0 0 6 0; +#X connect 1 0 15 0; +#X connect 4 0 6 1; +#X connect 6 0 11 0; +#X connect 6 1 16 0; +#X connect 8 0 17 0; +#X connect 11 0 2 0; +#X connect 12 0 11 1; +#X connect 14 0 12 1; +#X connect 15 0 14 0; +#X connect 16 0 18 0; +#X connect 17 0 16 0; +#X connect 17 1 18 1; +#X connect 18 0 12 0; +#X restore 666 464 pd playRetrig; +#X text 664 533 audio output; +#N canvas 801 121 450 300 scaleSliderBetween0&1 0; +#X obj 65 111 / 127; +#X obj 65 18 inlet; +#X obj 65 173 outlet; +#X text 141 44 avoid 0 value; +#X text 139 75 clip value to 127 (max slider value by default); +#X text 139 111 normalize between 0 and 1; +#X obj 65 77 clip 1 127; +#X text 139 141 add offset to change the pitch between (1 = default pitch and 2 = two times the initial pitch); +#X obj 65 49 * 127; +#X obj 65 140 + 0.5; +#X connect 0 0 9 0; +#X connect 1 0 8 0; +#X connect 6 0 0 0; +#X connect 8 0 6 0; +#X connect 9 0 2 0; +#X restore 703 391 pd scaleSliderBetween0&1; +#X obj 522 599 *~; +#X obj 738 364 snapshot~; +#X obj 693 316 inlet~; +#X obj 759 341 metro 20; +#X obj 759 318 loadbang; +#X obj 353 480 loadbang; +#X connect 0 0 18 0; +#X connect 1 0 10 0; +#X connect 3 0 15 1; +#X connect 9 0 24 1; +#X connect 10 0 21 2; +#X connect 15 0 16 0; +#X connect 16 0 2 0; +#X connect 18 0 15 0; +#X connect 18 1 21 0; +#X connect 19 0 24 0; +#X connect 21 0 9 0; +#X connect 23 0 21 1; +#X connect 24 0 16 1; +#X connect 25 0 23 0; +#X connect 26 0 25 0; +#X connect 27 0 25 0; +#X connect 28 0 27 0; +#X coords 0 755 1 754 201 140 0; diff --git a/EchoesInTheWaves/EchoesInTheWaves_PD/rhodes.wav b/EchoesInTheWaves/EchoesInTheWaves_PD/rhodes.wav new file mode 100644 index 0000000..921600c Binary files /dev/null and b/EchoesInTheWaves/EchoesInTheWaves_PD/rhodes.wav differ diff --git a/EchoesInTheWaves/EchoesInTheWaves_PD/sample1.wav b/EchoesInTheWaves/EchoesInTheWaves_PD/sample1.wav new file mode 100644 index 0000000..31d6993 Binary files /dev/null and b/EchoesInTheWaves/EchoesInTheWaves_PD/sample1.wav differ diff --git a/EchoesInTheWaves/EchoesInTheWaves_PD/sample~-help.pd b/EchoesInTheWaves/EchoesInTheWaves_PD/sample~-help.pd new file mode 100644 index 0000000..55d3b54 --- /dev/null +++ b/EchoesInTheWaves/EchoesInTheWaves_PD/sample~-help.pd @@ -0,0 +1,37 @@ +#N canvas 1245 173 508 360 12; +#X msg 181 65 samples/hello.wav; +#X obj 136 102 bng 15 250 50 0 empty empty empty 17 7 0 10 #c6ffc7 +#000000 #000000; +#X msg 202 41 samples/C4EP.wav; +#X obj 18 13 tgl 15 0 empty empty empty 17 7 0 10 #c6ffc7 #000000 #000000 +0 1; +#X obj 18 37 tempo 130 0.5; +#X obj 17 98 quant 0 2 4 7 9; +#X obj 17 68 rand 60 5 12 100; +#X floatatom 222 136 5 0 127 2 Speed\ (0.1-11.9\ &\ 12\ -\ 127) - - +0; +#X floatatom 250 173 5 0 1 2 Start\ Pos\ (0-1) - - 0; +#X floatatom 279 208 5 0 1 2 End\ Pos\ (0-1) - - 0; +#X obj 311 243 hsl 100 15 0 1 0 0 empty empty Scrub\\\ (0-1) -2 -8 +0 10 #fcfcfc #000000 #000000 0 1; +#X floatatom 164 233 5 0 127 2 Vel\ (0-127) - - 0; +#X text 264 134 Either 1 or 60 is normal speed; +#X text 81 8 load and playback a mono or stereo sample; +#X obj 136 264 sample~ samples/hello.wav; +#X obj 135 303 out~ 0.5; +#X msg 217 90 samples/Birds.wav; +#X connect 0 0 14 2; +#X connect 1 0 14 0; +#X connect 2 0 14 2; +#X connect 3 0 4 0; +#X connect 4 0 6 0; +#X connect 5 0 14 0; +#X connect 6 2 5 0; +#X connect 7 0 14 3; +#X connect 8 0 14 4; +#X connect 9 0 14 5; +#X connect 10 0 14 6; +#X connect 11 0 14 1; +#X connect 14 0 15 0; +#X connect 14 1 15 1; +#X connect 16 0 14 2; diff --git a/EchoesInTheWaves/EchoesInTheWaves_PD/sample~.pd b/EchoesInTheWaves/EchoesInTheWaves_PD/sample~.pd new file mode 100644 index 0000000..96d5f2b --- /dev/null +++ b/EchoesInTheWaves/EchoesInTheWaves_PD/sample~.pd @@ -0,0 +1,260 @@ +#N canvas 785 527 1030 771 12; +#X obj 254 160 soundfiler; +#X floatatom 284 203 8 0 0 2 \ Samples - - 0; +#X floatatom 301 315 8 0 0 2 \ Millis - - 0; +#X floatatom 375 225 5 0 0 2 samplerate - - 0; +#X obj 303 278 / 44.1; +#X obj 450 86 f \$0; +#X obj 373 14 array define \$0-sampleData; +#X obj 254 111 pack s f; +#X msg 266 40 samples/hello.wav; +#X obj 449 37 loadbang; +#X obj 375 246 * 0.001; +#X obj 254 16 inlet name; +#X obj 49 517 vline~; +#X floatatom 149 399 8 0 0 0 - - - 0; +#X obj 49 361 f; +#X msg 132 456 stop; +#X msg 177 480 \$1 100; +#X obj 149 428 / 1; +#X floatatom 184 428 5 0.5 2 0 - - - 0; +#X obj 242 379 hsl 50 15 0.1 2 0 0 empty empty Speed -2 -8 0 10 #fcfcc4 +#000000 #000000 0 1; +#X obj 687 15 inlet start%; +#X obj 687 118 *; +#X floatatom 687 92 5 0 1 1 0-1 - - 0; +#X floatatom 687 150 8 0 0 0 - - - 0; +#X obj 687 177 s \$0-start; +#X obj 79 281 r \$0-start; +#X floatatom 800 121 5 0 1 1 samples - - 0; +#X floatatom 800 186 8 0 0 0 - - - 0; +#X obj 799 17 inlet end%; +#X obj 800 213 s \$0-end; +#X obj 201 282 r \$0-end; +#X obj 82 413 r \$0-end; +#X obj 578 17 inlet speed; +#X floatatom 578 42 5 0 10 0 - - - 0; +#X obj 152 365 t b f; +#X obj 909 17 inlet scrub; +#X obj 909 108 *; +#X floatatom 909 81 5 0 1 1 0-1 - - 0; +#X floatatom 909 139 8 0 0 0 - - - 0; +#X obj 909 166 s \$0-scrub; +#X obj 177 455 r \$0-scrub; +#X obj 708 67 t b f; +#X obj 800 92 t b f; +#X obj 95 317 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 +#000000; +#X obj 85 338 expr (max($f1 \, $f2) - min($f1 \, $f2)) / $f3; +#X obj 49 688 outlet~; +#X obj 139 17 inlet velocity; +#X obj 139 70 / 127; +#X obj 139 44 clip 0 127; +#X obj 800 155 * 1; +#X obj 49 659 *~ 0.8; +#X obj 49 453 pack 0 f f; +#X floatatom 800 39 5 0 1 0 - - - 0; +#X msg 49 480 \$1 \, \$2 \$3; +#X obj 67 601 vline~; +#X obj 49 626 *~; +#X msg 79 574 0 3 \, 1 0 3; +#X obj 11 290 delay 3; +#N canvas 240 315 551 381 midi-p-shift 0; +#X obj 24 7 inlet midi-pitch; +#X msg 43 60 1 1.059 1.122 1.189 1.26 1.334 1.414 1.498 1.578 1.682 +1.782 1.888, f 68; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \$0-pitch-ratios 12 float 3; +#A 0 1 1.059 1.122 1.189 1.26 1.334 1.414 1.498 1.578 1.682 1.782 1.888 +; +#X coords 0 2 12 1 120 50 1 0 0; +#X restore 250 108 graph; +#X obj 43 87 array set \$0-pitch-ratios; +#X obj 42 33 loadbang; +#X obj 24 338 outlet playback-speed; +#X obj 71 189 array get \$0-pitch-ratios; +#X floatatom 72 219 5 0 0 0 - - - 0; +#X floatatom 24 231 5 0 0 0 - - - 0; +#X floatatom 24 307 5 0 0 0 - - - 0; +#X floatatom 24 158 5 0 127 0 - - - 0; +#X obj 24 181 / 12; +#X obj 24 205 int; +#X obj 24 256 - 2; +#X obj 24 281 expr (pow(2 \, $f1) / 8.0) * $f2; +#X obj 71 160 % 12; +#X obj 24 118 t f f; +#X connect 0 0 16 0; +#X connect 1 0 3 0; +#X connect 4 0 1 0; +#X connect 6 0 7 0; +#X connect 7 0 14 1; +#X connect 8 0 13 0; +#X connect 9 0 5 0; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 12 0 8 0; +#X connect 13 0 14 0; +#X connect 14 0 9 0; +#X connect 15 0 6 0; +#X connect 16 0 10 0; +#X connect 16 1 15 0; +#X restore 156 257 pd midi-p-shift; +#X obj 46 200 t b b f; +#X floatatom 46 167 5 0 0 0 - - - 0; +#X msg 64 103 60; +#X obj 64 76 loadbang; +#X obj 47 16 inlet pitch; +#X obj 578 111 moses 12; +#X obj 578 85 clip 0.1 127; +#X floatatom 581 203 5 0 0 0 - - - 0; +#X obj 46 135 f; +#X obj 103 226 moses 12; +#N canvas 870 113 175 171 parseName 0; +#X obj 40 42 symbol \$1; +#X obj 38 123 outlet; +#X obj 39 96 list trim; +#X obj 40 68 pack s; +#X obj 40 12 inlet; +#X connect 0 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X restore 282 72 pd parseName; +#X obj 450 61 t b b; +#X obj 137 98 pow 1.3; +#X obj 143 175 sel 0; +#X obj 555 532 delay 0; +#X obj 555 563 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc +#000000 #000000; +#X obj 555 690 outlet; +#X text 561 663 Bang at end; +#X obj 199 306 t b f; +#X obj 800 65 clip 0 1; +#X obj 687 43 clip 0 1; +#X obj 909 49 clip 0 1; +#X floatatom 191 210 5 0 127 0 - - - 0; +#X msg 254 137 read -resize \$1 \$2-sampleDataL \$2-sampleDataR; +#X obj 243 727 outlet~; +#X obj 243 664 *~ 0.8; +#X obj 243 639 *~; +#X obj 49 549 tabread4~ \$0-sampleDataL; +#X obj 243 547 tabread4~ \$0-sampleDataR; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \$0-sampleDataL 298924 float 2; +#X coords 0 1 298924 -1 200 140 1 0 0; +#X restore 474 289 graph; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \$0-sampleDataR 298924 float 2; +#X coords 0 1 298924 -1 200 140 1 0 0; +#X restore 711 290 graph; +#X obj 374 191 unpack f f f; +#X floatatom 455 218 5 0 0 0 - - - 0; +#X obj 155 691 *~ 0; +#X obj 454 245 expr if ($f1 == 1 \, 1 \, 0); +#X connect 0 0 1 0; +#X connect 0 0 4 0; +#X connect 0 1 90 0; +#X connect 1 0 41 0; +#X connect 1 0 36 1; +#X connect 1 0 26 0; +#X connect 2 0 13 0; +#X connect 3 0 10 0; +#X connect 4 0 2 0; +#X connect 5 0 7 1; +#X connect 7 0 82 0; +#X connect 8 0 7 0; +#X connect 9 0 70 0; +#X connect 10 0 4 1; +#X connect 10 0 44 2; +#X connect 11 0 7 0; +#X connect 12 0 86 0; +#X connect 12 0 87 0; +#X connect 13 0 17 0; +#X connect 14 0 51 0; +#X connect 15 0 12 0; +#X connect 16 0 12 0; +#X connect 17 0 51 2; +#X connect 17 0 73 1; +#X connect 18 0 17 1; +#X connect 19 0 34 0; +#X connect 20 0 79 0; +#X connect 21 0 23 0; +#X connect 22 0 21 0; +#X connect 23 0 24 0; +#X connect 25 0 14 1; +#X connect 25 0 44 0; +#X connect 26 0 49 0; +#X connect 27 0 29 0; +#X connect 28 0 52 0; +#X connect 30 0 77 0; +#X connect 31 0 51 1; +#X connect 32 0 33 0; +#X connect 33 0 65 0; +#X connect 34 0 13 0; +#X connect 34 1 18 0; +#X connect 35 0 80 0; +#X connect 36 0 38 0; +#X connect 37 0 36 0; +#X connect 38 0 39 0; +#X connect 40 0 16 0; +#X connect 41 0 22 0; +#X connect 41 1 21 1; +#X connect 42 0 26 0; +#X connect 42 1 49 1; +#X connect 43 0 44 0; +#X connect 44 0 13 0; +#X connect 46 0 48 0; +#X connect 47 0 71 0; +#X connect 48 0 47 0; +#X connect 48 0 72 0; +#X connect 49 0 27 0; +#X connect 50 0 45 0; +#X connect 50 0 92 0; +#X connect 51 0 53 0; +#X connect 52 0 78 0; +#X connect 53 0 12 0; +#X connect 54 0 55 1; +#X connect 54 0 85 1; +#X connect 55 0 50 0; +#X connect 56 0 54 0; +#X connect 57 0 14 0; +#X connect 58 0 34 0; +#X connect 59 0 57 0; +#X connect 59 0 73 0; +#X connect 59 1 56 0; +#X connect 59 2 68 0; +#X connect 60 0 59 0; +#X connect 61 0 67 1; +#X connect 62 0 61 0; +#X connect 63 0 67 0; +#X connect 64 0 34 0; +#X connect 64 0 66 0; +#X connect 64 1 58 0; +#X connect 65 0 64 0; +#X connect 65 0 67 1; +#X connect 67 0 60 0; +#X connect 68 0 34 0; +#X connect 68 1 58 0; +#X connect 69 0 7 0; +#X connect 70 0 69 0; +#X connect 70 1 5 0; +#X connect 71 0 50 1; +#X connect 72 0 15 0; +#X connect 73 0 74 0; +#X connect 74 0 75 0; +#X connect 77 0 43 0; +#X connect 77 1 44 1; +#X connect 78 0 42 0; +#X connect 79 0 22 0; +#X connect 80 0 37 0; +#X connect 81 0 58 0; +#X connect 82 0 0 0; +#X connect 84 0 83 0; +#X connect 85 0 84 0; +#X connect 86 0 55 0; +#X connect 87 0 85 0; +#X connect 90 0 3 0; +#X connect 90 2 91 0; +#X connect 91 0 93 0; +#X connect 92 0 83 0; +#X connect 93 0 92 1; diff --git a/EchoesInTheWaves/EchoesInTheWaves_PD/settings.json b/EchoesInTheWaves/EchoesInTheWaves_PD/settings.json new file mode 100644 index 0000000..d20a3b4 --- /dev/null +++ b/EchoesInTheWaves/EchoesInTheWaves_PD/settings.json @@ -0,0 +1,34 @@ +{ + "fileName": "_main.pd", + "CLArgs": { + "-p": "16", + "-C": "8", + "-B": "16", + "-N": "1", + "-G": "1", + "-M": "0", + "-H0,": "-6", + "-H1,": "-6", + "-H2,": "-6", + "-H3,": "-6", + "-H4,": "-6", + "-H5,": "-6", + "-H6,": "-6", + "-H7,": "-6", + "-I0,": "10", + "-I1,": "10", + "-I2,": "10", + "-I3,": "10", + "-I4,": "10", + "-I5,": "10", + "-I6,": "10", + "-I7,": "10", + "user": "", + "make": "", + "-X": "0", + "audioExpander": "0", + "-Y": "", + "-Z": "", + "--disable-led": "0" + } +} diff --git a/EchoesInTheWaves/EchoesInTheWaves_PD/sketch.js b/EchoesInTheWaves/EchoesInTheWaves_PD/sketch.js new file mode 100644 index 0000000..ffba3a9 --- /dev/null +++ b/EchoesInTheWaves/EchoesInTheWaves_PD/sketch.js @@ -0,0 +1,63 @@ +var guiSketch = new p5(( sketch ) => { + + let canvas_dimensions = [sketch.windowWidth, sketch.windowHeight]; + + let sensorNumber = 30; + + let chartTop = 100; + let chartBottom = canvas_dimensions[1]-chartTop; + let chartLeft = 100; + let chartRight = canvas_dimensions[0]-chartLeft; + + let dataRange = [0, 2.0]; + + let barWidth = (chartRight-chartLeft) / (sensorNumber*1.5); + + sketch.setup = function () { + sketch.createCanvas(canvas_dimensions[0], canvas_dimensions[1]); + } + + sketch.draw = function () { + sketch.background(255); + + sketch.noStroke(); + sketch.textSize(10); + + sensorNumber = 30; + barWidth = (chartRight-chartLeft) / (sensorNumber*1.5); + + + for (let i = 0; i < sensorNumber; i++) { + let x = sketch.map(i, 0, sensorNumber - 1, chartLeft, chartRight); + //let data = sketch.random(dataRange[0], dataRange[1]); + let data = Bela.data.buffers[0][i]; + let y = sketch.map(data, dataRange[0], dataRange[1], chartBottom, chartTop); + + sketch.strokeWeight(barWidth); + sketch.strokeCap(sketch.SQUARE); + sketch.stroke(0); + sketch.line(x, chartBottom, x, y); + + sketch.noStroke(); + sketch.textAlign(sketch.CENTER); + sketch.text(i, x, chartBottom + 15); + sketch.text(sketch.nf(data,0,3), x, chartBottom + 45); + } + + sketch.text("SENSOR:", chartLeft-barWidth*2, chartBottom + 15); + sketch.text("VALUE:", chartLeft-barWidth*2, chartBottom + 45); + } + + sketch.windowResized = function() { + if(sketch.windowWidth > 350 & sketch.windowHeight > 250) { + canvas_dimensions = [sketch.windowWidth, sketch.windowHeight] + sketch.resizeCanvas(canvas_dimensions[0], canvas_dimensions[1]); + + chartBottom = canvas_dimensions[1]-chartTop; + chartRight = canvas_dimensions[0]-chartLeft; + barWidth = (chartRight-chartLeft) / (sensorNumber*1.5); + } + } +}, 'gui'); + + diff --git a/EchoesInTheWaves/EchoesInTheWaves_PD/trigger out.pd b/EchoesInTheWaves/EchoesInTheWaves_PD/trigger out.pd new file mode 100644 index 0000000..0e97014 --- /dev/null +++ b/EchoesInTheWaves/EchoesInTheWaves_PD/trigger out.pd @@ -0,0 +1,33 @@ +#N canvas 179 204 450 300 12; +#X obj 38 69 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000; +#X msg 37 95 1 50; +#X obj 64 128 delay 50; +#X msg 64 156 0 50; +#X obj 36 186 line; +#X obj 130 119 *~; +#X obj 129 177 dac~; +#X obj 221 179 dac~; +#X obj 130 89 square~ 440; +#X obj 221 90 square~ 440; +#X obj 221 122 *~; +#X obj 349 70 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000; +#X msg 348 96 1 50; +#X obj 375 129 delay 50; +#X msg 375 157 0 50; +#X obj 347 187 line; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 0 4 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 5 1; +#X connect 5 0 6 0; +#X connect 8 0 5 0; +#X connect 9 0 10 0; +#X connect 10 0 7 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 12 0 15 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 10 1; diff --git a/EchoesInTheWaves/EchoesInTheWaves_PD/vocal1.wav b/EchoesInTheWaves/EchoesInTheWaves_PD/vocal1.wav new file mode 100644 index 0000000..5305b1e Binary files /dev/null and b/EchoesInTheWaves/EchoesInTheWaves_PD/vocal1.wav differ diff --git a/EchoesInTheWaves/tags.md b/EchoesInTheWaves/tags.md index 8b13789..1d0d02f 100644 --- a/EchoesInTheWaves/tags.md +++ b/EchoesInTheWaves/tags.md @@ -1 +1,18 @@ +--- +tags: + - processing_technique: + - punch_needling + conductive_material: + - "Shieldex HC 40 Yarn" + description: > + Various textiles are mounted on a horizontal board, the relief-like arrangement + and folding resembles an abstract landscape. Conductive sensors are hidden in + the cracks and folds, and the user can only find them by slowly hovering across + the textiles. + The explorative movement triggers various layers of sounds, often delayed and + looped, in order to create a complex soundscape. A shuffle function allows for a + different audio experience each time you sense the landscape. +--- + +# Tags diff --git a/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/_main.pd b/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/_main.pd new file mode 100644 index 0000000..9d36037 --- /dev/null +++ b/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/_main.pd @@ -0,0 +1,190 @@ +#N canvas 67 25 1026 847 10; +#X obj 295 378 unpack f f f f f f f f f f f f f f f f f f f f f f f f f f, f 133; +#X obj 299 485 change; +#X obj 196 158 loadbang; +#X obj 264 309 r bela_trill; +#X obj 61 235 s bela_setTrill; +#X text 372 336 We are working with Trill Craft; +#X text 372 310 This receives readings from the Trill sensor; +#X text 36 158 Initialise Trill sensor; +#X text 600 7 ............................; +#X text 600 17 . ____ ._____ _ .......___ .; +#X text 600 27 .| __ )| ____| |....../ _ |.; +#X text 600 47 .| |_) | |___| |___ / ___ |.; +#X text 600 57 .|____/|_____|_____/_/..._|.io; +#X text 600 67 ............................; +#X text 600 37 .| __ || __|.| |...../ _| |.; +#X text 30 28 Capacitive sensing with Trill Craft; +#X text 30 38 ====================================; +#X obj 196 237 s bela_setTrill; +#X text 361 207 [prescaler (; +#X text 365 228 value betwen 1 and 6; +#X text 361 185 Change sensitivity here; +#X obj 131 310 loadbang; +#X obj 131 331 metro 50; +#X msg 131 352 0; +#X obj 131 394 s bela_guiOut; +#X obj 131 373 list; +#X obj 196 179 t b b; +#X text 1102 46 Every the time the programme is restarted the baseline; +#X text 1101 65 reading of the sensor is reset.; +#X text 1102 86 This means if you are touching anything connected to the; +#X text 1102 106 sensor on start up this will be incorporated into the; +#X text 1102 126 baseline.; +#X obj 1122 709 dac~ 1 2; +#X text 30 58 This example is for capacitive sensing with Trill Craft.; +#X msg 61 208 new mycraft 1 CRAFT; +#X msg 196 209 prescaler mycraft 2; +#X obj 264 336 route mycraft; +#X text 30 78 Connect the sensor via I2C and open the GUI to see readings.; +#X text 30 108 https://learn.bela.io/tutorials/pure-data/sensors/capacitive-sensing/; +#X obj 1207 423 cnv 16 400 300 empty c1 prototyping 20 12 0 14 #ffc7c6 #000000 0; +#X obj 1231 479 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X text 1209 606 0; +#X text 1208 480 1; +#X text 1206 539 0.5; +#X obj 1230 644 s a; +#X obj 274 426 r a; +#X floatatom 1230 622 5 0 0 0 - - - 0; +#X text 1204 453 input 0; +#X text 1275 605 0; +#X text 1274 479 1; +#X text 1272 538 0.5; +#X obj 295 789 throw~ out; +#X obj 1122 679 catch~ out; +#X floatatom 296 601 5 0 0 0 - - - 0; +#X text 130 423 inlet for prototyping; +#X text 159 469 object outputs 1; +#X text 100 447 if the input surpasses 0.5; +#X text 142 514 adds on every count; +#X text 5 554 cuts out evreything above the second count; +#X text 179 597 output 0 or 1; +#X text 65 617 routes 1 / 0 to differnt outlets; +#X text 162 655 highpass filter; +#X text 58 636 1 starts playback of loop 0 stops; +#X text 42 678 multiplyer/amp to control the level; +#X text 101 704 sends output to catch~ out; +#X text 1215 667 play loop; +#X text 1216 699 note differnent playback mechanism for inputs 0 and 3; +#X text 919 677 recieves from the throw outputs; +#X text 1064 648 prototyping outlets; +#X text 9 577 object to check values in the pd console; +#X obj 340 599 print in 1; +#X obj 296 630 route 1 0; +#X obj 303 671 loadbang; +#X obj 297 446 > 0.5; +#X obj 295 733 playAudioFile~; +#X obj 465 471 change; +#X obj 465 777 throw~ out; +#X floatatom 465 596 5 0 0 0 - - - 0; +#X msg 475 689 0.5; +#X obj 465 616 route 1 0; +#X obj 475 651 loadbang; +#X obj 465 447 > 0.5; +#X obj 465 721 playAudioFile~; +#X obj 541 650 loadbang; +#X obj 1330 479 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X text 1308 606 0; +#X text 1307 480 1; +#X text 1305 539 0.5; +#X floatatom 1329 622 5 0 0 0 - - - 0; +#X text 1374 605 0; +#X text 1373 479 1; +#X text 1371 538 0.5; +#X obj 1329 644 s b; +#X obj 462 415 r b; +#X obj 639 473 change; +#X obj 639 779 throw~ out; +#X floatatom 639 598 5 0 0 0 - - - 0; +#X msg 693 698 0.5; +#X obj 639 618 route 1 0; +#X obj 693 660 loadbang; +#X obj 639 449 > 0.5; +#X obj 761 661 loadbang; +#X obj 369 672 loadbang; +#X obj 636 417 r c; +#X obj 639 723 playAudioFile~; +#X obj 639 755 *~ 1; +#X obj 465 753 *~ 1; +#X obj 295 765 *~ 1; +#X obj 1439 477 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X text 1417 604 0; +#X text 1416 478 1; +#X text 1414 537 0.5; +#X floatatom 1438 620 5 0 0 0 - - - 0; +#X text 1483 603 0; +#X text 1482 477 1; +#X text 1480 536 0.5; +#X obj 1438 642 s c; +#X msg 760 695 waves_0.wav; +#X msg 368 706 chains_0.wav; +#X obj 522 554 print in 2; +#X obj 696 590 print in 3; +#X msg 540 684 breath_0.wav; +#X msg 303 703 0.5; +#X obj 369 415 loadbang; +#X msg 370 445 1; +#X connect 0 1 73 0; +#X connect 0 4 81 0; +#X connect 0 6 100 0; +#X connect 1 0 53 0; +#X connect 1 0 70 0; +#X connect 2 0 26 0; +#X connect 3 0 36 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 25 0; +#X connect 25 0 24 0; +#X connect 26 0 35 0; +#X connect 26 1 34 0; +#X connect 34 0 4 0; +#X connect 35 0 17 0; +#X connect 36 0 0 0; +#X connect 36 0 25 1; +#X connect 40 0 46 0; +#X connect 45 0 73 0; +#X connect 46 0 44 0; +#X connect 52 0 32 0; +#X connect 52 0 32 1; +#X connect 53 0 71 0; +#X connect 71 0 74 0; +#X connect 71 1 74 1; +#X connect 72 0 122 0; +#X connect 73 0 1 0; +#X connect 74 0 107 0; +#X connect 75 0 119 0; +#X connect 75 0 77 0; +#X connect 77 0 79 0; +#X connect 78 0 82 2; +#X connect 79 0 82 0; +#X connect 79 1 82 1; +#X connect 80 0 78 0; +#X connect 81 0 75 0; +#X connect 82 0 106 0; +#X connect 83 0 121 0; +#X connect 84 0 88 0; +#X connect 88 0 92 0; +#X connect 93 0 81 0; +#X connect 94 0 96 0; +#X connect 94 0 120 0; +#X connect 96 0 98 0; +#X connect 97 0 104 2; +#X connect 98 0 104 0; +#X connect 98 1 104 1; +#X connect 99 0 97 0; +#X connect 100 0 94 0; +#X connect 101 0 117 0; +#X connect 102 0 118 0; +#X connect 103 0 100 0; +#X connect 104 0 105 0; +#X connect 105 0 95 0; +#X connect 106 0 76 0; +#X connect 107 0 51 0; +#X connect 108 0 112 0; +#X connect 112 0 116 0; +#X connect 117 0 104 3; +#X connect 118 0 74 3; +#X connect 121 0 82 3; +#X connect 122 0 74 2; +#X connect 123 0 124 0; +#X connect 124 0 73 0; diff --git a/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/breath_0.wav b/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/breath_0.wav new file mode 100644 index 0000000..ab09bb9 Binary files /dev/null and b/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/breath_0.wav differ diff --git a/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/chains_0.wav b/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/chains_0.wav new file mode 100644 index 0000000..d9bd7e3 Binary files /dev/null and b/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/chains_0.wav differ diff --git a/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/map.pd b/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/map.pd new file mode 100644 index 0000000..184132f --- /dev/null +++ b/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/map.pd @@ -0,0 +1,46 @@ +#N canvas 56 241 511 247 12; +#X text 139 12 Y = (X-A)/(B-A) * (D-C) + C; +#X obj 97 170 expr ($f1-$f2)/($f3-$f2)*($f5-$f4)+$f4; +#X obj 12 41 inlet input; +#X obj 99 42 inlet in-min; +#X obj 196 44 inlet in-max; +#X obj 288 44 inlet out-min; +#X obj 388 44 inlet out-max; +#X obj 97 202 outlet; +#X floatatom 118 117 5 0 0 0 - - - 0; +#X obj 124 92 f \$1; +#X obj 390 155 loadbang; +#X obj 124 68 r \$0-lb; +#X floatatom 203 119 5 0 0 0 - - - 0; +#X obj 209 70 r \$0-lb; +#X obj 209 94 f \$2; +#X floatatom 293 122 5 0 0 0 - - - 0; +#X obj 299 73 r \$0-lb; +#X obj 299 97 f \$3; +#X floatatom 388 121 5 0 0 0 - - - 0; +#X obj 394 72 r \$0-lb; +#X obj 394 96 f \$4; +#X obj 390 182 s \$0-lb; +#X obj 23 125 clip 0 127; +#X connect 1 0 7 0; +#X connect 2 0 22 0; +#X connect 3 0 8 0; +#X connect 4 0 12 0; +#X connect 5 0 15 0; +#X connect 6 0 18 0; +#X connect 8 0 1 1; +#X connect 9 0 8 0; +#X connect 9 0 22 1; +#X connect 10 0 21 0; +#X connect 11 0 9 0; +#X connect 12 0 1 2; +#X connect 13 0 14 0; +#X connect 14 0 12 0; +#X connect 14 0 22 2; +#X connect 15 0 1 3; +#X connect 16 0 17 0; +#X connect 17 0 15 0; +#X connect 18 0 1 4; +#X connect 19 0 20 0; +#X connect 20 0 18 0; +#X connect 22 0 1 0; diff --git a/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/playAudioFile~.pd b/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/playAudioFile~.pd new file mode 100644 index 0000000..d85bc2f --- /dev/null +++ b/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/playAudioFile~.pd @@ -0,0 +1,201 @@ +#N canvas 39 25 1241 755 10; +#X obj 231 321 inlet; +#X obj 910 319 inlet; +#X obj 387 724 outlet~; +#X obj 323 321 inlet; +#X text 130 289 input to receive play; +#X text 364 19 This patch prepares and exectue the reading of an audio file; +#X text 306 288 input to receive stop; +#X text 395 47 Play and retrig are executed until a stop message; +#X text 907 287 input to receive the file Name; +#X obj 666 511 tabread~ \$0-array; +#N canvas 56 25 1224 755 retrieve&StoreFileIntoAnArray 0; +#X obj 251 139 inlet; +#X obj 251 379 outlet; +#X obj 251 214 symbol; +#X msg 251 308 read -resize \$1 \$2; +#X obj 307 214 symbol \$0-array; +#X obj 251 252 pack s s; +#X obj 251 181 t a b; +#X text 249 108 input to receive the name of the file; +#X text 8 212 convert the fileName into a symbol; +#X text 429 211 name of the array (see arrayNameGenerator subpatch); +#X obj 251 344 soundfiler; +#X text 428 248 prepare retrieve&storeFile message; +#X text 428 308 retrieve&store Message; +#X text 430 383 Return the lenght of the file in samples as an output; +#X text 431 22 To play an audio file we need to know the name of the file to retreieve it and the name of the array to store it; +#X text 430 343 retrieve&store Object; +#N canvas 4 23 845 476 ArrayNameGenerator 0; +#X obj 57 58 loadbang; +#X obj 57 88 f \$0; +#X text 128 55 as soon as an instance of playAudioFile is created \, this subpatch generates an individual random number \$0 that can be used to name the array; +#X text 128 105 every time you call up the playAudioFile abstraction \, a new number will be generated; +#X text 128 145 As a result \, each array in each playAudioFile abstractions will have a unique name.; +#X connect 0 0 1 0; +#X restore 825 143 pd ArrayNameGenerator; +#X text 818 109 subPtach to generate the Array Name; +#X connect 0 0 6 0; +#X connect 2 0 5 0; +#X connect 3 0 10 0; +#X connect 4 0 5 1; +#X connect 5 0 3 0; +#X connect 6 0 2 0; +#X connect 6 1 4 0; +#X connect 10 0 1 0; +#X restore 910 391 pd retrieve&StoreFileIntoAnArray; +#X text 792 510 object to read the file stored into the Array; +#X text 666 148 << This is where we store the audiofile; +#X text 666 167 << This is an array; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \$0-array 84648 float 2; +#X coords 0 -1 84648 1 200 140 2 0 0; +#X restore 442 112 graph; +#N canvas 669 389 450 300 fadeInFadeOut 0; +#X obj 111 43 inlet; +#X obj 126 188 outlet~; +#X obj 161 43 inlet; +#X text 94 22 FadeIn; +#X text 158 22 FadeOut; +#X obj 126 148 line~; +#X msg 111 88 1 0; +#X msg 161 88 0 500; +#X connect 0 0 6 0; +#X connect 2 0 7 0; +#X connect 5 0 1 0; +#X connect 6 0 5 0; +#X connect 7 0 5 0; +#X restore 231 512 pd fadeInFadeOut; +#X obj 387 682 *~; +#X text 701 286 input to receive pitch; +#X obj 231 449 t b b; +#N canvas 39 23 450 300 initializeVolume 0; +#X obj 21 29 loadbang; +#X obj 21 56 delay 1; +#X obj 21 112 outlet; +#X msg 21 80 0.25; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 3 0 2 0; +#X restore 521 430 pd initializeVolume; +#X text 58 511 fade to avoid audioClicks; +#N canvas 16 23 1264 755 playRetrig 0; +#X obj 627 50 inlet; +#X obj 280 49 inlet; +#X obj 627 590 outlet~; +#X text 590 623 Play instructions output; +#X floatatom 762 142 5 44100 192000 0 - - - 0; +#X text 678 123 SAMPLE RATE OF THE AUDIOFILE; +#N canvas 506 105 664 554 lenghtOfTheAudioFile 0; +#X obj 170 221 / 1000; +#X obj 149 248 / 44; +#X obj 129 295 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X floatatom 120 173 5 0 0 0 - - - 0; +#X obj 120 221 i; +#X obj 153 195 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X floatatom 120 361 5 0 0 0 - - - 0; +#X obj 170 119 inlet; +#X text 169 96 SAMPLE RATE OF THE SOUND; +#X obj 120 119 inlet; +#X text 56 95 LENGHT (samples); +#X text 79 423 LENGHT(samples); +#X text 54 27 This patch calculate the lenght of the auiod file in samples and ms, f 71; +#X obj 120 398 outlet; +#X text 234 423 LENGHT (freq); +#X obj 234 398 outlet; +#X obj 222 296 t b f; +#X text 185 263 ms; +#X obj 234 360 /; +#X msg 222 323 1000; +#X text 284 358 convert ms to freq; +#X connect 0 0 1 1; +#X connect 1 0 2 0; +#X connect 1 0 16 0; +#X connect 2 0 6 0; +#X connect 3 0 4 0; +#X connect 3 0 4 1; +#X connect 4 0 1 0; +#X connect 4 0 6 0; +#X connect 5 0 4 0; +#X connect 6 0 13 0; +#X connect 7 0 0 0; +#X connect 7 0 5 0; +#X connect 9 0 3 0; +#X connect 16 0 19 0; +#X connect 16 1 18 1; +#X connect 18 0 15 0; +#X connect 19 0 18 0; +#X restore 627 185 pd lenghtOfTheAudioFile; +#X text 627 23 AUDIOFILE LENGHT (samples); +#X obj 468 51 inlet; +#X text 465 23 PITCH Control Input; +#X text 631 206 samples; +#X obj 627 526 *~; +#X obj 762 460 phasor~; +#X text 257 24 RETRIG input; +#X msg 801 435 0; +#X obj 279 257 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 762 312 f; +#X obj 467 257 t b f; +#X obj 762 368 * 1; +#X text 768 210 freq (how fast the phasor should cycle to reproduce the sample at the correct speed); +#X text 819 459 this phasor cycle at a certain speed through the array where the audio file is stored; +#X text 791 313 the speed is stored in this object. So that can be recalculated later according to a scale factor; +#X text 791 366 here we can apply a scale factor to change the playback speed and (as a result) the pitch of the sound; +#X connect 0 0 6 0; +#X connect 1 0 15 0; +#X connect 4 0 6 1; +#X connect 6 0 11 0; +#X connect 6 1 16 0; +#X connect 8 0 17 0; +#X connect 11 0 2 0; +#X connect 12 0 11 1; +#X connect 14 0 12 1; +#X connect 15 0 14 0; +#X connect 16 0 18 0; +#X connect 17 0 16 0; +#X connect 17 1 18 1; +#X connect 18 0 12 0; +#X restore 666 464 pd playRetrig; +#X text 664 533 audio output; +#N canvas 801 121 450 300 scaleSliderBetween0&1 0; +#X obj 65 111 / 127; +#X obj 65 18 inlet; +#X obj 65 173 outlet; +#X text 141 44 avoid 0 value; +#X text 139 75 clip value to 127 (max slider value by default); +#X text 139 111 normalize between 0 and 1; +#X obj 65 77 clip 1 127; +#X text 139 141 add offset to change the pitch between (1 = default pitch and 2 = two times the initial pitch); +#X obj 65 49 * 127; +#X obj 65 140 + 0.5; +#X connect 0 0 9 0; +#X connect 1 0 8 0; +#X connect 6 0 0 0; +#X connect 8 0 6 0; +#X connect 9 0 2 0; +#X restore 703 391 pd scaleSliderBetween0&1; +#X obj 522 599 *~; +#X obj 738 364 snapshot~; +#X obj 693 316 inlet~; +#X obj 759 341 metro 20; +#X obj 759 318 loadbang; +#X obj 353 480 loadbang; +#X connect 0 0 18 0; +#X connect 1 0 10 0; +#X connect 3 0 15 1; +#X connect 9 0 24 1; +#X connect 10 0 21 2; +#X connect 15 0 16 0; +#X connect 16 0 2 0; +#X connect 18 0 15 0; +#X connect 18 1 21 0; +#X connect 19 0 24 0; +#X connect 21 0 9 0; +#X connect 23 0 21 1; +#X connect 24 0 16 1; +#X connect 25 0 23 0; +#X connect 26 0 25 0; +#X connect 27 0 25 0; +#X connect 28 0 27 0; +#X coords 0 755 1 754 201 140 0; diff --git a/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/settings.json b/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/settings.json new file mode 100644 index 0000000..d20a3b4 --- /dev/null +++ b/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/settings.json @@ -0,0 +1,34 @@ +{ + "fileName": "_main.pd", + "CLArgs": { + "-p": "16", + "-C": "8", + "-B": "16", + "-N": "1", + "-G": "1", + "-M": "0", + "-H0,": "-6", + "-H1,": "-6", + "-H2,": "-6", + "-H3,": "-6", + "-H4,": "-6", + "-H5,": "-6", + "-H6,": "-6", + "-H7,": "-6", + "-I0,": "10", + "-I1,": "10", + "-I2,": "10", + "-I3,": "10", + "-I4,": "10", + "-I5,": "10", + "-I6,": "10", + "-I7,": "10", + "user": "", + "make": "", + "-X": "0", + "audioExpander": "0", + "-Y": "", + "-Z": "", + "--disable-led": "0" + } +} diff --git a/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/sketch.js b/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/sketch.js new file mode 100644 index 0000000..ffba3a9 --- /dev/null +++ b/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/sketch.js @@ -0,0 +1,63 @@ +var guiSketch = new p5(( sketch ) => { + + let canvas_dimensions = [sketch.windowWidth, sketch.windowHeight]; + + let sensorNumber = 30; + + let chartTop = 100; + let chartBottom = canvas_dimensions[1]-chartTop; + let chartLeft = 100; + let chartRight = canvas_dimensions[0]-chartLeft; + + let dataRange = [0, 2.0]; + + let barWidth = (chartRight-chartLeft) / (sensorNumber*1.5); + + sketch.setup = function () { + sketch.createCanvas(canvas_dimensions[0], canvas_dimensions[1]); + } + + sketch.draw = function () { + sketch.background(255); + + sketch.noStroke(); + sketch.textSize(10); + + sensorNumber = 30; + barWidth = (chartRight-chartLeft) / (sensorNumber*1.5); + + + for (let i = 0; i < sensorNumber; i++) { + let x = sketch.map(i, 0, sensorNumber - 1, chartLeft, chartRight); + //let data = sketch.random(dataRange[0], dataRange[1]); + let data = Bela.data.buffers[0][i]; + let y = sketch.map(data, dataRange[0], dataRange[1], chartBottom, chartTop); + + sketch.strokeWeight(barWidth); + sketch.strokeCap(sketch.SQUARE); + sketch.stroke(0); + sketch.line(x, chartBottom, x, y); + + sketch.noStroke(); + sketch.textAlign(sketch.CENTER); + sketch.text(i, x, chartBottom + 15); + sketch.text(sketch.nf(data,0,3), x, chartBottom + 45); + } + + sketch.text("SENSOR:", chartLeft-barWidth*2, chartBottom + 15); + sketch.text("VALUE:", chartLeft-barWidth*2, chartBottom + 45); + } + + sketch.windowResized = function() { + if(sketch.windowWidth > 350 & sketch.windowHeight > 250) { + canvas_dimensions = [sketch.windowWidth, sketch.windowHeight] + sketch.resizeCanvas(canvas_dimensions[0], canvas_dimensions[1]); + + chartBottom = canvas_dimensions[1]-chartTop; + chartRight = canvas_dimensions[0]-chartLeft; + barWidth = (chartRight-chartLeft) / (sensorNumber*1.5); + } + } +}, 'gui'); + + diff --git a/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/waves_0.wav b/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/waves_0.wav new file mode 100644 index 0000000..1460dbc Binary files /dev/null and b/ElSonidoDeTuPiel/ElSonidoSeTuPiel_PD/waves_0.wav differ diff --git a/ElSonidoDeTuPiel/tags.md b/ElSonidoDeTuPiel/tags.md new file mode 100644 index 0000000..93bd1ed --- /dev/null +++ b/ElSonidoDeTuPiel/tags.md @@ -0,0 +1,17 @@ +--- +tags: + - processing_technique: + - spool_knitting + - adhesive_bonding + conductive_material: + - "Shieldex HC 40 Yarn" + - "Shieldex Bern: silver based nonwoven" + description: > + A pair of interactive fishnet gloves transforms touch into sound: + one hand’s conductive nails trigger audio samples—moans, purrs, + dripping water, or clinking chains—when making skin contact. + The other glove, equipped with a speaker, transmits these intimate + sonic reactions to the listener’s ear. +--- + +# Tags diff --git a/ExtendedBody/ExtendedBody_PD/_main.pd b/ExtendedBody/ExtendedBody_PD/_main.pd new file mode 100644 index 0000000..26ea966 --- /dev/null +++ b/ExtendedBody/ExtendedBody_PD/_main.pd @@ -0,0 +1,340 @@ +#N canvas 4 76 2560 1304 10; +#X obj 732 378 unpack f f f f f f f f f f f f f f f f f f f f f f f f f f, f 133; +#X obj 196 158 loadbang; +#X obj 701 309 r bela_trill; +#X obj 61 235 s bela_setTrill; +#X text 809 336 We are working with Trill Craft; +#X text 809 310 This receives readings from the Trill sensor; +#X text 36 158 Initialise Trill sensor; +#X text 600 7 ............................; +#X text 600 17 . ____ ._____ _ .......___ .; +#X text 600 27 .| __ )| ____| |....../ _ |.; +#X text 600 47 .| |_) | |___| |___ / ___ |.; +#X text 600 57 .|____/|_____|_____/_/..._|.io; +#X text 600 67 ............................; +#X text 600 37 .| __ || __|.| |...../ _| |.; +#X text 30 28 Capacitive sensing with Trill Craft; +#X text 30 38 ====================================; +#X obj 196 237 s bela_setTrill; +#X text 361 207 [prescaler (; +#X text 365 228 value betwen 1 and 6; +#X text 361 185 Change sensitivity here; +#X obj 238 310 loadbang; +#X obj 238 331 metro 50; +#X msg 238 352 0; +#X obj 238 394 s bela_guiOut; +#X obj 238 373 list; +#X obj 196 179 t b b; +#X text 1102 46 Every the time the programme is restarted the baseline; +#X text 1101 65 reading of the sensor is reset.; +#X text 1102 86 This means if you are touching anything connected to the; +#X text 1102 106 sensor on start up this will be incorporated into the; +#X text 1102 126 baseline.; +#X obj 2208 845 dac~ 1 2; +#X text 30 58 This example is for capacitive sensing with Trill Craft.; +#X msg 61 208 new mycraft 1 CRAFT; +#X msg 196 209 prescaler mycraft 2; +#X obj 701 336 route mycraft; +#X text 30 78 Connect the sensor via I2C and open the GUI to see readings.; +#X text 30 108 https://learn.bela.io/tutorials/pure-data/sensors/capacitive-sensing/; +#X obj 2209 423 cnv 16 400 300 empty c1 prototyping 20 12 0 14 #ffc7c6 #000000 0; +#X obj 2240 478 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X text 2155 606 0; +#X text 2154 480 1; +#X text 2208 539 0.5; +#X obj 2232 644 s a; +#X floatatom 2233 620 5 0 0 0 - - - 0; +#X text 2206 453 input 0; +#X obj 2286 481 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X text 2265 604 0; +#X text 2264 478 1; +#X text 2262 537 0.5; +#X floatatom 2286 620 5 0 0 0 - - - 0; +#X text 2263 452 input 3; +#X obj 2286 642 s b; +#X obj 2208 813 catch~ out; +#X obj 2343 484 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X floatatom 2341 622 5 0 0 0 - - - 0; +#X text 2312 453 input 6; +#X obj 242 515 change; +#X obj 325 462 loadbang; +#X obj 242 540 route 1 0; +#X obj 226 460 r a; +#X obj 2341 644 s c; +#X text 2321 607 0; +#X text 2320 481 1; +#X text 2318 540 0.5; +#X obj 2397 483 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X floatatom 2395 621 5 0 0 0 - - - 0; +#X text 2375 606 0; +#X text 2374 480 1; +#X text 2372 539 0.5; +#X text 2366 452 input 9; +#X obj 2456 483 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X floatatom 2454 621 5 0 0 0 - - - 0; +#X text 2434 606 0; +#X text 2433 480 1; +#X text 2431 539 0.5; +#X obj 2510 482 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X floatatom 2508 620 5 0 0 0 - - - 0; +#X text 2488 605 0; +#X text 2487 479 1; +#X text 2485 538 0.5; +#X obj 2395 643 s d; +#X obj 2454 642 s e; +#X obj 2508 643 s f; +#X obj 256 613 sample~, f 16; +#X obj 221 872 throw~ out; +#X obj 848 628 change; +#X obj 893 574 loadbang; +#X obj 848 653 route 1 0; +#X obj 848 699 sample~, f 16; +#X obj 849 895 throw~ out; +#X obj 823 532 r b; +#X obj 1186 640 change; +#X obj 1231 586 loadbang; +#X obj 1186 665 route 1 0; +#X obj 1186 711 sample~, f 16; +#X obj 1187 933 throw~ out; +#X obj 1436 603 change; +#X obj 1481 549 loadbang; +#X obj 1436 628 route 1 0; +#X obj 1436 674 sample~, f 16; +#X obj 1437 896 throw~ out; +#X obj 1147 546 r c; +#X obj 1359 554 r d; +#X obj 1681 603 change; +#X obj 1726 549 loadbang; +#X obj 1680 627 route 1 0; +#X obj 1681 674 sample~, f 16; +#X obj 1681 896 throw~ out; +#X obj 1962 605 change; +#X obj 2007 551 loadbang; +#X obj 1962 630 route 1 0; +#X obj 1962 673 sample~, f 16; +#X obj 1608 531 r e; +#X obj 1886 495 r f; +#X obj 848 604 > 0.1; +#X obj 1186 616 > 0.1; +#X obj 1436 579 > 0.1; +#X obj 1681 579 > 0.1; +#X obj 1962 581 > 0.1; +#X obj 242 491 > 0.1; +#X obj 221 847 lop~ 500; +#X obj 221 772 *~ 0.6; +#X obj 848 791 *~ 0.6; +#X obj 1186 829 *~ 0.6; +#X obj 1436 739 *~ 0.6; +#X obj 1681 739 *~ 0.6; +#X obj 1962 739 *~ 0.6; +#X obj 241 820 map 0 1 0 800; +#X obj 849 867 lop~ 500; +#X obj 869 840 map 0 1 0 800; +#X obj 1187 909 lop~ 500; +#X obj 1245 886 map 0 1 0 800; +#X obj 1437 871 lop~ 500; +#X obj 1457 844 map 0 1 0 800; +#X obj 1681 871 lop~ 500; +#X obj 1701 844 map 0 1 0 800; +#X msg 241 563 63; +#X msg 847 676 66; +#X msg 1185 691 68; +#X msg 1435 651 70; +#X msg 1680 651 73; +#X msg 1961 653 75; +#X text 2425 452 input 12; +#X text 2479 452 input 15; +#X text 90 459 inlet for prototyping; +#X text 39 490 if the input surpasses 0.1; +#X text 84 516 object outputs 1; +#X text 124 586 see help for info; +#X text 39 772 amp to level down the volume; +#X text -20 819 maps the input values to the filter freq.; +#X text 101 846 low pass filter; +#X text 51 873 sends output to catch~ out; +#X text 2228 691 move faders to simulate the inputs from the bela; +#X text 62 562 midi notes to control pitch; +#X msg 314 519 stomach3.wav; +#X msg 1231 610 bone1.wav; +#X msg 1481 573 craking.wav; +#X msg 1726 573 hearbeat2.wav; +#X msg 2007 575 stomach1.wav; +#X obj 18 619 line~; +#X msg 37 591 0 500; +#X obj 726 719 line~; +#X msg 745 691 0 500; +#X obj 1088 737 line~; +#X msg 1107 690 0 500; +#X obj 1306 743 line~; +#X msg 1322 707 0 500; +#X obj 1993 896 throw~ out; +#X obj 1993 871 lop~ 500; +#X obj 2013 844 map 0 1 0 800; +#X obj 1572 743 line~; +#X msg 1588 707 0 500; +#X obj 1840 747 line~; +#X msg 1856 711 0 500; +#X msg 893 598 hearbeat1.wav; +#X obj 990 574 loadbang; +#X msg 990 598 hearbeat1.wav; +#X obj 487 666 change; +#X obj 487 642 > 0.5; +#X floatatom 487 731 5 0 0 0 - - - 0; +#X obj 487 712 f; +#X obj 519 712 + 1; +#X floatatom 487 791 5 0 0 0 - - - 0; +#X obj 487 713; +#X obj 487 689 route 1 0; +#X msg 541 761 0.5; +#X obj 493 810 route 1 0; +#X obj 487 752 % 2; +#X obj 464 773 print in 1; +#X msg 414 518 hearbeat1.wav; +#X obj 493 615 r a; +#X text 357 614; +#X obj 447 901 bng 16 250 50 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000; +#X obj 545 847 bng 16 250 50 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000; +#X connect 0 0 120 0; +#X connect 0 0 128 0; +#X connect 0 0 179 0; +#X connect 0 3 115 0; +#X connect 0 3 130 0; +#X connect 0 6 116 0; +#X connect 0 6 132 0; +#X connect 0 9 117 0; +#X connect 0 9 134 0; +#X connect 0 12 118 0; +#X connect 0 12 136 0; +#X connect 0 15 119 0; +#X connect 0 15 170 0; +#X connect 1 0 25 0; +#X connect 2 0 35 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 24 0; +#X connect 24 0 23 0; +#X connect 25 0 34 0; +#X connect 25 1 33 0; +#X connect 33 0 3 0; +#X connect 34 0 16 0; +#X connect 35 0 0 0; +#X connect 35 0 24 1; +#X connect 39 0 44 0; +#X connect 44 0 43 0; +#X connect 46 0 50 0; +#X connect 50 0 52 0; +#X connect 53 0 31 0; +#X connect 53 0 31 1; +#X connect 54 0 55 0; +#X connect 55 0 61 0; +#X connect 57 0 59 0; +#X connect 58 0 155 0; +#X connect 59 0 137 0; +#X connect 60 0 120 0; +#X connect 60 0 122 1; +#X connect 65 0 66 0; +#X connect 66 0 81 0; +#X connect 71 0 72 0; +#X connect 72 0 82 0; +#X connect 76 0 77 0; +#X connect 77 0 83 0; +#X connect 84 0 122 0; +#X connect 84 1 122 0; +#X connect 86 0 88 0; +#X connect 87 0 175 0; +#X connect 88 0 138 0; +#X connect 89 0 123 0; +#X connect 89 1 123 0; +#X connect 91 0 115 0; +#X connect 91 0 123 1; +#X connect 92 0 94 0; +#X connect 93 0 156 0; +#X connect 94 0 139 0; +#X connect 95 0 124 0; +#X connect 95 1 124 0; +#X connect 97 0 99 0; +#X connect 98 0 157 0; +#X connect 99 0 140 0; +#X connect 100 0 125 0; +#X connect 100 1 125 0; +#X connect 102 0 116 0; +#X connect 102 0 124 1; +#X connect 103 0 117 0; +#X connect 103 0 125 1; +#X connect 104 0 106 0; +#X connect 105 0 158 0; +#X connect 106 0 141 0; +#X connect 107 0 126 0; +#X connect 107 1 126 0; +#X connect 109 0 111 0; +#X connect 110 0 159 0; +#X connect 111 0 142 0; +#X connect 112 0 127 0; +#X connect 112 1 127 0; +#X connect 113 0 118 0; +#X connect 113 0 126 1; +#X connect 114 0 119 0; +#X connect 114 0 127 1; +#X connect 115 0 86 0; +#X connect 116 0 92 0; +#X connect 117 0 97 0; +#X connect 118 0 104 0; +#X connect 119 0 109 0; +#X connect 120 0 57 0; +#X connect 121 0 85 0; +#X connect 122 0 121 0; +#X connect 123 0 129 0; +#X connect 124 0 131 0; +#X connect 125 0 133 0; +#X connect 126 0 135 0; +#X connect 127 0 169 0; +#X connect 128 0 121 1; +#X connect 129 0 90 0; +#X connect 130 0 129 1; +#X connect 131 0 96 0; +#X connect 132 0 131 1; +#X connect 133 0 101 0; +#X connect 134 0 133 1; +#X connect 135 0 108 0; +#X connect 136 0 135 1; +#X connect 137 0 84 0; +#X connect 138 0 89 0; +#X connect 139 0 95 0; +#X connect 140 0 100 0; +#X connect 141 0 107 0; +#X connect 142 0 112 0; +#X connect 155 0 84 2; +#X connect 156 0 95 2; +#X connect 157 0 100 2; +#X connect 158 0 107 2; +#X connect 159 0 112 2; +#X connect 160 0 122 0; +#X connect 161 0 160 0; +#X connect 162 0 123 0; +#X connect 163 0 162 0; +#X connect 164 0 124 0; +#X connect 165 0 164 0; +#X connect 166 0 133 0; +#X connect 167 0 166 0; +#X connect 169 0 168 0; +#X connect 170 0 169 1; +#X connect 171 0 135 0; +#X connect 172 0 171 0; +#X connect 173 0 169 0; +#X connect 174 0 173 0; +#X connect 175 0 89 2; +#X connect 176 0 177 0; +#X connect 178 0 185 0; +#X connect 179 0 178 0; +#X connect 180 0 188 0; +#X connect 181 0 182 0; +#X connect 181 0 180 0; +#X connect 182 0 181 1; +#X connect 183 0 187 0; +#X connect 185 0 181 0; +#X connect 187 0 155 0; +#X connect 187 1 190 0; +#X connect 188 0 183 0; +#X connect 188 0 189 0; +#X connect 190 0 84 2; +#X connect 191 0 179 0; diff --git a/ExtendedBody/ExtendedBody_PD/bone1.wav b/ExtendedBody/ExtendedBody_PD/bone1.wav new file mode 100644 index 0000000..1ebf4ca Binary files /dev/null and b/ExtendedBody/ExtendedBody_PD/bone1.wav differ diff --git a/ExtendedBody/ExtendedBody_PD/craking.wav b/ExtendedBody/ExtendedBody_PD/craking.wav new file mode 100644 index 0000000..c5a913a Binary files /dev/null and b/ExtendedBody/ExtendedBody_PD/craking.wav differ diff --git a/ExtendedBody/ExtendedBody_PD/hearbeat1.wav b/ExtendedBody/ExtendedBody_PD/hearbeat1.wav new file mode 100644 index 0000000..aa26abb Binary files /dev/null and b/ExtendedBody/ExtendedBody_PD/hearbeat1.wav differ diff --git a/ExtendedBody/ExtendedBody_PD/hearbeat3.wav b/ExtendedBody/ExtendedBody_PD/hearbeat3.wav new file mode 100644 index 0000000..bc84639 Binary files /dev/null and b/ExtendedBody/ExtendedBody_PD/hearbeat3.wav differ diff --git a/ExtendedBody/ExtendedBody_PD/loop1.wav b/ExtendedBody/ExtendedBody_PD/loop1.wav new file mode 100644 index 0000000..9a88989 Binary files /dev/null and b/ExtendedBody/ExtendedBody_PD/loop1.wav differ diff --git a/ExtendedBody/ExtendedBody_PD/map.pd b/ExtendedBody/ExtendedBody_PD/map.pd new file mode 100644 index 0000000..184132f --- /dev/null +++ b/ExtendedBody/ExtendedBody_PD/map.pd @@ -0,0 +1,46 @@ +#N canvas 56 241 511 247 12; +#X text 139 12 Y = (X-A)/(B-A) * (D-C) + C; +#X obj 97 170 expr ($f1-$f2)/($f3-$f2)*($f5-$f4)+$f4; +#X obj 12 41 inlet input; +#X obj 99 42 inlet in-min; +#X obj 196 44 inlet in-max; +#X obj 288 44 inlet out-min; +#X obj 388 44 inlet out-max; +#X obj 97 202 outlet; +#X floatatom 118 117 5 0 0 0 - - - 0; +#X obj 124 92 f \$1; +#X obj 390 155 loadbang; +#X obj 124 68 r \$0-lb; +#X floatatom 203 119 5 0 0 0 - - - 0; +#X obj 209 70 r \$0-lb; +#X obj 209 94 f \$2; +#X floatatom 293 122 5 0 0 0 - - - 0; +#X obj 299 73 r \$0-lb; +#X obj 299 97 f \$3; +#X floatatom 388 121 5 0 0 0 - - - 0; +#X obj 394 72 r \$0-lb; +#X obj 394 96 f \$4; +#X obj 390 182 s \$0-lb; +#X obj 23 125 clip 0 127; +#X connect 1 0 7 0; +#X connect 2 0 22 0; +#X connect 3 0 8 0; +#X connect 4 0 12 0; +#X connect 5 0 15 0; +#X connect 6 0 18 0; +#X connect 8 0 1 1; +#X connect 9 0 8 0; +#X connect 9 0 22 1; +#X connect 10 0 21 0; +#X connect 11 0 9 0; +#X connect 12 0 1 2; +#X connect 13 0 14 0; +#X connect 14 0 12 0; +#X connect 14 0 22 2; +#X connect 15 0 1 3; +#X connect 16 0 17 0; +#X connect 17 0 15 0; +#X connect 18 0 1 4; +#X connect 19 0 20 0; +#X connect 20 0 18 0; +#X connect 22 0 1 0; diff --git a/ExtendedBody/ExtendedBody_PD/playAudioFile~.pd b/ExtendedBody/ExtendedBody_PD/playAudioFile~.pd new file mode 100644 index 0000000..4f4192c --- /dev/null +++ b/ExtendedBody/ExtendedBody_PD/playAudioFile~.pd @@ -0,0 +1,200 @@ +#N canvas 39 25 1241 755 10; +#X obj 231 321 inlet; +#X obj 910 319 inlet; +#X obj 387 724 outlet~; +#X obj 323 321 inlet; +#X text 130 289 input to receive play; +#X text 364 19 This patch prepares and exectue the reading of an audio file; +#X text 306 288 input to receive stop; +#X text 395 47 Play and retrig are executed until a stop message; +#X text 907 287 input to receive the file Name; +#X obj 666 511 tabread~ \$0-array; +#N canvas 56 25 1224 755 retrieve&StoreFileIntoAnArray 0; +#X obj 251 139 inlet; +#X obj 251 379 outlet; +#X obj 251 214 symbol; +#X msg 251 308 read -resize \$1 \$2; +#X obj 307 214 symbol \$0-array; +#X obj 251 252 pack s s; +#X obj 251 181 t a b; +#X text 249 108 input to receive the name of the file; +#X text 8 212 convert the fileName into a symbol; +#X text 429 211 name of the array (see arrayNameGenerator subpatch); +#X obj 251 344 soundfiler; +#X text 428 248 prepare retrieve&storeFile message; +#X text 428 308 retrieve&store Message; +#X text 430 383 Return the lenght of the file in samples as an output; +#X text 431 22 To play an audio file we need to know the name of the file to retreieve it and the name of the array to store it; +#X text 430 343 retrieve&store Object; +#N canvas 4 23 845 476 ArrayNameGenerator 0; +#X obj 57 58 loadbang; +#X obj 57 88 f \$0; +#X text 128 55 as soon as an instance of playAudioFile is created \, this subpatch generates an individual random number \$0 that can be used to name the array; +#X text 128 105 every time you call up the playAudioFile abstraction \, a new number will be generated; +#X text 128 145 As a result \, each array in each playAudioFile abstractions will have a unique name.; +#X connect 0 0 1 0; +#X restore 825 143 pd ArrayNameGenerator; +#X text 818 109 subPtach to generate the Array Name; +#X connect 0 0 6 0; +#X connect 2 0 5 0; +#X connect 3 0 10 0; +#X connect 4 0 5 1; +#X connect 5 0 3 0; +#X connect 6 0 2 0; +#X connect 6 1 4 0; +#X connect 10 0 1 0; +#X restore 910 391 pd retrieve&StoreFileIntoAnArray; +#X text 792 510 object to read the file stored into the Array; +#X text 666 148 << This is where we store the audiofile; +#X text 666 167 << This is an array; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \$0-array 187513 float 2; +#X coords 0 -1 187513 1 200 140 2 0 0; +#X restore 442 112 graph; +#N canvas 669 389 450 300 fadeInFadeOut 0; +#X obj 111 43 inlet; +#X obj 126 188 outlet~; +#X obj 161 43 inlet; +#X text 94 22 FadeIn; +#X text 158 22 FadeOut; +#X obj 126 148 line~; +#X msg 161 88 0 50; +#X msg 111 88 1 0; +#X connect 0 0 7 0; +#X connect 2 0 6 0; +#X connect 5 0 1 0; +#X connect 6 0 5 0; +#X connect 7 0 5 0; +#X restore 231 512 pd fadeInFadeOut; +#X obj 387 682 *~; +#X text 701 286 input to receive pitch; +#X obj 231 449 t b b; +#N canvas 39 23 450 300 initializeVolume 0; +#X obj 21 29 loadbang; +#X obj 21 56 delay 1; +#X obj 21 112 outlet; +#X msg 21 80 0.25; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 3 0 2 0; +#X restore 521 430 pd initializeVolume; +#X text 58 511 fade to avoid audioClicks; +#N canvas 16 23 1264 755 playRetrig 0; +#X obj 627 50 inlet; +#X obj 280 49 inlet; +#X obj 627 590 outlet~; +#X text 590 623 Play instructions output; +#X floatatom 762 142 5 44100 192000 0 - - - 0; +#X text 678 123 SAMPLE RATE OF THE AUDIOFILE; +#N canvas 506 105 664 554 lenghtOfTheAudioFile 0; +#X obj 170 221 / 1000; +#X obj 149 248 / 44; +#X obj 129 295 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X floatatom 120 173 5 0 0 0 - - - 0; +#X obj 120 221 i; +#X obj 153 195 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X floatatom 120 361 5 0 0 0 - - - 0; +#X obj 170 119 inlet; +#X text 169 96 SAMPLE RATE OF THE SOUND; +#X obj 120 119 inlet; +#X text 56 95 LENGHT (samples); +#X text 79 423 LENGHT(samples); +#X text 54 27 This patch calculate the lenght of the auiod file in samples and ms, f 71; +#X obj 120 398 outlet; +#X text 234 423 LENGHT (freq); +#X obj 234 398 outlet; +#X obj 222 296 t b f; +#X text 185 263 ms; +#X obj 234 360 /; +#X msg 222 323 1000; +#X text 284 358 convert ms to freq; +#X connect 0 0 1 1; +#X connect 1 0 2 0; +#X connect 1 0 16 0; +#X connect 2 0 6 0; +#X connect 3 0 4 0; +#X connect 3 0 4 1; +#X connect 4 0 1 0; +#X connect 4 0 6 0; +#X connect 5 0 4 0; +#X connect 6 0 13 0; +#X connect 7 0 0 0; +#X connect 7 0 5 0; +#X connect 9 0 3 0; +#X connect 16 0 19 0; +#X connect 16 1 18 1; +#X connect 18 0 15 0; +#X connect 19 0 18 0; +#X restore 627 185 pd lenghtOfTheAudioFile; +#X text 627 23 AUDIOFILE LENGHT (samples); +#X obj 468 51 inlet; +#X text 465 23 PITCH Control Input; +#X text 631 206 samples; +#X obj 627 526 *~; +#X obj 762 460 phasor~; +#X text 257 24 RETRIG input; +#X msg 801 435 0; +#X obj 279 257 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 762 312 f; +#X obj 467 257 t b f; +#X obj 762 368 * 1; +#X text 768 210 freq (how fast the phasor should cycle to reproduce the sample at the correct speed); +#X text 819 459 this phasor cycle at a certain speed through the array where the audio file is stored; +#X text 791 313 the speed is stored in this object. So that can be recalculated later according to a scale factor; +#X text 791 366 here we can apply a scale factor to change the playback speed and (as a result) the pitch of the sound; +#X connect 0 0 6 0; +#X connect 1 0 15 0; +#X connect 4 0 6 1; +#X connect 6 0 11 0; +#X connect 6 1 16 0; +#X connect 8 0 17 0; +#X connect 11 0 2 0; +#X connect 12 0 11 1; +#X connect 14 0 12 1; +#X connect 15 0 14 0; +#X connect 16 0 18 0; +#X connect 17 0 16 0; +#X connect 17 1 18 1; +#X connect 18 0 12 0; +#X restore 666 464 pd playRetrig; +#X text 664 533 audio output; +#N canvas 801 121 450 300 scaleSliderBetween0&1 0; +#X obj 65 111 / 127; +#X obj 65 18 inlet; +#X obj 65 173 outlet; +#X text 141 44 avoid 0 value; +#X text 139 75 clip value to 127 (max slider value by default); +#X text 139 111 normalize between 0 and 1; +#X obj 65 77 clip 1 127; +#X text 139 141 add offset to change the pitch between (1 = default pitch and 2 = two times the initial pitch); +#X obj 65 49 * 127; +#X obj 65 140 + 0.5; +#X connect 0 0 9 0; +#X connect 1 0 8 0; +#X connect 6 0 0 0; +#X connect 8 0 6 0; +#X connect 9 0 2 0; +#X restore 703 391 pd scaleSliderBetween0&1; +#X obj 522 599 *~; +#X obj 738 364 snapshot~; +#X obj 693 316 inlet~; +#X obj 759 341 metro 20; +#X obj 759 318 loadbang; +#X connect 0 0 18 0; +#X connect 1 0 10 0; +#X connect 3 0 15 1; +#X connect 9 0 24 1; +#X connect 10 0 21 2; +#X connect 15 0 16 0; +#X connect 16 0 2 0; +#X connect 18 0 15 0; +#X connect 18 1 21 0; +#X connect 19 0 24 0; +#X connect 21 0 9 0; +#X connect 23 0 21 1; +#X connect 24 0 16 1; +#X connect 25 0 23 0; +#X connect 26 0 25 0; +#X connect 27 0 25 0; +#X connect 28 0 27 0; +#X coords 0 755 1 754 201 140 0; diff --git a/ExtendedBody/ExtendedBody_PD/rhodes.wav b/ExtendedBody/ExtendedBody_PD/rhodes.wav new file mode 100644 index 0000000..921600c Binary files /dev/null and b/ExtendedBody/ExtendedBody_PD/rhodes.wav differ diff --git a/ExtendedBody/ExtendedBody_PD/sample~-help.pd b/ExtendedBody/ExtendedBody_PD/sample~-help.pd new file mode 100644 index 0000000..55d3b54 --- /dev/null +++ b/ExtendedBody/ExtendedBody_PD/sample~-help.pd @@ -0,0 +1,37 @@ +#N canvas 1245 173 508 360 12; +#X msg 181 65 samples/hello.wav; +#X obj 136 102 bng 15 250 50 0 empty empty empty 17 7 0 10 #c6ffc7 +#000000 #000000; +#X msg 202 41 samples/C4EP.wav; +#X obj 18 13 tgl 15 0 empty empty empty 17 7 0 10 #c6ffc7 #000000 #000000 +0 1; +#X obj 18 37 tempo 130 0.5; +#X obj 17 98 quant 0 2 4 7 9; +#X obj 17 68 rand 60 5 12 100; +#X floatatom 222 136 5 0 127 2 Speed\ (0.1-11.9\ &\ 12\ -\ 127) - - +0; +#X floatatom 250 173 5 0 1 2 Start\ Pos\ (0-1) - - 0; +#X floatatom 279 208 5 0 1 2 End\ Pos\ (0-1) - - 0; +#X obj 311 243 hsl 100 15 0 1 0 0 empty empty Scrub\\\ (0-1) -2 -8 +0 10 #fcfcfc #000000 #000000 0 1; +#X floatatom 164 233 5 0 127 2 Vel\ (0-127) - - 0; +#X text 264 134 Either 1 or 60 is normal speed; +#X text 81 8 load and playback a mono or stereo sample; +#X obj 136 264 sample~ samples/hello.wav; +#X obj 135 303 out~ 0.5; +#X msg 217 90 samples/Birds.wav; +#X connect 0 0 14 2; +#X connect 1 0 14 0; +#X connect 2 0 14 2; +#X connect 3 0 4 0; +#X connect 4 0 6 0; +#X connect 5 0 14 0; +#X connect 6 2 5 0; +#X connect 7 0 14 3; +#X connect 8 0 14 4; +#X connect 9 0 14 5; +#X connect 10 0 14 6; +#X connect 11 0 14 1; +#X connect 14 0 15 0; +#X connect 14 1 15 1; +#X connect 16 0 14 2; diff --git a/ExtendedBody/ExtendedBody_PD/sample~.pd b/ExtendedBody/ExtendedBody_PD/sample~.pd new file mode 100644 index 0000000..96d5f2b --- /dev/null +++ b/ExtendedBody/ExtendedBody_PD/sample~.pd @@ -0,0 +1,260 @@ +#N canvas 785 527 1030 771 12; +#X obj 254 160 soundfiler; +#X floatatom 284 203 8 0 0 2 \ Samples - - 0; +#X floatatom 301 315 8 0 0 2 \ Millis - - 0; +#X floatatom 375 225 5 0 0 2 samplerate - - 0; +#X obj 303 278 / 44.1; +#X obj 450 86 f \$0; +#X obj 373 14 array define \$0-sampleData; +#X obj 254 111 pack s f; +#X msg 266 40 samples/hello.wav; +#X obj 449 37 loadbang; +#X obj 375 246 * 0.001; +#X obj 254 16 inlet name; +#X obj 49 517 vline~; +#X floatatom 149 399 8 0 0 0 - - - 0; +#X obj 49 361 f; +#X msg 132 456 stop; +#X msg 177 480 \$1 100; +#X obj 149 428 / 1; +#X floatatom 184 428 5 0.5 2 0 - - - 0; +#X obj 242 379 hsl 50 15 0.1 2 0 0 empty empty Speed -2 -8 0 10 #fcfcc4 +#000000 #000000 0 1; +#X obj 687 15 inlet start%; +#X obj 687 118 *; +#X floatatom 687 92 5 0 1 1 0-1 - - 0; +#X floatatom 687 150 8 0 0 0 - - - 0; +#X obj 687 177 s \$0-start; +#X obj 79 281 r \$0-start; +#X floatatom 800 121 5 0 1 1 samples - - 0; +#X floatatom 800 186 8 0 0 0 - - - 0; +#X obj 799 17 inlet end%; +#X obj 800 213 s \$0-end; +#X obj 201 282 r \$0-end; +#X obj 82 413 r \$0-end; +#X obj 578 17 inlet speed; +#X floatatom 578 42 5 0 10 0 - - - 0; +#X obj 152 365 t b f; +#X obj 909 17 inlet scrub; +#X obj 909 108 *; +#X floatatom 909 81 5 0 1 1 0-1 - - 0; +#X floatatom 909 139 8 0 0 0 - - - 0; +#X obj 909 166 s \$0-scrub; +#X obj 177 455 r \$0-scrub; +#X obj 708 67 t b f; +#X obj 800 92 t b f; +#X obj 95 317 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 +#000000; +#X obj 85 338 expr (max($f1 \, $f2) - min($f1 \, $f2)) / $f3; +#X obj 49 688 outlet~; +#X obj 139 17 inlet velocity; +#X obj 139 70 / 127; +#X obj 139 44 clip 0 127; +#X obj 800 155 * 1; +#X obj 49 659 *~ 0.8; +#X obj 49 453 pack 0 f f; +#X floatatom 800 39 5 0 1 0 - - - 0; +#X msg 49 480 \$1 \, \$2 \$3; +#X obj 67 601 vline~; +#X obj 49 626 *~; +#X msg 79 574 0 3 \, 1 0 3; +#X obj 11 290 delay 3; +#N canvas 240 315 551 381 midi-p-shift 0; +#X obj 24 7 inlet midi-pitch; +#X msg 43 60 1 1.059 1.122 1.189 1.26 1.334 1.414 1.498 1.578 1.682 +1.782 1.888, f 68; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \$0-pitch-ratios 12 float 3; +#A 0 1 1.059 1.122 1.189 1.26 1.334 1.414 1.498 1.578 1.682 1.782 1.888 +; +#X coords 0 2 12 1 120 50 1 0 0; +#X restore 250 108 graph; +#X obj 43 87 array set \$0-pitch-ratios; +#X obj 42 33 loadbang; +#X obj 24 338 outlet playback-speed; +#X obj 71 189 array get \$0-pitch-ratios; +#X floatatom 72 219 5 0 0 0 - - - 0; +#X floatatom 24 231 5 0 0 0 - - - 0; +#X floatatom 24 307 5 0 0 0 - - - 0; +#X floatatom 24 158 5 0 127 0 - - - 0; +#X obj 24 181 / 12; +#X obj 24 205 int; +#X obj 24 256 - 2; +#X obj 24 281 expr (pow(2 \, $f1) / 8.0) * $f2; +#X obj 71 160 % 12; +#X obj 24 118 t f f; +#X connect 0 0 16 0; +#X connect 1 0 3 0; +#X connect 4 0 1 0; +#X connect 6 0 7 0; +#X connect 7 0 14 1; +#X connect 8 0 13 0; +#X connect 9 0 5 0; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 12 0 8 0; +#X connect 13 0 14 0; +#X connect 14 0 9 0; +#X connect 15 0 6 0; +#X connect 16 0 10 0; +#X connect 16 1 15 0; +#X restore 156 257 pd midi-p-shift; +#X obj 46 200 t b b f; +#X floatatom 46 167 5 0 0 0 - - - 0; +#X msg 64 103 60; +#X obj 64 76 loadbang; +#X obj 47 16 inlet pitch; +#X obj 578 111 moses 12; +#X obj 578 85 clip 0.1 127; +#X floatatom 581 203 5 0 0 0 - - - 0; +#X obj 46 135 f; +#X obj 103 226 moses 12; +#N canvas 870 113 175 171 parseName 0; +#X obj 40 42 symbol \$1; +#X obj 38 123 outlet; +#X obj 39 96 list trim; +#X obj 40 68 pack s; +#X obj 40 12 inlet; +#X connect 0 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X restore 282 72 pd parseName; +#X obj 450 61 t b b; +#X obj 137 98 pow 1.3; +#X obj 143 175 sel 0; +#X obj 555 532 delay 0; +#X obj 555 563 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc +#000000 #000000; +#X obj 555 690 outlet; +#X text 561 663 Bang at end; +#X obj 199 306 t b f; +#X obj 800 65 clip 0 1; +#X obj 687 43 clip 0 1; +#X obj 909 49 clip 0 1; +#X floatatom 191 210 5 0 127 0 - - - 0; +#X msg 254 137 read -resize \$1 \$2-sampleDataL \$2-sampleDataR; +#X obj 243 727 outlet~; +#X obj 243 664 *~ 0.8; +#X obj 243 639 *~; +#X obj 49 549 tabread4~ \$0-sampleDataL; +#X obj 243 547 tabread4~ \$0-sampleDataR; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \$0-sampleDataL 298924 float 2; +#X coords 0 1 298924 -1 200 140 1 0 0; +#X restore 474 289 graph; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \$0-sampleDataR 298924 float 2; +#X coords 0 1 298924 -1 200 140 1 0 0; +#X restore 711 290 graph; +#X obj 374 191 unpack f f f; +#X floatatom 455 218 5 0 0 0 - - - 0; +#X obj 155 691 *~ 0; +#X obj 454 245 expr if ($f1 == 1 \, 1 \, 0); +#X connect 0 0 1 0; +#X connect 0 0 4 0; +#X connect 0 1 90 0; +#X connect 1 0 41 0; +#X connect 1 0 36 1; +#X connect 1 0 26 0; +#X connect 2 0 13 0; +#X connect 3 0 10 0; +#X connect 4 0 2 0; +#X connect 5 0 7 1; +#X connect 7 0 82 0; +#X connect 8 0 7 0; +#X connect 9 0 70 0; +#X connect 10 0 4 1; +#X connect 10 0 44 2; +#X connect 11 0 7 0; +#X connect 12 0 86 0; +#X connect 12 0 87 0; +#X connect 13 0 17 0; +#X connect 14 0 51 0; +#X connect 15 0 12 0; +#X connect 16 0 12 0; +#X connect 17 0 51 2; +#X connect 17 0 73 1; +#X connect 18 0 17 1; +#X connect 19 0 34 0; +#X connect 20 0 79 0; +#X connect 21 0 23 0; +#X connect 22 0 21 0; +#X connect 23 0 24 0; +#X connect 25 0 14 1; +#X connect 25 0 44 0; +#X connect 26 0 49 0; +#X connect 27 0 29 0; +#X connect 28 0 52 0; +#X connect 30 0 77 0; +#X connect 31 0 51 1; +#X connect 32 0 33 0; +#X connect 33 0 65 0; +#X connect 34 0 13 0; +#X connect 34 1 18 0; +#X connect 35 0 80 0; +#X connect 36 0 38 0; +#X connect 37 0 36 0; +#X connect 38 0 39 0; +#X connect 40 0 16 0; +#X connect 41 0 22 0; +#X connect 41 1 21 1; +#X connect 42 0 26 0; +#X connect 42 1 49 1; +#X connect 43 0 44 0; +#X connect 44 0 13 0; +#X connect 46 0 48 0; +#X connect 47 0 71 0; +#X connect 48 0 47 0; +#X connect 48 0 72 0; +#X connect 49 0 27 0; +#X connect 50 0 45 0; +#X connect 50 0 92 0; +#X connect 51 0 53 0; +#X connect 52 0 78 0; +#X connect 53 0 12 0; +#X connect 54 0 55 1; +#X connect 54 0 85 1; +#X connect 55 0 50 0; +#X connect 56 0 54 0; +#X connect 57 0 14 0; +#X connect 58 0 34 0; +#X connect 59 0 57 0; +#X connect 59 0 73 0; +#X connect 59 1 56 0; +#X connect 59 2 68 0; +#X connect 60 0 59 0; +#X connect 61 0 67 1; +#X connect 62 0 61 0; +#X connect 63 0 67 0; +#X connect 64 0 34 0; +#X connect 64 0 66 0; +#X connect 64 1 58 0; +#X connect 65 0 64 0; +#X connect 65 0 67 1; +#X connect 67 0 60 0; +#X connect 68 0 34 0; +#X connect 68 1 58 0; +#X connect 69 0 7 0; +#X connect 70 0 69 0; +#X connect 70 1 5 0; +#X connect 71 0 50 1; +#X connect 72 0 15 0; +#X connect 73 0 74 0; +#X connect 74 0 75 0; +#X connect 77 0 43 0; +#X connect 77 1 44 1; +#X connect 78 0 42 0; +#X connect 79 0 22 0; +#X connect 80 0 37 0; +#X connect 81 0 58 0; +#X connect 82 0 0 0; +#X connect 84 0 83 0; +#X connect 85 0 84 0; +#X connect 86 0 55 0; +#X connect 87 0 85 0; +#X connect 90 0 3 0; +#X connect 90 2 91 0; +#X connect 91 0 93 0; +#X connect 92 0 83 0; +#X connect 93 0 92 1; diff --git a/ExtendedBody/ExtendedBody_PD/settings.json b/ExtendedBody/ExtendedBody_PD/settings.json new file mode 100644 index 0000000..d20a3b4 --- /dev/null +++ b/ExtendedBody/ExtendedBody_PD/settings.json @@ -0,0 +1,34 @@ +{ + "fileName": "_main.pd", + "CLArgs": { + "-p": "16", + "-C": "8", + "-B": "16", + "-N": "1", + "-G": "1", + "-M": "0", + "-H0,": "-6", + "-H1,": "-6", + "-H2,": "-6", + "-H3,": "-6", + "-H4,": "-6", + "-H5,": "-6", + "-H6,": "-6", + "-H7,": "-6", + "-I0,": "10", + "-I1,": "10", + "-I2,": "10", + "-I3,": "10", + "-I4,": "10", + "-I5,": "10", + "-I6,": "10", + "-I7,": "10", + "user": "", + "make": "", + "-X": "0", + "audioExpander": "0", + "-Y": "", + "-Z": "", + "--disable-led": "0" + } +} diff --git a/ExtendedBody/ExtendedBody_PD/sketch.js b/ExtendedBody/ExtendedBody_PD/sketch.js new file mode 100644 index 0000000..ffba3a9 --- /dev/null +++ b/ExtendedBody/ExtendedBody_PD/sketch.js @@ -0,0 +1,63 @@ +var guiSketch = new p5(( sketch ) => { + + let canvas_dimensions = [sketch.windowWidth, sketch.windowHeight]; + + let sensorNumber = 30; + + let chartTop = 100; + let chartBottom = canvas_dimensions[1]-chartTop; + let chartLeft = 100; + let chartRight = canvas_dimensions[0]-chartLeft; + + let dataRange = [0, 2.0]; + + let barWidth = (chartRight-chartLeft) / (sensorNumber*1.5); + + sketch.setup = function () { + sketch.createCanvas(canvas_dimensions[0], canvas_dimensions[1]); + } + + sketch.draw = function () { + sketch.background(255); + + sketch.noStroke(); + sketch.textSize(10); + + sensorNumber = 30; + barWidth = (chartRight-chartLeft) / (sensorNumber*1.5); + + + for (let i = 0; i < sensorNumber; i++) { + let x = sketch.map(i, 0, sensorNumber - 1, chartLeft, chartRight); + //let data = sketch.random(dataRange[0], dataRange[1]); + let data = Bela.data.buffers[0][i]; + let y = sketch.map(data, dataRange[0], dataRange[1], chartBottom, chartTop); + + sketch.strokeWeight(barWidth); + sketch.strokeCap(sketch.SQUARE); + sketch.stroke(0); + sketch.line(x, chartBottom, x, y); + + sketch.noStroke(); + sketch.textAlign(sketch.CENTER); + sketch.text(i, x, chartBottom + 15); + sketch.text(sketch.nf(data,0,3), x, chartBottom + 45); + } + + sketch.text("SENSOR:", chartLeft-barWidth*2, chartBottom + 15); + sketch.text("VALUE:", chartLeft-barWidth*2, chartBottom + 45); + } + + sketch.windowResized = function() { + if(sketch.windowWidth > 350 & sketch.windowHeight > 250) { + canvas_dimensions = [sketch.windowWidth, sketch.windowHeight] + sketch.resizeCanvas(canvas_dimensions[0], canvas_dimensions[1]); + + chartBottom = canvas_dimensions[1]-chartTop; + chartRight = canvas_dimensions[0]-chartLeft; + barWidth = (chartRight-chartLeft) / (sensorNumber*1.5); + } + } +}, 'gui'); + + diff --git a/ExtendedBody/ExtendedBody_PD/stomach1.wav b/ExtendedBody/ExtendedBody_PD/stomach1.wav new file mode 100644 index 0000000..ccdd381 Binary files /dev/null and b/ExtendedBody/ExtendedBody_PD/stomach1.wav differ diff --git a/ExtendedBody/ExtendedBody_PD/stomach3.wav b/ExtendedBody/ExtendedBody_PD/stomach3.wav new file mode 100644 index 0000000..b2640f2 Binary files /dev/null and b/ExtendedBody/ExtendedBody_PD/stomach3.wav differ diff --git a/ExtendedBody/tags.md b/ExtendedBody/tags.md new file mode 100644 index 0000000..c82e635 --- /dev/null +++ b/ExtendedBody/tags.md @@ -0,0 +1,20 @@ +--- +tags: + - processing_technique: + - spool_knitting + - chaining + - thread_wrapping + conductive_material: + - "Shieldex HC 40 Yarn" + - "metal chains" + - "harness buckles" + description: > + Extended Body is a project that aims to stick “future organs” externally + to a body through a structure composed of strips. These organs interact + when placed on the body and can be positioned in different locations, + creating varying interactions. + + Keywords: Augmented Body, Body Extension, Cyborg. +--- + +#tags diff --git a/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/_main.pd b/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/_main.pd new file mode 100644 index 0000000..94498f2 --- /dev/null +++ b/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/_main.pd @@ -0,0 +1,189 @@ +#N canvas 0 1 3834 2035 10; +#X obj 614 406 unpack f f f f f f f f f f f f f f f f f f f f f f f f f f, f 133; +#X obj 264 713 playAudioFile~; +#X obj 260 636 change; +#X obj 260 671 route 1 0; +#X obj 260 611 > 0.5; +#X obj 341 645 loadbang; +#X obj 464 713 playAudioFile~; +#X obj 460 636 change; +#X obj 460 671 route 1 0; +#X obj 541 645 loadbang; +#X msg 342 671 one.wav; +#X obj 644 713 playAudioFile~; +#X obj 640 636 change; +#X obj 640 671 route 1 0; +#X obj 721 645 loadbang; +#X obj 824 713 playAudioFile~; +#X obj 820 636 change; +#X obj 820 671 route 1 0; +#X obj 901 645 loadbang; +#X obj 196 158 loadbang; +#X obj 264 309 r bela_trill; +#X obj 56 243 s bela_setTrill; +#X text 372 336 We are working with Trill Craft; +#X text 372 310 This receives readings from the Trill sensor; +#X text 34 177 Initialise Trill sensor; +#X obj 264 744 throw~ output; +#X obj 464 744 throw~ output; +#X obj 644 744 throw~ output; +#X obj 824 744 throw~ output; +#X obj 611 850 catch~ output; +#X text 600 7 ............................; +#X text 600 17 . ____ ._____ _ .......___ .; +#X text 600 27 .| __ )| ____| |....../ _ |.; +#X text 600 47 .| |_) | |___| |___ / ___ |.; +#X text 600 57 .|____/|_____|_____/_/..._|.io; +#X text 600 67 ............................; +#X text 600 37 .| __ || __|.| |...../ _| |.; +#X text 30 28 Capacitive sensing with Trill Craft; +#X text 30 38 ====================================; +#X obj 205 243 s bela_setTrill; +#X text 364 236 [prescaler (; +#X text 368 257 value betwen 1 and 6; +#X text 364 214 Change sensitivity here; +#X obj 76 342 loadbang; +#X obj 76 363 metro 50; +#X msg 76 384 0; +#X obj 76 426 s bela_guiOut; +#X obj 76 405 list; +#X obj 196 179 t b b; +#X text 26 832 Every the time the programme is restarted the baseline; +#X text 26 852 reading of the sensor is reset.; +#X text 26 872 This means if you are touching anything connected to the; +#X text 26 892 sensor on start up this will be incorporated into the; +#X text 26 912 baseline.; +#X obj 611 886 dac~ 1 2; +#X text 30 58 This example is for capacitive sensing with Trill Craft.; +#X msg 56 215 new mycraft 1 CRAFT; +#X msg 205 215 prescaler mycraft 2; +#X obj 264 336 route mycraft; +#X text 30 78 Connect the sensor via I2C and open the GUI to see readings.; +#X text 30 108 https://learn.bela.io/tutorials/pure-data/sensors/capacitive-sensing/; +#X obj 1013 713 playAudioFile~; +#X obj 1009 636 change; +#X obj 1009 671 route 1 0; +#X obj 1090 645 loadbang; +#X obj 1213 713 playAudioFile~; +#X obj 1209 636 change; +#X obj 1209 671 route 1 0; +#X obj 1290 645 loadbang; +#X msg 1291 671 two.wav; +#X obj 1393 713 playAudioFile~; +#X obj 1389 636 change; +#X obj 1389 671 route 1 0; +#X obj 1470 645 loadbang; +#X msg 1471 671 three.wav; +#X obj 1573 713 playAudioFile~; +#X obj 1569 636 change; +#X obj 1569 671 route 1 0; +#X obj 1650 645 loadbang; +#X obj 1013 744 throw~ output; +#X obj 1213 744 throw~ output; +#X obj 1393 744 throw~ output; +#X obj 1573 744 throw~ output; +#X obj 1389 611 > 0.195; +#X msg 542 671 one.wav; +#X msg 722 671 two.wav; +#X msg 1651 671 seven.wav; +#X msg 86 644 0.5; +#X obj 87 607 loadbang; +#X obj 335 804 loadbang; +#X msg 1545 690 1; +#X msg 1628 581 0.5; +#X obj 1629 544 loadbang; +#X msg 142 561 0; +#X msg 152 571 0; +#X obj 1569 611 > 0.17; +#X obj 820 611 > 0.19; +#X obj 1209 611 > 0.19; +#X obj 460 611 > 0.19; +#X obj 640 611 > 0.19; +#X obj 1009 611 > 0.19; +#X msg 902 671 three.wav; +#X msg 1091 671 four.wav; +#X connect 0 0 4 0; +#X connect 0 1 98 0; +#X connect 0 2 99 0; +#X connect 0 3 96 0; +#X connect 0 4 100 0; +#X connect 0 5 97 0; +#X connect 0 6 83 0; +#X connect 0 7 95 0; +#X connect 1 0 25 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 3 1 1 1; +#X connect 4 0 2 0; +#X connect 5 0 10 0; +#X connect 6 0 26 0; +#X connect 7 0 8 0; +#X connect 8 0 6 0; +#X connect 8 1 6 1; +#X connect 9 0 84 0; +#X connect 10 0 1 3; +#X connect 11 0 27 0; +#X connect 12 0 13 0; +#X connect 13 0 11 0; +#X connect 13 1 11 1; +#X connect 14 0 85 0; +#X connect 15 0 28 0; +#X connect 16 0 17 0; +#X connect 17 0 15 0; +#X connect 17 1 15 1; +#X connect 18 0 101 0; +#X connect 19 0 48 0; +#X connect 20 0 58 0; +#X connect 29 0 54 0; +#X connect 29 0 54 1; +#X connect 43 0 44 0; +#X connect 44 0 45 0; +#X connect 45 0 47 0; +#X connect 47 0 46 0; +#X connect 48 0 57 0; +#X connect 48 1 56 0; +#X connect 56 0 21 0; +#X connect 57 0 39 0; +#X connect 58 0 0 0; +#X connect 58 0 47 1; +#X connect 61 0 79 0; +#X connect 62 0 63 0; +#X connect 63 0 61 0; +#X connect 63 1 61 1; +#X connect 64 0 102 0; +#X connect 65 0 80 0; +#X connect 66 0 67 0; +#X connect 67 0 65 0; +#X connect 67 1 65 1; +#X connect 68 0 69 0; +#X connect 69 0 65 3; +#X connect 70 0 81 0; +#X connect 71 0 72 0; +#X connect 72 0 70 0; +#X connect 72 1 70 1; +#X connect 73 0 74 0; +#X connect 74 0 70 3; +#X connect 75 0 82 0; +#X connect 76 0 77 0; +#X connect 77 0 75 0; +#X connect 77 1 75 1; +#X connect 78 0 86 0; +#X connect 83 0 71 0; +#X connect 84 0 6 3; +#X connect 85 0 11 3; +#X connect 86 0 75 3; +#X connect 87 0 1 2; +#X connect 88 0 87 0; +#X connect 90 0 75 0; +#X connect 91 0 75 2; +#X connect 92 0 91 0; +#X connect 93 0 1 1; +#X connect 94 0 75 1; +#X connect 95 0 76 0; +#X connect 96 0 16 0; +#X connect 97 0 66 0; +#X connect 98 0 7 0; +#X connect 99 0 12 0; +#X connect 100 0 62 0; +#X connect 101 0 15 3; +#X connect 102 0 61 3; diff --git a/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/build/Makefile.inc b/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/build/Makefile.inc new file mode 100644 index 0000000..989ec42 --- /dev/null +++ b/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/build/Makefile.inc @@ -0,0 +1,9 @@ +-include libraries/Gui/build/Makefile.link +-include libraries/Midi/build/Makefile.link +-include libraries/Pipe/build/Makefile.link +-include libraries/Scope/build/Makefile.link +-include libraries/Serial/build/Makefile.link +-include libraries/Trill/build/Makefile.link +-include libraries/WSServer/build/Makefile.link +-include libraries/libpd/build/Makefile.link +-include libraries/ne10/build/Makefile.link diff --git a/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/four.wav b/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/four.wav new file mode 100644 index 0000000..5989dcb Binary files /dev/null and b/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/four.wav differ diff --git a/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/one.wav b/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/one.wav new file mode 100644 index 0000000..cb23960 Binary files /dev/null and b/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/one.wav differ diff --git a/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/playAudioFile~.pd b/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/playAudioFile~.pd new file mode 100644 index 0000000..47bf688 --- /dev/null +++ b/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/playAudioFile~.pd @@ -0,0 +1,217 @@ +#N canvas 39 23 1241 755 10; +#X obj 231 321 inlet; +#X obj 910 319 inlet; +#X obj 387 724 outlet~; +#X obj 323 321 inlet; +#X text 130 289 input to receive play; +#X text 364 19 This patch prepares and exectue the reading of an audio +file; +#X text 306 288 input to receive stop; +#X text 395 47 Play and retrig are executed until a stop message; +#X text 907 287 input to receive the file Name; +#X obj 666 511 tabread~ \$0-array; +#N canvas 56 23 1224 755 retrieve&StoreFileIntoAnArray 0; +#X obj 251 139 inlet; +#X obj 251 379 outlet; +#X obj 251 214 symbol; +#X msg 251 308 read -resize \$1 \$2; +#X obj 307 214 symbol \$0-array; +#X obj 251 252 pack s s; +#X obj 251 181 t a b; +#X text 249 108 input to receive the name of the file; +#X text 8 212 convert the fileName into a symbol; +#X text 429 211 name of the array (see arrayNameGenerator subpatch) +; +#X obj 251 344 soundfiler; +#X text 428 248 prepare retrieve&storeFile message; +#X text 428 308 retrieve&store Message; +#X text 430 383 Return the lenght of the file in samples as an output +; +#X text 431 22 To play an audio file we need to know the name of the +file to retreieve it and the name of the array to store it; +#X text 430 343 retrieve&store Object; +#N canvas 4 23 845 476 ArrayNameGenerator 0; +#X obj 57 58 loadbang; +#X obj 57 88 f \$0; +#X text 128 55 as soon as an instance of playAudioFile is created \, +this subpatch generates an individual random number \$0 that can be +used to name the array; +#X text 128 105 every time you call up the playAudioFile abstraction +\, a new number will be generated; +#X text 128 145 As a result \, each array in each playAudioFile abstractions +will have a unique name.; +#X connect 0 0 1 0; +#X restore 825 143 pd ArrayNameGenerator; +#X text 818 109 subPtach to generate the Array Name; +#X connect 0 0 6 0; +#X connect 2 0 5 0; +#X connect 3 0 10 0; +#X connect 4 0 5 1; +#X connect 5 0 3 0; +#X connect 6 0 2 0; +#X connect 6 1 4 0; +#X connect 10 0 1 0; +#X restore 910 391 pd retrieve&StoreFileIntoAnArray; +#X text 792 510 object to read the file stored into the Array; +#X text 666 148 << This is where we store the audiofile; +#X text 666 167 << This is an array; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \$0-array 335999 float 2; +#X coords 0 -1 335999 1 200 140 2 0 0; +#X restore 442 112 graph; +#N canvas 669 389 450 300 fadeInFadeOut 0; +#X obj 111 43 inlet; +#X obj 126 188 outlet~; +#X obj 161 43 inlet; +#X text 94 22 FadeIn; +#X text 158 22 FadeOut; +#X obj 126 148 line~; +#X msg 161 88 0 50; +#X msg 111 88 1 0; +#X connect 0 0 7 0; +#X connect 2 0 6 0; +#X connect 5 0 1 0; +#X connect 6 0 5 0; +#X connect 7 0 5 0; +#X restore 231 512 pd fadeInFadeOut; +#X obj 387 682 *~; +#X text 701 286 input to receive pitch; +#X obj 231 449 t b b; +#N canvas 39 23 450 300 initializeVolume 0; +#X obj 21 29 loadbang; +#X obj 21 56 delay 1; +#X obj 21 112 outlet; +#X msg 21 80 0.25; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 3 0 2 0; +#X restore 521 430 pd initializeVolume; +#X text 58 511 fade to avoid audioClicks; +#N canvas 16 23 1264 755 playRetrig 0; +#X obj 627 50 inlet; +#X obj 280 49 inlet; +#X obj 627 590 outlet~; +#X text 590 623 Play instructions output; +#X floatatom 762 142 5 44100 192000 0 - - -; +#X text 678 123 SAMPLE RATE OF THE AUDIOFILE; +#N canvas 506 105 664 554 lenghtOfTheAudioFile 0; +#X obj 170 221 / 1000; +#X obj 149 248 / 44; +#X obj 129 295 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X floatatom 120 173 5 0 0 0 - - -; +#X obj 120 221 i; +#X obj 153 195 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X floatatom 120 361 5 0 0 0 - - -; +#X obj 170 119 inlet; +#X text 169 96 SAMPLE RATE OF THE SOUND; +#X obj 120 119 inlet; +#X text 56 95 LENGHT (samples); +#X text 79 423 LENGHT(samples); +#X text 54 27 This patch calculate the lenght of the auiod file in +samples and ms, f 71; +#X obj 120 398 outlet; +#X text 234 423 LENGHT (freq); +#X obj 234 398 outlet; +#X obj 222 296 t b f; +#X text 185 263 ms; +#X obj 234 360 /; +#X msg 222 323 1000; +#X text 284 358 convert ms to freq; +#X connect 0 0 1 1; +#X connect 1 0 2 0; +#X connect 1 0 16 0; +#X connect 2 0 6 0; +#X connect 3 0 4 0; +#X connect 3 0 4 1; +#X connect 4 0 1 0; +#X connect 4 0 6 0; +#X connect 5 0 4 0; +#X connect 6 0 13 0; +#X connect 7 0 0 0; +#X connect 7 0 5 0; +#X connect 9 0 3 0; +#X connect 16 0 19 0; +#X connect 16 1 18 1; +#X connect 18 0 15 0; +#X connect 19 0 18 0; +#X restore 627 185 pd lenghtOfTheAudioFile; +#X text 627 23 AUDIOFILE LENGHT (samples); +#X obj 468 51 inlet; +#X text 465 23 PITCH Control Input; +#X text 631 206 samples; +#X obj 627 526 *~; +#X obj 762 460 phasor~; +#X text 257 24 RETRIG input; +#X msg 801 435 0; +#X obj 279 257 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 762 312 f; +#X obj 467 257 t b f; +#X obj 762 368 * 1; +#X text 768 210 freq (how fast the phasor should cycle to reproduce +the sample at the correct speed); +#X text 819 459 this phasor cycle at a certain speed through the array +where the audio file is stored; +#X text 791 313 the speed is stored in this object. So that can be +recalculated later according to a scale factor; +#X text 791 366 here we can apply a scale factor to change the playback +speed and (as a result) the pitch of the sound; +#X connect 0 0 6 0; +#X connect 1 0 15 0; +#X connect 4 0 6 1; +#X connect 6 0 11 0; +#X connect 6 1 16 0; +#X connect 8 0 17 0; +#X connect 11 0 2 0; +#X connect 12 0 11 1; +#X connect 14 0 12 1; +#X connect 15 0 14 0; +#X connect 16 0 18 0; +#X connect 17 0 16 0; +#X connect 17 1 18 1; +#X connect 18 0 12 0; +#X restore 666 464 pd playRetrig; +#X text 664 533 audio output; +#N canvas 801 121 450 300 scaleSliderBetween0&1 0; +#X obj 65 111 / 127; +#X obj 65 18 inlet; +#X obj 65 173 outlet; +#X text 141 44 avoid 0 value; +#X text 139 75 clip value to 127 (max slider value by default); +#X text 139 111 normalize between 0 and 1; +#X obj 65 77 clip 1 127; +#X text 139 141 add offset to change the pitch between (1 = default +pitch and 2 = two times the initial pitch); +#X obj 65 140 + 1; +#X obj 65 49 * 127; +#X connect 0 0 8 0; +#X connect 1 0 9 0; +#X connect 6 0 0 0; +#X connect 8 0 2 0; +#X connect 9 0 6 0; +#X restore 703 391 pd scaleSliderBetween0&1; +#X obj 522 599 *~; +#X obj 738 364 snapshot~; +#X obj 693 316 inlet~; +#X obj 759 341 metro 20; +#X obj 759 318 loadbang; +#X connect 0 0 18 0; +#X connect 1 0 10 0; +#X connect 3 0 15 1; +#X connect 9 0 24 1; +#X connect 10 0 21 2; +#X connect 15 0 16 0; +#X connect 16 0 2 0; +#X connect 18 0 15 0; +#X connect 18 1 21 0; +#X connect 19 0 24 0; +#X connect 21 0 9 0; +#X connect 23 0 21 1; +#X connect 24 0 16 1; +#X connect 25 0 23 0; +#X connect 26 0 25 0; +#X connect 27 0 25 0; +#X connect 28 0 27 0; +#X coords 0 755 1 754 201 140 0; diff --git a/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/settings.json b/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/settings.json new file mode 100644 index 0000000..d20a3b4 --- /dev/null +++ b/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/settings.json @@ -0,0 +1,34 @@ +{ + "fileName": "_main.pd", + "CLArgs": { + "-p": "16", + "-C": "8", + "-B": "16", + "-N": "1", + "-G": "1", + "-M": "0", + "-H0,": "-6", + "-H1,": "-6", + "-H2,": "-6", + "-H3,": "-6", + "-H4,": "-6", + "-H5,": "-6", + "-H6,": "-6", + "-H7,": "-6", + "-I0,": "10", + "-I1,": "10", + "-I2,": "10", + "-I3,": "10", + "-I4,": "10", + "-I5,": "10", + "-I6,": "10", + "-I7,": "10", + "user": "", + "make": "", + "-X": "0", + "audioExpander": "0", + "-Y": "", + "-Z": "", + "--disable-led": "0" + } +} diff --git a/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/seven.wav b/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/seven.wav new file mode 100644 index 0000000..cb23960 Binary files /dev/null and b/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/seven.wav differ diff --git a/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/sketch.js b/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/sketch.js new file mode 100644 index 0000000..ffba3a9 --- /dev/null +++ b/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/sketch.js @@ -0,0 +1,63 @@ +var guiSketch = new p5(( sketch ) => { + + let canvas_dimensions = [sketch.windowWidth, sketch.windowHeight]; + + let sensorNumber = 30; + + let chartTop = 100; + let chartBottom = canvas_dimensions[1]-chartTop; + let chartLeft = 100; + let chartRight = canvas_dimensions[0]-chartLeft; + + let dataRange = [0, 2.0]; + + let barWidth = (chartRight-chartLeft) / (sensorNumber*1.5); + + sketch.setup = function () { + sketch.createCanvas(canvas_dimensions[0], canvas_dimensions[1]); + } + + sketch.draw = function () { + sketch.background(255); + + sketch.noStroke(); + sketch.textSize(10); + + sensorNumber = 30; + barWidth = (chartRight-chartLeft) / (sensorNumber*1.5); + + + for (let i = 0; i < sensorNumber; i++) { + let x = sketch.map(i, 0, sensorNumber - 1, chartLeft, chartRight); + //let data = sketch.random(dataRange[0], dataRange[1]); + let data = Bela.data.buffers[0][i]; + let y = sketch.map(data, dataRange[0], dataRange[1], chartBottom, chartTop); + + sketch.strokeWeight(barWidth); + sketch.strokeCap(sketch.SQUARE); + sketch.stroke(0); + sketch.line(x, chartBottom, x, y); + + sketch.noStroke(); + sketch.textAlign(sketch.CENTER); + sketch.text(i, x, chartBottom + 15); + sketch.text(sketch.nf(data,0,3), x, chartBottom + 45); + } + + sketch.text("SENSOR:", chartLeft-barWidth*2, chartBottom + 15); + sketch.text("VALUE:", chartLeft-barWidth*2, chartBottom + 45); + } + + sketch.windowResized = function() { + if(sketch.windowWidth > 350 & sketch.windowHeight > 250) { + canvas_dimensions = [sketch.windowWidth, sketch.windowHeight] + sketch.resizeCanvas(canvas_dimensions[0], canvas_dimensions[1]); + + chartBottom = canvas_dimensions[1]-chartTop; + chartRight = canvas_dimensions[0]-chartLeft; + barWidth = (chartRight-chartLeft) / (sensorNumber*1.5); + } + } +}, 'gui'); + + diff --git a/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/three.wav b/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/three.wav new file mode 100644 index 0000000..5989dcb Binary files /dev/null and b/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/three.wav differ diff --git a/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/two.wav b/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/two.wav new file mode 100644 index 0000000..cb23960 Binary files /dev/null and b/FierceChildlessCatLadies/FierceChildlessCatLadies_PD/two.wav differ diff --git a/FierceChildlessCatLadies/tags.md b/FierceChildlessCatLadies/tags.md new file mode 100644 index 0000000..227dc97 --- /dev/null +++ b/FierceChildlessCatLadies/tags.md @@ -0,0 +1,14 @@ +--- +tags: + - processing_technique: + - embroidering + - riveting + conductive_material: + - "Shieldex HC 40 Yarn" + - "rivets" + description: > + Creating a clothing system to support the lifestyle of the up and + coming Fierce Childless Cat Ladies movement. +--- + +# Tags diff --git a/Insomnia/tags.md b/Insomnia/tags.md new file mode 100644 index 0000000..c8dc279 --- /dev/null +++ b/Insomnia/tags.md @@ -0,0 +1,28 @@ +--- +tags: + - processing_technique: + - embroidering + conductive_material: + - "Shieldex HC 40 Yarn" + description: > + The concept originated firstly from the material we had at hand, + and secondly from our prior personal experiences. It is inspired + by issues of anxiety and depression that we both have experienced. + + Scanning the samples recorded in preparation for the workshop, + we discovered that we had both captured white noise, rain, and fire + sounds from our home environments. These are sounds we consider + soothing and helpful in dealing with an overactive mind that + prevents rest. + + We decided to upcycle the dress that Martina had brought, both + because it provided enough material for creating a pillowcase + and because its pattern visually suited the intended outcome. + + The choice of embroidery for the pressure-sensitive patches was + inspired by an interactive e-textile example presented during the + “getting to know the materials” session. It was also influenced by + Martina’s familiarity with the embroidery technique. +--- + +# Tags diff --git a/NiceToSeeYou/tags.md b/NiceToSeeYou/tags.md new file mode 100644 index 0000000..66ac33b --- /dev/null +++ b/NiceToSeeYou/tags.md @@ -0,0 +1,26 @@ +--- +tags: + - processing_technique: + - embroidering + - thermal_adhesive_bonding + conductive_material: + - "Shieldex HC 40 Yarn" + - "Shieldex Kiel + 30: copper plated nonwoven" + - "Shieldex Bremen RS: ripstop fabric metallized with pure silver" + - "Shieldex Technik-tex P130 + B: knitted fabric metallized with silver" + description: > + A synthesizer-bag powered by friend connection. The bag holds the + Bela and powerbank. Multiple capacitive sensors are placed on the + bag strap on the wearer’s back. Each sensor triggers a different + musical sound to reflect the connection between friends in a fun way. + + The speaker is placed on the shoulder part of the strap, so both the + hugger and huggee can listen together. The sounds evoke feelings of + connection, fusion, bonding, and strength. The electronic and + energizing sounds aim to express the emotional experience of connecting + with a friend. + + An instrument composition based on friend connection. +--- + +# Tags diff --git a/NoLanguageMask/NoLanguageMask_PD/_main.pd b/NoLanguageMask/NoLanguageMask_PD/_main.pd new file mode 100644 index 0000000..5ba4e46 --- /dev/null +++ b/NoLanguageMask/NoLanguageMask_PD/_main.pd @@ -0,0 +1,73 @@ +#N canvas 270 48 1440 856 10; +#X obj 263 397 unpack f f f f f f f f f f f f f f f f f f f f f f f f f f, f 133; +#X obj 196 158 loadbang; +#X obj 264 309 r bela_trill; +#X obj 56 243 s bela_setTrill; +#X text 372 336 We are working with Trill Craft; +#X text 372 310 This receives readings from the Trill sensor; +#X text 34 177 Initialise Trill sensor; +#X text 600 7 ............................; +#X text 600 17 . ____ ._____ _ .......___ .; +#X text 600 27 .| __ )| ____| |....../ _ |.; +#X text 600 47 .| |_) | |___| |___ / ___ |.; +#X text 600 57 .|____/|_____|_____/_/..._|.io; +#X text 600 67 ............................; +#X text 600 37 .| __ || __|.| |...../ _| |.; +#X text 30 28 Capacitive sensing with Trill Craft; +#X text 30 38 ====================================; +#X obj 205 243 s bela_setTrill; +#X text 364 236 [prescaler (; +#X text 368 257 value betwen 1 and 6; +#X text 364 214 Change sensitivity here; +#X obj 36 282 loadbang; +#X obj 36 303 metro 50; +#X msg 36 324 0; +#X obj 36 366 s bela_guiOut; +#X obj 36 345 list; +#X obj 196 179 t b b; +#X text 29 688 Every the time the programme is restarted the baseline; +#X text 29 708 reading of the sensor is reset.; +#X text 29 728 This means if you are touching anything connected to the; +#X text 29 748 sensor on start up this will be incorporated into the; +#X text 29 768 baseline.; +#X text 30 58 This example is for capacitive sensing with Trill Craft.; +#X msg 56 215 new mycraft 1 CRAFT; +#X msg 205 215 prescaler mycraft 2; +#X obj 264 336 route mycraft; +#X text 30 78 Connect the sensor via I2C and open the GUI to see readings.; +#X text 30 108 https://learn.bela.io/tutorials/pure-data/sensors/capacitive-sensing/; +#X obj 253 562 granular-delay; +#X obj 463 757 dac~, f 9; +#X obj 123 475 playAudioFile~; +#X obj 142 371 loadbang; +#X msg 185 443 one.wav; +#X obj 143 429 bng 16 250 50 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000; +#X obj 478 710 *~; +#X obj 467 505 vsl 16 136 0 127 0 0 empty empty empty 0 -9 0 10 #fcfcfc #000000 #000000 0 1; +#X connect 0 0 37 1; +#X connect 0 1 37 2; +#X connect 0 2 37 3; +#X connect 0 3 37 4; +#X connect 0 4 44 0; +#X connect 1 0 25 0; +#X connect 2 0 34 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 24 0; +#X connect 24 0 23 0; +#X connect 25 0 33 0; +#X connect 25 1 32 0; +#X connect 32 0 3 0; +#X connect 33 0 16 0; +#X connect 34 0 0 0; +#X connect 34 0 24 1; +#X connect 37 0 43 0; +#X connect 37 1 43 0; +#X connect 39 0 37 0; +#X connect 40 0 42 0; +#X connect 41 0 39 3; +#X connect 42 0 41 0; +#X connect 42 0 39 0; +#X connect 43 0 38 0; +#X connect 43 0 38 1; +#X connect 44 0 43 1; diff --git a/NoLanguageMask/NoLanguageMask_PD/four.wav b/NoLanguageMask/NoLanguageMask_PD/four.wav new file mode 100644 index 0000000..c5a5b0f Binary files /dev/null and b/NoLanguageMask/NoLanguageMask_PD/four.wav differ diff --git a/NoLanguageMask/NoLanguageMask_PD/granular-delay.pd b/NoLanguageMask/NoLanguageMask_PD/granular-delay.pd new file mode 100644 index 0000000..5f6812b --- /dev/null +++ b/NoLanguageMask/NoLanguageMask_PD/granular-delay.pd @@ -0,0 +1,2203 @@ +#N canvas 0 23 1254 751 10; +#X obj 106 332 inlet~; +#X obj 107 133 hsl 128 15 0 127 0 1 \$0-gran-fx-pitch-s \$0-gran-fx-pitch-r +PITCH 133 7 0 10 -262144 -1 -1 3200 1; +#X obj 107 148 hsl 128 15 0 127 0 1 \$0-gran-fx-grainsize-s \$0-gran-fx-grainsize-r +GRAIN 133 7 0 10 -262144 -1 -1 2300 1; +#X obj 484 29 r \$0-gran-fx-pitch-s; +#X obj 365 5 r \$0-gran-fx-grainsize-s; +#X obj 365 27 / 127; +#X obj 365 130 t b f; +#X floatatom 392 173 5 0 0 0 - - -, f 5; +#X obj 484 148 * 64; +#X obj 484 192 t b f; +#X obj 392 215 expr (pow(2 \, ($f2/12)) - 1) * (44100/$f1); +#X floatatom 392 262 5 0 0 0 - - -, f 5; +#X obj 392 191 t f f; +#X obj 365 49 * 44100; +#X obj 154 482 *~; +#X obj 107 178 hsl 128 15 0 127 0 1 \$0-gran-fx-dry/wet-s \$0-gran-fx-dry/wet-r +DRY/WET 133 7 0 10 -262144 -1 -1 7200 1; +#X obj 216 399 / 127; +#X obj 216 443 pack 0 50; +#X obj 216 465 line~; +#X obj 106 520 delwrite~ \$0-cloud1 8000; +#X obj 110 268 hsl 128 15 0 127 0 1 \$0-gran-fx-fback-s \$0-gran-fx-fback-r +FEEDBACK 133 7 0 10 -262144 -1 -1 0 1; +#X obj 107 163 hsl 128 15 0 127 0 1 \$0-gran-fx-reverb-s \$0-gran-fx-reverb-r +REVERB 133 7 0 10 -262144 -1 -1 12700 1; +#N canvas 0 22 872 596 reader-1&2 0; +#X obj 297 122 / 44.1; +#X floatatom 297 144 5 0 0 0 - - -, f 5; +#X obj 107 236 *~ -1; +#X obj 107 258 +~ 1; +#X obj 107 328 *~; +#X obj 122 281 sig~; +#X obj 122 303 samphold~; +#X obj 107 350 vd~ \$0-cloud1; +#X obj 107 392 *~; +#N canvas 0 22 250 217 hanning 0; +#X obj 78 104 -~; +#X obj 78 126 *~ 0.5; +#X obj 132 87 cos~; +#X obj 132 39 inlet~; +#X obj 78 148 outlet~; +#X obj 78 73 sig~ 1; +#X connect 0 0 1 0; +#X connect 1 0 4 0; +#X connect 2 0 0 1; +#X connect 3 0 2 0; +#X connect 5 0 0 0; +#X restore 344 356 pd hanning; +#X obj 437 234 *~ -1; +#X obj 437 256 +~ 1; +#X obj 437 326 *~; +#X obj 452 279 sig~; +#X obj 452 301 samphold~; +#X obj 437 348 vd~ \$0-cloud1; +#X obj 437 370 *~; +#N canvas 0 22 250 217 hanning 0; +#X obj 78 73 sig~ 1; +#X obj 78 104 -~; +#X obj 78 126 *~ 0.5; +#X obj 132 87 cos~; +#X obj 132 39 inlet~; +#X obj 78 148 outlet~; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 1 1; +#X connect 4 0 3 0; +#X restore 576 354 pd hanning; +#X obj 437 186 +~ 0.5; +#X obj 437 208 wrap~; +#X obj 297 263 t f f; +#X obj 297 163 * 8; +#X floatatom 297 185 5 0 0 0 - - -, f 5; +#X obj 107 439 *~ 0.5; +#X obj 294 440 *~ 0.5; +#X msg 297 204 \$1 50; +#X obj 297 226 line; +#X obj 294 469 throw~ \$0-grain-fx-fback; +#X obj 107 534 throw~ \$0-gran-fx-LEFT; +#X obj 467 441 *~ 0.5; +#X obj 467 536 throw~ \$0-gran-fx-RIGHT; +#X obj 297 95 r \$0-gran-fx-delay-to-reader; +#X obj 107 51 r~ \$0-gran-fx-freq-to-reader; +#X obj 107 169 phasor~; +#X connect 0 0 1 0; +#X connect 1 0 21 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 7 0; +#X connect 5 0 6 0; +#X connect 6 0 4 1; +#X connect 7 0 8 0; +#X connect 7 0 24 0; +#X connect 8 0 23 0; +#X connect 9 0 8 1; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 12 0 15 0; +#X connect 13 0 14 0; +#X connect 14 0 12 1; +#X connect 15 0 16 0; +#X connect 15 0 24 0; +#X connect 16 0 29 0; +#X connect 17 0 16 1; +#X connect 18 0 19 0; +#X connect 19 0 10 0; +#X connect 19 0 14 1; +#X connect 19 0 17 0; +#X connect 20 0 5 0; +#X connect 20 1 13 0; +#X connect 21 0 22 0; +#X connect 22 0 25 0; +#X connect 23 0 28 0; +#X connect 24 0 27 0; +#X connect 25 0 26 0; +#X connect 26 0 20 0; +#X connect 29 0 30 0; +#X connect 31 0 0 0; +#X connect 32 0 33 0; +#X connect 33 0 2 0; +#X connect 33 0 6 1; +#X connect 33 0 9 0; +#X connect 33 0 18 0; +#X restore 392 428 pd reader-1&2; +#X obj 392 353 sig~; +#X obj 392 377 +~; +#X obj 818 407 catch~ \$0-gran-fx-LEFT; +#X obj 971 406 catch~ \$0-gran-fx-RIGHT; +#X obj 392 405 s~ \$0-gran-fx-freq-to-reader; +#X obj 462 286 s \$0-gran-fx-delay-to-reader; +#N canvas 0 22 872 596 reader-3&4 0; +#X obj 297 122 / 44.1; +#X floatatom 297 144 5 0 0 0 - - -, f 5; +#X obj 205 169 phasor~; +#X obj 205 236 *~ -1; +#X obj 205 258 +~ 1; +#X obj 205 328 *~; +#X obj 220 281 sig~; +#X obj 220 303 samphold~; +#X obj 205 350 vd~ \$0-cloud1; +#X obj 205 372 *~; +#N canvas 0 22 250 217 hanning 0; +#X obj 78 73 sig~ 1; +#X obj 78 104 -~; +#X obj 78 126 *~ 0.5; +#X obj 132 87 cos~; +#X obj 132 39 inlet~; +#X obj 78 148 outlet~; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 1 1; +#X connect 4 0 3 0; +#X restore 344 356 pd hanning; +#X obj 437 234 *~ -1; +#X obj 437 256 +~ 1; +#X obj 437 326 *~; +#X obj 452 279 sig~; +#X obj 452 301 samphold~; +#X obj 437 348 vd~ \$0-cloud1; +#X obj 437 370 *~; +#N canvas 0 22 250 217 hanning 0; +#X obj 78 73 sig~ 1; +#X obj 78 104 -~; +#X obj 78 126 *~ 0.5; +#X obj 132 87 cos~; +#X obj 132 39 inlet~; +#X obj 78 148 outlet~; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 1 1; +#X connect 4 0 3 0; +#X restore 576 354 pd hanning; +#X obj 437 186 +~ 0.5; +#X obj 437 208 wrap~; +#X obj 297 263 t f f; +#X floatatom 297 185 5 0 0 0 - - -, f 5; +#X obj 294 440 *~ 0.5; +#X msg 297 204 \$1 50; +#X obj 297 226 line; +#X obj 294 469 throw~ \$0-grain-fx-fback; +#X obj 205 51 r~ \$0-gran-fx-freq-to-reader; +#X obj 297 95 r \$0-gran-fx-delay-to-reader; +#X obj 205 439 *~ 0.5; +#X obj 468 482 throw~ \$0-gran-fx-LEFT; +#X obj 467 441 *~ 0.5; +#X obj 209 503 throw~ \$0-gran-fx-RIGHT; +#X obj 297 163 * 7; +#X connect 0 0 1 0; +#X connect 1 0 33 0; +#X connect 2 0 3 0; +#X connect 2 0 7 1; +#X connect 2 0 10 0; +#X connect 2 0 19 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 8 0; +#X connect 6 0 7 0; +#X connect 7 0 5 1; +#X connect 8 0 9 0; +#X connect 8 0 23 0; +#X connect 9 0 29 0; +#X connect 10 0 9 1; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 16 0; +#X connect 14 0 15 0; +#X connect 15 0 13 1; +#X connect 16 0 17 0; +#X connect 16 0 23 0; +#X connect 17 0 31 0; +#X connect 18 0 17 1; +#X connect 19 0 20 0; +#X connect 20 0 11 0; +#X connect 20 0 15 1; +#X connect 20 0 18 0; +#X connect 21 0 6 0; +#X connect 21 1 14 0; +#X connect 22 0 24 0; +#X connect 23 0 26 0; +#X connect 24 0 25 0; +#X connect 25 0 21 0; +#X connect 27 0 2 0; +#X connect 28 0 0 0; +#X connect 29 0 32 0; +#X connect 31 0 30 0; +#X connect 33 0 22 0; +#X restore 392 458 pd reader-3&4; +#N canvas 0 22 872 596 reader-5&6 0; +#X obj 297 122 / 44.1; +#X floatatom 297 144 5 0 0 0 - - -, f 5; +#X obj 205 169 phasor~; +#X obj 205 236 *~ -1; +#X obj 205 258 +~ 1; +#X obj 205 328 *~; +#X obj 220 281 sig~; +#X obj 220 303 samphold~; +#X obj 205 350 vd~ \$0-cloud1; +#X obj 205 372 *~; +#N canvas 0 22 250 217 hanning 0; +#X obj 78 73 sig~ 1; +#X obj 78 104 -~; +#X obj 78 126 *~ 0.5; +#X obj 132 87 cos~; +#X obj 132 39 inlet~; +#X obj 78 148 outlet~; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 1 1; +#X connect 4 0 3 0; +#X restore 344 356 pd hanning; +#X obj 437 234 *~ -1; +#X obj 437 256 +~ 1; +#X obj 437 326 *~; +#X obj 452 279 sig~; +#X obj 452 301 samphold~; +#X obj 437 348 vd~ \$0-cloud1; +#X obj 437 370 *~; +#N canvas 0 22 250 217 hanning 0; +#X obj 78 73 sig~ 1; +#X obj 78 104 -~; +#X obj 78 126 *~ 0.5; +#X obj 132 87 cos~; +#X obj 132 39 inlet~; +#X obj 78 148 outlet~; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 1 1; +#X connect 4 0 3 0; +#X restore 576 354 pd hanning; +#X obj 437 186 +~ 0.5; +#X obj 437 208 wrap~; +#X obj 297 263 t f f; +#X floatatom 297 185 5 0 0 0 - - -, f 5; +#X obj 294 440 *~ 0.5; +#X msg 297 204 \$1 50; +#X obj 297 226 line; +#X obj 294 469 throw~ \$0-grain-fx-fback; +#X obj 205 51 r~ \$0-gran-fx-freq-to-reader; +#X obj 297 95 r \$0-gran-fx-delay-to-reader; +#X obj 205 439 *~ 0.5; +#X obj 205 534 throw~ \$0-gran-fx-LEFT; +#X obj 467 441 *~ 0.5; +#X obj 467 536 throw~ \$0-gran-fx-RIGHT; +#X obj 297 163 * 6; +#X connect 0 0 1 0; +#X connect 1 0 33 0; +#X connect 2 0 3 0; +#X connect 2 0 7 1; +#X connect 2 0 10 0; +#X connect 2 0 19 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 8 0; +#X connect 6 0 7 0; +#X connect 7 0 5 1; +#X connect 8 0 9 0; +#X connect 8 0 23 0; +#X connect 9 0 29 0; +#X connect 10 0 9 1; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 16 0; +#X connect 14 0 15 0; +#X connect 15 0 13 1; +#X connect 16 0 17 0; +#X connect 16 0 23 0; +#X connect 17 0 31 0; +#X connect 18 0 17 1; +#X connect 19 0 20 0; +#X connect 20 0 11 0; +#X connect 20 0 15 1; +#X connect 20 0 18 0; +#X connect 21 0 6 0; +#X connect 21 1 14 0; +#X connect 22 0 24 0; +#X connect 23 0 26 0; +#X connect 24 0 25 0; +#X connect 25 0 21 0; +#X connect 27 0 2 0; +#X connect 28 0 0 0; +#X connect 29 0 30 0; +#X connect 31 0 32 0; +#X connect 33 0 22 0; +#X restore 392 486 pd reader-5&6; +#X floatatom 392 303 5 0 0 0 - - -, f 5; +#N canvas 0 22 872 596 reader-7&8 0; +#X obj 297 122 / 44.1; +#X floatatom 297 144 5 0 0 0 - - -, f 5; +#X obj 205 169 phasor~; +#X obj 205 236 *~ -1; +#X obj 205 258 +~ 1; +#X obj 205 328 *~; +#X obj 220 281 sig~; +#X obj 220 303 samphold~; +#X obj 205 350 vd~ \$0-cloud1; +#X obj 205 372 *~; +#N canvas 0 22 250 217 hanning 0; +#X obj 78 73 sig~ 1; +#X obj 78 104 -~; +#X obj 78 126 *~ 0.5; +#X obj 132 87 cos~; +#X obj 132 39 inlet~; +#X obj 78 148 outlet~; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 1 1; +#X connect 4 0 3 0; +#X restore 344 356 pd hanning; +#X obj 437 234 *~ -1; +#X obj 437 256 +~ 1; +#X obj 437 326 *~; +#X obj 452 279 sig~; +#X obj 452 301 samphold~; +#X obj 437 348 vd~ \$0-cloud1; +#X obj 437 370 *~; +#N canvas 0 22 250 217 hanning 0; +#X obj 78 73 sig~ 1; +#X obj 78 104 -~; +#X obj 78 126 *~ 0.5; +#X obj 132 87 cos~; +#X obj 132 39 inlet~; +#X obj 78 148 outlet~; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 1 1; +#X connect 4 0 3 0; +#X restore 576 354 pd hanning; +#X obj 437 186 +~ 0.5; +#X obj 437 208 wrap~; +#X obj 297 263 t f f; +#X floatatom 297 185 5 0 0 0 - - -, f 5; +#X obj 294 440 *~ 0.5; +#X msg 297 204 \$1 50; +#X obj 297 226 line; +#X obj 294 469 throw~ \$0-grain-fx-fback; +#X obj 205 51 r~ \$0-gran-fx-freq-to-reader; +#X obj 297 95 r \$0-gran-fx-delay-to-reader; +#X obj 205 439 *~ 0.5; +#X obj 468 478 throw~ \$0-gran-fx-LEFT; +#X obj 467 441 *~ 0.5; +#X obj 201 500 throw~ \$0-gran-fx-RIGHT; +#X obj 297 163 * 5; +#X connect 0 0 1 0; +#X connect 1 0 33 0; +#X connect 2 0 3 0; +#X connect 2 0 7 1; +#X connect 2 0 10 0; +#X connect 2 0 19 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 8 0; +#X connect 6 0 7 0; +#X connect 7 0 5 1; +#X connect 8 0 9 0; +#X connect 8 0 23 0; +#X connect 9 0 29 0; +#X connect 10 0 9 1; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 16 0; +#X connect 14 0 15 0; +#X connect 15 0 13 1; +#X connect 16 0 17 0; +#X connect 16 0 23 0; +#X connect 17 0 31 0; +#X connect 18 0 17 1; +#X connect 19 0 20 0; +#X connect 20 0 11 0; +#X connect 20 0 15 1; +#X connect 20 0 18 0; +#X connect 21 0 6 0; +#X connect 21 1 14 0; +#X connect 22 0 24 0; +#X connect 23 0 26 0; +#X connect 24 0 25 0; +#X connect 25 0 21 0; +#X connect 27 0 2 0; +#X connect 28 0 0 0; +#X connect 29 0 32 0; +#X connect 31 0 30 0; +#X connect 33 0 22 0; +#X restore 392 518 pd reader-7&8; +#N canvas 0 22 872 596 reader-9&10 0; +#X obj 297 122 / 44.1; +#X floatatom 297 144 5 0 0 0 - - -, f 5; +#X obj 205 169 phasor~; +#X obj 205 236 *~ -1; +#X obj 205 258 +~ 1; +#X obj 205 328 *~; +#X obj 220 281 sig~; +#X obj 220 303 samphold~; +#X obj 205 350 vd~ \$0-cloud1; +#X obj 205 372 *~; +#N canvas 0 22 250 217 hanning 0; +#X obj 78 73 sig~ 1; +#X obj 78 104 -~; +#X obj 78 126 *~ 0.5; +#X obj 132 87 cos~; +#X obj 132 39 inlet~; +#X obj 78 148 outlet~; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 1 1; +#X connect 4 0 3 0; +#X restore 344 356 pd hanning; +#X obj 437 234 *~ -1; +#X obj 437 256 +~ 1; +#X obj 437 326 *~; +#X obj 452 279 sig~; +#X obj 452 301 samphold~; +#X obj 437 348 vd~ \$0-cloud1; +#X obj 437 370 *~; +#N canvas 0 22 250 217 hanning 0; +#X obj 78 73 sig~ 1; +#X obj 78 104 -~; +#X obj 78 126 *~ 0.5; +#X obj 132 87 cos~; +#X obj 132 39 inlet~; +#X obj 78 148 outlet~; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 1 1; +#X connect 4 0 3 0; +#X restore 576 354 pd hanning; +#X obj 437 186 +~ 0.5; +#X obj 437 208 wrap~; +#X obj 297 263 t f f; +#X floatatom 297 185 5 0 0 0 - - -, f 5; +#X obj 294 440 *~ 0.5; +#X msg 297 204 \$1 50; +#X obj 297 226 line; +#X obj 294 469 throw~ \$0-grain-fx-fback; +#X obj 205 51 r~ \$0-gran-fx-freq-to-reader; +#X obj 297 95 r \$0-gran-fx-delay-to-reader; +#X obj 205 439 *~ 0.5; +#X obj 207 555 throw~ \$0-gran-fx-LEFT; +#X obj 467 441 *~ 0.5; +#X obj 470 478 throw~ \$0-gran-fx-RIGHT; +#X obj 297 163 * 4; +#X connect 0 0 1 0; +#X connect 1 0 33 0; +#X connect 2 0 3 0; +#X connect 2 0 7 1; +#X connect 2 0 10 0; +#X connect 2 0 19 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 8 0; +#X connect 6 0 7 0; +#X connect 7 0 5 1; +#X connect 8 0 9 0; +#X connect 8 0 23 0; +#X connect 9 0 29 0; +#X connect 10 0 9 1; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 16 0; +#X connect 14 0 15 0; +#X connect 15 0 13 1; +#X connect 16 0 17 0; +#X connect 16 0 23 0; +#X connect 17 0 31 0; +#X connect 18 0 17 1; +#X connect 19 0 20 0; +#X connect 20 0 11 0; +#X connect 20 0 15 1; +#X connect 20 0 18 0; +#X connect 21 0 6 0; +#X connect 21 1 14 0; +#X connect 22 0 24 0; +#X connect 23 0 26 0; +#X connect 24 0 25 0; +#X connect 25 0 21 0; +#X connect 27 0 2 0; +#X connect 28 0 0 0; +#X connect 29 0 30 0; +#X connect 31 0 32 0; +#X connect 33 0 22 0; +#X restore 487 427 pd reader-9&10; +#X obj 392 281 * 1; +#X obj 484 170 - 32; +#X obj 216 372 r \$0-gran-fx-fback-s; +#N canvas 0 22 1257 752 reverb 0; +#X obj 366 24 inlet~; +#N canvas 0 22 450 300 reverberator-1 0; +#X obj 134 108 inlet~; +#X obj 204 109 inlet~; +#X obj 134 153 +~; +#X obj 189 152 -~; +#X obj 134 204 outlet~; +#X obj 186 223 outlet~; +#X obj 189 174 delwrite~ \$0-echo1 5.43216; +#X obj 186 201 delread~ \$0-echo1 5.43216; +#X connect 0 0 2 0; +#X connect 0 0 3 0; +#X connect 1 0 3 1; +#X connect 1 0 2 1; +#X connect 2 0 4 0; +#X connect 3 0 6 0; +#X connect 7 0 5 0; +#X restore 366 57 pd reverberator-1; +#N canvas 0 22 450 300 reverberator-2 0; +#X obj 134 108 inlet~; +#X obj 204 109 inlet~; +#X obj 134 153 +~; +#X obj 189 152 -~; +#X obj 134 204 outlet~; +#X obj 186 223 outlet~; +#X obj 186 201 delread~ \$0-echo2 8.45346; +#X obj 189 174 delwrite~ \$0-echo2 8.45346; +#X connect 0 0 2 0; +#X connect 0 0 3 0; +#X connect 1 0 3 1; +#X connect 1 0 2 1; +#X connect 2 0 4 0; +#X connect 3 0 7 0; +#X connect 6 0 5 0; +#X restore 366 93 pd reverberator-2; +#N canvas 0 22 450 300 reverberator-3 0; +#X obj 134 108 inlet~; +#X obj 204 109 inlet~; +#X obj 134 153 +~; +#X obj 189 152 -~; +#X obj 134 204 outlet~; +#X obj 186 223 outlet~; +#X obj 186 201 delread~ \$0-echo3 13.4367; +#X obj 189 174 delwrite~ \$0-echo3 13.4367; +#X connect 0 0 2 0; +#X connect 0 0 3 0; +#X connect 1 0 3 1; +#X connect 1 0 2 1; +#X connect 2 0 4 0; +#X connect 3 0 7 0; +#X connect 6 0 5 0; +#X restore 366 124 pd reverberator-3; +#N canvas 0 22 450 300 reverberator-4 0; +#X obj 134 108 inlet~; +#X obj 204 109 inlet~; +#X obj 134 153 +~; +#X obj 189 152 -~; +#X obj 134 204 outlet~; +#X obj 186 223 outlet~; +#X obj 189 174 delwrite~ \$0-echo4 21.5463; +#X obj 186 200 delread~ \$0-echo4 21.5463; +#X connect 0 0 2 0; +#X connect 0 0 3 0; +#X connect 1 0 3 1; +#X connect 1 0 2 1; +#X connect 2 0 4 0; +#X connect 3 0 6 0; +#X connect 7 0 5 0; +#X restore 366 156 pd reverberator-4; +#N canvas 0 22 450 300 reverberator-5 0; +#X obj 134 108 inlet~; +#X obj 204 109 inlet~; +#X obj 134 153 +~; +#X obj 189 152 -~; +#X obj 134 204 outlet~; +#X obj 186 223 outlet~; +#X obj 189 174 delwrite~ \$0-echo5 34.3876; +#X obj 186 201 delread~ \$0-echo5 34.3876; +#X connect 0 0 2 0; +#X connect 0 0 3 0; +#X connect 1 0 3 1; +#X connect 1 0 2 1; +#X connect 2 0 4 0; +#X connect 3 0 6 0; +#X connect 7 0 5 0; +#X restore 366 185 pd reverberator-5; +#N canvas 0 22 450 300 reverberator-6 0; +#X obj 134 108 inlet~; +#X obj 204 109 inlet~; +#X obj 134 153 +~; +#X obj 189 152 -~; +#X obj 134 204 outlet~; +#X obj 186 223 outlet~; +#X obj 189 174 delwrite~ \$0-echo6 55.5437; +#X obj 186 200 delread~ \$0-echo6 55.5437; +#X connect 0 0 2 0; +#X connect 0 0 3 0; +#X connect 1 0 3 1; +#X connect 1 0 2 1; +#X connect 2 0 4 0; +#X connect 3 0 6 0; +#X connect 7 0 5 0; +#X restore 366 217 pd reverberator-6; +#X obj 366 340 +~; +#X obj 465 340 +~; +#X obj 366 421 +~; +#X obj 410 421 -~; +#X obj 465 421 +~; +#X obj 482 459 -~; +#X obj 366 459 +~; +#X obj 410 459 +~; +#X obj 497 421 -~; +#X obj 450 459 -~; +#X obj 410 507 *~; +#X obj 366 507 *~; +#X obj 482 507 *~; +#X obj 450 507 *~; +#X obj 120 138 hsl 128 15 0 127 0 1 \$0-millerverb-reverb-s \$0-millerverb-reverb-r +REVERB 133 7 0 10 -262144 -1 -1 12700 1; +#X obj 366 645 delwrite~ \$0-loop1 60; +#X obj 410 622 delwrite~ \$0-loop2 71.9345; +#X obj 492 147 delread~ \$0-loop1 60; +#X obj 499 179 delread~ \$0-loop2 71.9345; +#X obj 450 595 delwrite~ \$0-loop3 86.754; +#X obj 482 565 delwrite~ \$0-loop4 95.945; +#X obj 553 294 delread~ \$0-loop3 86.754; +#X obj 516 261 delread~ \$0-loop4 95.945; +#X obj 586 353 / 127; +#X obj 586 377 * 0.452; +#X obj 222 404 lop~; +#X obj 222 434 lop~; +#X obj 289 404 lop~; +#X obj 289 434 lop~; +#X obj 120 154 hsl 128 15 0 127 0 1 \$0-millerverb-lowpass-s \$0-millerverb-lowpass-r +LOWPASS 133 7 0 10 -262144 -1 -1 9400 1; +#X obj 132 203 / 127; +#X obj 132 247 * 4950; +#X obj 132 269 + 50; +#X obj 132 291 pack 0 50; +#X obj 132 313 line; +#X obj 132 335 t f f f f; +#X obj 222 357 *~ 0.033; +#X obj 289 357 *~ 0.033; +#X obj 120 131 cnv 5 5 5 empty empty MILLERVERB 0 0 0 12 -262144 -66577 +0; +#X obj 272 217 cnv 5 5 5 empty empty RIGHT 0 0 0 8 -262144 -66577 0 +; +#X obj 273 111 cnv 5 5 5 empty empty LPASS 0 0 0 8 -262144 -66577 0 +; +#X obj 105 216 cnv 5 5 5 empty empty LEFT 0 0 0 8 -262144 -66577 0 +; +#X obj 120 168 hsl 128 15 0 127 0 1 \$0-millerverb-drywet-s \$0-millerverb-drywet-r +DRY/WET 133 7 0 10 -262144 -1 -1 12700 1; +#X obj 171 495 *~; +#X text 135 495 DRY; +#X obj 4 309 / 127; +#X msg 4 262 127 \$1; +#X obj 4 284 -; +#X obj 4 334 pack 0 50; +#X obj 4 356 line~; +#X obj 64 244 / 127; +#X obj 64 268 pack 0 50; +#X obj 222 473 *~; +#X obj 289 472 *~; +#X obj 4 221 t f f; +#X obj 656 380 inlet~; +#X obj 656 402 *~ 0.452; +#X obj 586 402 pack 0 50; +#X obj 586 424 line~; +#X obj 586 446 +~; +#X text 654 361 REVERB CV IN; +#X obj 809 153 inlet~; +#X obj 132 225 +; +#X obj 809 184 snapshot~; +#X obj 809 208 t b f; +#X obj 857 153 bang~; +#X obj 586 468 min~ 0.452; +#X obj 586 490 max~ -0.452; +#X obj 103 111 cnv 5 5 5 empty empty IN 0 0 0 8 -262144 -66577 0; +#X obj 184 111 cnv 5 5 5 empty empty REVERB 0 0 0 8 -262144 -66577 +0; +#X obj 288 635 *~; +#X obj 222 653 *~; +#X obj 222 675 clip~ -1 1; +#X obj 288 675 clip~ -1 1; +#X obj 222 697 outlet~; +#X obj 288 697 outlet~; +#X obj 120 183 hsl 128 15 0 127 0 1 \$0-millerverb-gain-s \$0-millerverb-gain-r +GAIN 133 7 0 10 -262144 -1 -1 12700 1; +#X obj 21 515 r \$0-millerverb-gain-s; +#X obj 21 537 / 127; +#X obj 21 624 pack 0 50; +#X obj 21 646 line~; +#X obj 21 581 + 1; +#X obj 21 559 * 4; +#X obj 194 131 cnv 5 5 5 empty \$0-instance-num 1 0 0 0 12 -262144 +-66577 0; +#X obj 66 344 line~; +#X obj 222 610 *~ 0.5; +#X obj 290 600 *~ 0.5; +#X connect 0 0 1 0; +#X connect 0 0 50 0; +#X connect 1 0 2 0; +#X connect 1 1 2 1; +#X connect 2 0 3 0; +#X connect 2 1 3 1; +#X connect 3 0 4 0; +#X connect 3 1 4 1; +#X connect 4 0 5 0; +#X connect 4 1 5 1; +#X connect 5 0 6 0; +#X connect 5 1 6 1; +#X connect 6 0 7 0; +#X connect 6 1 8 0; +#X connect 7 0 9 0; +#X connect 7 0 10 0; +#X connect 7 0 43 0; +#X connect 8 0 9 1; +#X connect 8 0 10 1; +#X connect 8 0 44 0; +#X connect 9 0 13 0; +#X connect 9 0 16 0; +#X connect 10 0 14 0; +#X connect 10 0 12 0; +#X connect 11 0 13 1; +#X connect 11 0 16 1; +#X connect 12 0 19 0; +#X connect 13 0 18 0; +#X connect 14 0 17 0; +#X connect 15 0 12 1; +#X connect 15 0 14 1; +#X connect 16 0 20 0; +#X connect 17 0 23 0; +#X connect 18 0 22 0; +#X connect 19 0 27 0; +#X connect 20 0 26 0; +#X connect 21 0 30 0; +#X connect 24 0 7 1; +#X connect 25 0 8 1; +#X connect 28 0 11 0; +#X connect 28 0 15 0; +#X connect 29 0 11 1; +#X connect 29 0 15 1; +#X connect 30 0 31 0; +#X connect 31 0 64 0; +#X connect 32 0 33 0; +#X connect 33 0 59 0; +#X connect 34 0 35 0; +#X connect 35 0 60 0; +#X connect 36 0 37 0; +#X connect 37 0 69 0; +#X connect 38 0 39 0; +#X connect 39 0 40 0; +#X connect 40 0 41 0; +#X connect 41 0 42 0; +#X connect 42 0 32 1; +#X connect 42 1 33 1; +#X connect 42 2 34 1; +#X connect 42 3 35 1; +#X connect 43 0 32 0; +#X connect 44 0 34 0; +#X connect 49 0 61 0; +#X connect 50 0 92 0; +#X connect 50 0 93 0; +#X connect 52 0 55 0; +#X connect 53 0 54 0; +#X connect 54 0 52 0; +#X connect 55 0 56 0; +#X connect 56 0 50 1; +#X connect 57 0 58 0; +#X connect 58 0 91 0; +#X connect 59 0 92 0; +#X connect 60 0 93 0; +#X connect 61 0 53 0; +#X connect 61 1 57 0; +#X connect 62 0 63 0; +#X connect 63 0 66 1; +#X connect 64 0 65 0; +#X connect 65 0 66 0; +#X connect 66 0 73 0; +#X connect 68 0 70 0; +#X connect 69 0 38 0; +#X connect 70 0 71 0; +#X connect 71 0 69 0; +#X connect 71 1 69 1; +#X connect 72 0 70 0; +#X connect 73 0 74 0; +#X connect 74 0 19 1; +#X connect 74 0 20 1; +#X connect 74 0 17 1; +#X connect 74 0 18 1; +#X connect 77 0 80 0; +#X connect 78 0 79 0; +#X connect 79 0 81 0; +#X connect 80 0 82 0; +#X connect 84 0 85 0; +#X connect 85 0 89 0; +#X connect 86 0 87 0; +#X connect 87 0 78 1; +#X connect 87 0 77 1; +#X connect 88 0 86 0; +#X connect 89 0 88 0; +#X connect 91 0 59 1; +#X connect 91 0 60 1; +#X connect 92 0 78 0; +#X connect 93 0 77 0; +#X restore 818 481 pd reverb; +#X obj 818 439 *~; +#X obj 1025 100 r \$0-gran-fx-reverb-s; +#X obj 1025 122 / 127; +#X obj 1025 144 t f f; +#X obj 986 211 pack 0 50; +#X obj 986 233 line~; +#X msg 1052 167 1 \$1; +#X obj 1052 189 -; +#X obj 1052 211 pack 0 50; +#X obj 883 482 *~; +#X obj 971 451 *~; +#N canvas 0 22 1257 752 reverb 0; +#X obj 366 24 inlet~; +#N canvas 0 22 450 300 reverberator-1 0; +#X obj 134 108 inlet~; +#X obj 204 109 inlet~; +#X obj 134 153 +~; +#X obj 189 152 -~; +#X obj 134 204 outlet~; +#X obj 186 223 outlet~; +#X obj 189 174 delwrite~ \$0-echo11 5.43216; +#X obj 186 201 delread~ \$0-echo11 5.43216; +#X connect 0 0 2 0; +#X connect 0 0 3 0; +#X connect 1 0 3 1; +#X connect 1 0 2 1; +#X connect 2 0 4 0; +#X connect 3 0 6 0; +#X connect 7 0 5 0; +#X restore 366 57 pd reverberator-1; +#N canvas 0 22 450 300 reverberator-2 0; +#X obj 134 108 inlet~; +#X obj 204 109 inlet~; +#X obj 134 153 +~; +#X obj 189 152 -~; +#X obj 134 204 outlet~; +#X obj 186 223 outlet~; +#X obj 189 174 delwrite~ \$0-echo22 8.45346; +#X obj 186 201 delread~ \$0-echo22 8.45346; +#X connect 0 0 2 0; +#X connect 0 0 3 0; +#X connect 1 0 3 1; +#X connect 1 0 2 1; +#X connect 2 0 4 0; +#X connect 3 0 6 0; +#X connect 7 0 5 0; +#X restore 366 93 pd reverberator-2; +#N canvas 0 22 450 300 reverberator-3 0; +#X obj 134 108 inlet~; +#X obj 204 109 inlet~; +#X obj 134 153 +~; +#X obj 189 152 -~; +#X obj 134 204 outlet~; +#X obj 186 223 outlet~; +#X obj 189 174 delwrite~ \$0-echo33 13.4367; +#X obj 186 201 delread~ \$0-echo33 13.4367; +#X connect 0 0 2 0; +#X connect 0 0 3 0; +#X connect 1 0 3 1; +#X connect 1 0 2 1; +#X connect 2 0 4 0; +#X connect 3 0 6 0; +#X connect 7 0 5 0; +#X restore 366 124 pd reverberator-3; +#N canvas 0 22 450 300 reverberator-4 0; +#X obj 134 108 inlet~; +#X obj 204 109 inlet~; +#X obj 134 153 +~; +#X obj 189 152 -~; +#X obj 134 204 outlet~; +#X obj 186 223 outlet~; +#X obj 189 174 delwrite~ \$0-echo44 21.5463; +#X obj 186 200 delread~ \$0-echo44 21.5463; +#X connect 0 0 2 0; +#X connect 0 0 3 0; +#X connect 1 0 3 1; +#X connect 1 0 2 1; +#X connect 2 0 4 0; +#X connect 3 0 6 0; +#X connect 7 0 5 0; +#X restore 366 156 pd reverberator-4; +#N canvas 0 22 450 300 reverberator-5 0; +#X obj 134 108 inlet~; +#X obj 204 109 inlet~; +#X obj 134 153 +~; +#X obj 189 152 -~; +#X obj 134 204 outlet~; +#X obj 186 223 outlet~; +#X obj 189 174 delwrite~ \$0-echo55 34.3876; +#X obj 186 201 delread~ \$0-echo55 34.3876; +#X connect 0 0 2 0; +#X connect 0 0 3 0; +#X connect 1 0 3 1; +#X connect 1 0 2 1; +#X connect 2 0 4 0; +#X connect 3 0 6 0; +#X connect 7 0 5 0; +#X restore 366 185 pd reverberator-5; +#N canvas 0 22 450 300 reverberator-6 0; +#X obj 134 108 inlet~; +#X obj 204 109 inlet~; +#X obj 134 153 +~; +#X obj 189 152 -~; +#X obj 134 204 outlet~; +#X obj 186 223 outlet~; +#X obj 189 174 delwrite~ \$0-echo66 55.5437; +#X obj 186 200 delread~ \$0-echo66 55.5437; +#X connect 0 0 2 0; +#X connect 0 0 3 0; +#X connect 1 0 3 1; +#X connect 1 0 2 1; +#X connect 2 0 4 0; +#X connect 3 0 6 0; +#X connect 7 0 5 0; +#X restore 366 217 pd reverberator-6; +#X obj 366 340 +~; +#X obj 465 340 +~; +#X obj 366 421 +~; +#X obj 410 421 -~; +#X obj 465 421 +~; +#X obj 482 459 -~; +#X obj 366 459 +~; +#X obj 410 459 +~; +#X obj 497 421 -~; +#X obj 450 459 -~; +#X obj 410 507 *~; +#X obj 366 507 *~; +#X obj 482 507 *~; +#X obj 450 507 *~; +#X obj 120 138 hsl 128 15 0 127 0 1 \$0-millerverb-reverb-s \$0-millerverb-reverb-r +REVERB 133 7 0 10 -262144 -1 -1 12700 1; +#X obj 553 294 delread~ \$0-loop3 86.754; +#X obj 516 261 delread~ \$0-loop4 95.945; +#X obj 586 353 / 127; +#X obj 586 377 * 0.452; +#X obj 222 404 lop~; +#X obj 222 434 lop~; +#X obj 289 404 lop~; +#X obj 289 434 lop~; +#X obj 120 154 hsl 128 15 0 127 0 1 \$0-millerverb-lowpass-s \$0-millerverb-lowpass-r +LOWPASS 133 7 0 10 -262144 -1 -1 9400 1; +#X obj 132 203 / 127; +#X obj 132 247 * 4950; +#X obj 132 269 + 50; +#X obj 132 291 pack 0 50; +#X obj 132 313 line; +#X obj 132 335 t f f f f; +#X obj 222 357 *~ 0.033; +#X obj 289 357 *~ 0.033; +#X obj 120 131 cnv 5 5 5 empty empty MILLERVERB 0 0 0 12 -262144 -66577 +0; +#X obj 272 217 cnv 5 5 5 empty empty RIGHT 0 0 0 8 -262144 -66577 0 +; +#X obj 273 111 cnv 5 5 5 empty empty LPASS 0 0 0 8 -262144 -66577 0 +; +#X obj 105 216 cnv 5 5 5 empty empty LEFT 0 0 0 8 -262144 -66577 0 +; +#X obj 120 168 hsl 128 15 0 127 0 1 \$0-millerverb-drywet-s \$0-millerverb-drywet-r +DRY/WET 133 7 0 10 -262144 -1 -1 12700 1; +#X obj 171 495 *~; +#X text 135 495 DRY; +#X obj 4 309 / 127; +#X msg 4 262 127 \$1; +#X obj 4 284 -; +#X obj 4 334 pack 0 50; +#X obj 4 356 line~; +#X obj 64 244 / 127; +#X obj 64 268 pack 0 50; +#X obj 222 473 *~; +#X obj 289 472 *~; +#X obj 4 221 t f f; +#X obj 656 380 inlet~; +#X obj 656 402 *~ 0.452; +#X obj 586 402 pack 0 50; +#X obj 586 424 line~; +#X obj 586 446 +~; +#X text 654 361 REVERB CV IN; +#X obj 809 153 inlet~; +#X obj 132 225 +; +#X obj 809 184 snapshot~; +#X obj 809 208 t b f; +#X obj 857 153 bang~; +#X obj 586 468 min~ 0.452; +#X obj 586 490 max~ -0.452; +#X obj 103 111 cnv 5 5 5 empty empty IN 0 0 0 8 -262144 -66577 0; +#X obj 184 111 cnv 5 5 5 empty empty REVERB 0 0 0 8 -262144 -66577 +0; +#X obj 288 635 *~; +#X obj 222 653 *~; +#X obj 222 675 clip~ -1 1; +#X obj 288 675 clip~ -1 1; +#X obj 222 697 outlet~; +#X obj 288 697 outlet~; +#X obj 120 183 hsl 128 15 0 127 0 1 \$0-millerverb-gain-s \$0-millerverb-gain-r +GAIN 133 7 0 10 -262144 -1 -1 12700 1; +#X obj 21 515 r \$0-millerverb-gain-s; +#X obj 21 537 / 127; +#X obj 21 624 pack 0 50; +#X obj 21 646 line~; +#X obj 21 581 + 1; +#X obj 21 559 * 4; +#X obj 194 131 cnv 5 5 5 empty \$0-instance-num 1 0 0 0 12 -262144 +-66577 0; +#X obj 66 344 line~; +#X obj 222 610 *~ 1; +#X obj 290 600 *~ 1; +#X obj 492 147 delread~ \$0-loop11 60; +#X obj 499 179 delread~ \$0-loop22 71.9345; +#X obj 482 565 delwrite~ \$0-loop44 95.945; +#X obj 450 595 delwrite~ \$0-loop33 86.754; +#X obj 410 622 delwrite~ \$0-loop22 71.9345; +#X obj 366 645 delwrite~ \$0-loop11 60; +#X connect 0 0 1 0; +#X connect 0 0 44 0; +#X connect 1 0 2 0; +#X connect 1 1 2 1; +#X connect 2 0 3 0; +#X connect 2 1 3 1; +#X connect 3 0 4 0; +#X connect 3 1 4 1; +#X connect 4 0 5 0; +#X connect 4 1 5 1; +#X connect 5 0 6 0; +#X connect 5 1 6 1; +#X connect 6 0 7 0; +#X connect 6 1 8 0; +#X connect 7 0 9 0; +#X connect 7 0 10 0; +#X connect 7 0 37 0; +#X connect 8 0 9 1; +#X connect 8 0 10 1; +#X connect 8 0 38 0; +#X connect 9 0 13 0; +#X connect 9 0 16 0; +#X connect 10 0 14 0; +#X connect 10 0 12 0; +#X connect 11 0 13 1; +#X connect 11 0 16 1; +#X connect 12 0 19 0; +#X connect 13 0 18 0; +#X connect 14 0 17 0; +#X connect 15 0 12 1; +#X connect 15 0 14 1; +#X connect 16 0 20 0; +#X connect 17 0 92 0; +#X connect 18 0 93 0; +#X connect 19 0 90 0; +#X connect 20 0 91 0; +#X connect 21 0 24 0; +#X connect 22 0 11 0; +#X connect 22 0 15 0; +#X connect 23 0 11 1; +#X connect 23 0 15 1; +#X connect 24 0 25 0; +#X connect 25 0 58 0; +#X connect 26 0 27 0; +#X connect 27 0 53 0; +#X connect 28 0 29 0; +#X connect 29 0 54 0; +#X connect 30 0 31 0; +#X connect 31 0 63 0; +#X connect 32 0 33 0; +#X connect 33 0 34 0; +#X connect 34 0 35 0; +#X connect 35 0 36 0; +#X connect 36 0 26 1; +#X connect 36 1 27 1; +#X connect 36 2 28 1; +#X connect 36 3 29 1; +#X connect 37 0 26 0; +#X connect 38 0 28 0; +#X connect 43 0 55 0; +#X connect 44 0 86 0; +#X connect 44 0 87 0; +#X connect 46 0 49 0; +#X connect 47 0 48 0; +#X connect 48 0 46 0; +#X connect 49 0 50 0; +#X connect 50 0 44 1; +#X connect 51 0 52 0; +#X connect 52 0 85 0; +#X connect 53 0 86 0; +#X connect 54 0 87 0; +#X connect 55 0 47 0; +#X connect 55 1 51 0; +#X connect 56 0 57 0; +#X connect 57 0 60 1; +#X connect 58 0 59 0; +#X connect 59 0 60 0; +#X connect 60 0 67 0; +#X connect 62 0 64 0; +#X connect 63 0 32 0; +#X connect 64 0 65 0; +#X connect 65 0 63 0; +#X connect 65 1 63 1; +#X connect 66 0 64 0; +#X connect 67 0 68 0; +#X connect 68 0 19 1; +#X connect 68 0 20 1; +#X connect 68 0 17 1; +#X connect 68 0 18 1; +#X connect 71 0 74 0; +#X connect 72 0 73 0; +#X connect 73 0 75 0; +#X connect 74 0 76 0; +#X connect 78 0 79 0; +#X connect 79 0 83 0; +#X connect 80 0 81 0; +#X connect 81 0 72 1; +#X connect 81 0 71 1; +#X connect 82 0 80 0; +#X connect 83 0 82 0; +#X connect 85 0 53 1; +#X connect 85 0 54 1; +#X connect 86 0 72 0; +#X connect 87 0 71 0; +#X connect 88 0 7 1; +#X connect 89 0 8 1; +#X restore 971 480 pd reverb; +#X obj 1042 480 *~; +#X obj 155 323 catch~ \$0-grain-fx-fback; +#X obj 155 345 *~ 0.1566; +#N canvas 0 22 872 596 reader-11&12 0; +#X obj 297 122 / 44.1; +#X floatatom 297 144 5 0 0 0 - - -, f 5; +#X obj 205 169 phasor~; +#X obj 205 236 *~ -1; +#X obj 205 258 +~ 1; +#X obj 205 328 *~; +#X obj 220 281 sig~; +#X obj 220 303 samphold~; +#X obj 205 350 vd~ \$0-cloud1; +#X obj 205 372 *~; +#N canvas 0 22 250 217 hanning 0; +#X obj 78 73 sig~ 1; +#X obj 78 104 -~; +#X obj 78 126 *~ 0.5; +#X obj 132 87 cos~; +#X obj 132 39 inlet~; +#X obj 78 148 outlet~; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 1 1; +#X connect 4 0 3 0; +#X restore 344 356 pd hanning; +#X obj 437 234 *~ -1; +#X obj 437 256 +~ 1; +#X obj 437 326 *~; +#X obj 452 279 sig~; +#X obj 452 301 samphold~; +#X obj 437 348 vd~ \$0-cloud1; +#X obj 437 370 *~; +#N canvas 0 22 250 217 hanning 0; +#X obj 78 73 sig~ 1; +#X obj 78 104 -~; +#X obj 78 126 *~ 0.5; +#X obj 132 87 cos~; +#X obj 132 39 inlet~; +#X obj 78 148 outlet~; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 1 1; +#X connect 4 0 3 0; +#X restore 576 354 pd hanning; +#X obj 437 186 +~ 0.5; +#X obj 437 208 wrap~; +#X obj 297 263 t f f; +#X floatatom 297 185 5 0 0 0 - - -, f 5; +#X obj 294 440 *~ 0.5; +#X msg 297 204 \$1 50; +#X obj 297 226 line; +#X obj 294 469 throw~ \$0-grain-fx-fback; +#X obj 205 51 r~ \$0-gran-fx-freq-to-reader; +#X obj 297 95 r \$0-gran-fx-delay-to-reader; +#X obj 205 439 *~ 0.5; +#X obj 468 478 throw~ \$0-gran-fx-LEFT; +#X obj 467 441 *~ 0.5; +#X obj 201 500 throw~ \$0-gran-fx-RIGHT; +#X obj 297 163 * 3; +#X connect 0 0 1 0; +#X connect 1 0 33 0; +#X connect 2 0 3 0; +#X connect 2 0 7 1; +#X connect 2 0 10 0; +#X connect 2 0 19 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 8 0; +#X connect 6 0 7 0; +#X connect 7 0 5 1; +#X connect 8 0 9 0; +#X connect 8 0 23 0; +#X connect 9 0 29 0; +#X connect 10 0 9 1; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 16 0; +#X connect 14 0 15 0; +#X connect 15 0 13 1; +#X connect 16 0 17 0; +#X connect 16 0 23 0; +#X connect 17 0 31 0; +#X connect 18 0 17 1; +#X connect 19 0 20 0; +#X connect 20 0 11 0; +#X connect 20 0 15 1; +#X connect 20 0 18 0; +#X connect 21 0 6 0; +#X connect 21 1 14 0; +#X connect 22 0 24 0; +#X connect 23 0 26 0; +#X connect 24 0 25 0; +#X connect 25 0 21 0; +#X connect 27 0 2 0; +#X connect 28 0 0 0; +#X connect 29 0 32 0; +#X connect 31 0 30 0; +#X connect 33 0 22 0; +#X restore 487 457 pd reader-11&12; +#X obj 216 421 * 0.8; +#N canvas 0 22 872 596 reader-15&16 0; +#X obj 297 122 / 44.1; +#X floatatom 297 144 5 0 0 0 - - -, f 5; +#X obj 205 169 phasor~; +#X obj 205 236 *~ -1; +#X obj 205 258 +~ 1; +#X obj 205 328 *~; +#X obj 220 281 sig~; +#X obj 220 303 samphold~; +#X obj 205 350 vd~ \$0-cloud1; +#X obj 205 372 *~; +#N canvas 0 22 250 217 hanning 0; +#X obj 78 73 sig~ 1; +#X obj 78 104 -~; +#X obj 78 126 *~ 0.5; +#X obj 132 87 cos~; +#X obj 132 39 inlet~; +#X obj 78 148 outlet~; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 1 1; +#X connect 4 0 3 0; +#X restore 344 356 pd hanning; +#X obj 437 234 *~ -1; +#X obj 437 256 +~ 1; +#X obj 437 326 *~; +#X obj 452 279 sig~; +#X obj 452 301 samphold~; +#X obj 437 348 vd~ \$0-cloud1; +#X obj 437 370 *~; +#N canvas 0 22 250 217 hanning 0; +#X obj 78 73 sig~ 1; +#X obj 78 104 -~; +#X obj 78 126 *~ 0.5; +#X obj 132 87 cos~; +#X obj 132 39 inlet~; +#X obj 78 148 outlet~; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 1 1; +#X connect 4 0 3 0; +#X restore 576 354 pd hanning; +#X obj 437 186 +~ 0.5; +#X obj 437 208 wrap~; +#X obj 297 263 t f f; +#X floatatom 297 185 5 0 0 0 - - -, f 5; +#X obj 294 440 *~ 0.5; +#X msg 297 204 \$1 50; +#X obj 297 226 line; +#X obj 294 469 throw~ \$0-grain-fx-fback; +#X obj 205 51 r~ \$0-gran-fx-freq-to-reader; +#X obj 297 95 r \$0-gran-fx-delay-to-reader; +#X obj 205 439 *~ 0.5; +#X obj 459 489 throw~ \$0-gran-fx-LEFT; +#X obj 467 441 *~ 0.5; +#X obj 206 497 throw~ \$0-gran-fx-RIGHT; +#X obj 297 163 * 1; +#X connect 0 0 1 0; +#X connect 1 0 33 0; +#X connect 2 0 3 0; +#X connect 2 0 7 1; +#X connect 2 0 10 0; +#X connect 2 0 19 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 8 0; +#X connect 6 0 7 0; +#X connect 7 0 5 1; +#X connect 8 0 9 0; +#X connect 8 0 23 0; +#X connect 9 0 29 0; +#X connect 10 0 9 1; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 16 0; +#X connect 14 0 15 0; +#X connect 15 0 13 1; +#X connect 16 0 17 0; +#X connect 16 0 23 0; +#X connect 17 0 31 0; +#X connect 18 0 17 1; +#X connect 19 0 20 0; +#X connect 20 0 11 0; +#X connect 20 0 15 1; +#X connect 20 0 18 0; +#X connect 21 0 6 0; +#X connect 21 1 14 0; +#X connect 22 0 24 0; +#X connect 23 0 26 0; +#X connect 24 0 25 0; +#X connect 25 0 21 0; +#X connect 27 0 2 0; +#X connect 28 0 0 0; +#X connect 29 0 32 0; +#X connect 31 0 30 0; +#X connect 33 0 22 0; +#X restore 487 517 pd reader-15&16; +#N canvas 0 22 872 596 reader-13&14 0; +#X obj 297 122 / 44.1; +#X floatatom 297 144 5 0 0 0 - - -, f 5; +#X obj 205 169 phasor~; +#X obj 205 236 *~ -1; +#X obj 205 258 +~ 1; +#X obj 205 328 *~; +#X obj 220 281 sig~; +#X obj 220 303 samphold~; +#X obj 205 350 vd~ \$0-cloud1; +#X obj 205 372 *~; +#N canvas 0 22 250 217 hanning 0; +#X obj 78 73 sig~ 1; +#X obj 78 104 -~; +#X obj 78 126 *~ 0.5; +#X obj 132 87 cos~; +#X obj 132 39 inlet~; +#X obj 78 148 outlet~; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 1 1; +#X connect 4 0 3 0; +#X restore 344 356 pd hanning; +#X obj 437 234 *~ -1; +#X obj 437 256 +~ 1; +#X obj 437 326 *~; +#X obj 452 279 sig~; +#X obj 452 301 samphold~; +#X obj 437 348 vd~ \$0-cloud1; +#X obj 437 370 *~; +#N canvas 0 22 250 217 hanning 0; +#X obj 78 73 sig~ 1; +#X obj 78 104 -~; +#X obj 78 126 *~ 0.5; +#X obj 132 87 cos~; +#X obj 132 39 inlet~; +#X obj 78 148 outlet~; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 1 1; +#X connect 4 0 3 0; +#X restore 576 354 pd hanning; +#X obj 437 186 +~ 0.5; +#X obj 437 208 wrap~; +#X obj 297 263 t f f; +#X floatatom 297 185 5 0 0 0 - - -, f 5; +#X obj 294 440 *~ 0.5; +#X msg 297 204 \$1 50; +#X obj 297 226 line; +#X obj 294 469 throw~ \$0-grain-fx-fback; +#X obj 205 51 r~ \$0-gran-fx-freq-to-reader; +#X obj 297 95 r \$0-gran-fx-delay-to-reader; +#X obj 205 439 *~ 0.5; +#X obj 200 522 throw~ \$0-gran-fx-LEFT; +#X obj 467 441 *~ 0.5; +#X obj 455 494 throw~ \$0-gran-fx-RIGHT; +#X obj 297 163 * 2; +#X connect 0 0 1 0; +#X connect 1 0 33 0; +#X connect 2 0 3 0; +#X connect 2 0 7 1; +#X connect 2 0 10 0; +#X connect 2 0 19 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 8 0; +#X connect 6 0 7 0; +#X connect 7 0 5 1; +#X connect 8 0 9 0; +#X connect 8 0 23 0; +#X connect 9 0 29 0; +#X connect 10 0 9 1; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 16 0; +#X connect 14 0 15 0; +#X connect 15 0 13 1; +#X connect 16 0 17 0; +#X connect 16 0 23 0; +#X connect 17 0 31 0; +#X connect 18 0 17 1; +#X connect 19 0 20 0; +#X connect 20 0 11 0; +#X connect 20 0 15 1; +#X connect 20 0 18 0; +#X connect 21 0 6 0; +#X connect 21 1 14 0; +#X connect 22 0 24 0; +#X connect 23 0 26 0; +#X connect 24 0 25 0; +#X connect 25 0 21 0; +#X connect 27 0 2 0; +#X connect 28 0 0 0; +#X connect 29 0 30 0; +#X connect 31 0 32 0; +#X connect 33 0 22 0; +#X restore 487 487 pd reader-13&14; +#X obj 205 123 cnv 5 5 5 empty \$0-instance-num 1 0 0 0 12 -262144 +-66577 0; +#X obj 103 123 cnv 5 5 5 empty empty GRANULAR-DELAY 0 0 0 12 -262144 +-66577 0; +#X obj 618 320 r \$0-gran-fx-dry/wet-s; +#X obj 618 342 / 127; +#X obj 618 364 t f f; +#X obj 817 600 *~; +#X obj 971 612 *~; +#X text 845 602 WET LEFT; +#X text 1048 659 WET RIGHT; +#X obj 601 559 *~; +#X obj 681 381 pack 0 50; +#X obj 817 628 clip~ -1 1; +#X obj 971 647 clip~ -1 1; +#X msg 618 386 1 \$1; +#X obj 618 408 -; +#X obj 618 430 pack 0 50; +#X obj 618 452 line~; +#X obj 817 689 outlet~; +#X obj 971 698 outlet~; +#X obj 103 108 cnv 5 5 5 empty empty IN 0 0 0 8 -262144 -66577 0; +#X obj 222 108 cnv 5 5 5 empty empty REVERB 0 0 0 8 -262144 -66577 +0; +#X obj 135 108 cnv 5 5 5 empty empty PITCH 0 0 0 8 -262144 -66577 0 +; +#X obj 181 108 cnv 5 5 5 empty empty GRAIN 0 0 0 8 -262144 -66577 0 +; +#X obj 267 108 cnv 5 5 5 empty empty D/W 0 0 0 8 -262144 -66577 0; +#N canvas 315 35 593 735 state-saving-multiple-instances 0; +#X obj 137 29 loadbang; +#X obj 184 452 textfile; +#X msg 471 435 rewind; +#X msg 428 435 bang; +#X obj 42 691 textfile; +#X obj 428 396 t b b; +#X obj 43 357 f; +#X obj 56 580 f; +#X obj -16 401 t b b b; +#X msg 119 580 clear; +#X obj 204 217 outlet; +#X text 246 221 INSTANCE NUMBER; +#X obj 165 153 f \$1; +#X obj 165 189 t f f f; +#X obj 138 62 t b b; +#X obj -16 378 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj -16 234 r SAVE-S; +#X obj 43 400 pack f f f f f; +#X obj 184 474 unpack f f f f f; +#X msg 43 438 set \$1 \$2 \$3 \$4 \$5; +#X msg 184 427 read statesave/\$1-granular-delay-ss.txt; +#X msg 55 651 write statesave/\$1-granular-delay-ss.txt; +#X obj 58 254 r \$0-gran-fx-pitch-s; +#X obj 184 627 s \$0-gran-fx-pitch-r; +#X obj 66 277 r \$0-gran-fx-grainsize-s; +#X obj 205 603 s \$0-gran-fx-grainsize-r; +#X obj 80 298 r \$0-gran-fx-fback-s; +#X obj 226 579 s \$0-gran-fx-fback-r; +#X obj 98 323 r \$0-gran-fx-reverb-s; +#X obj 247 555 s \$0-gran-fx-reverb-r; +#X obj 118 348 r \$0-gran-fx-dry/wet-s; +#X obj 275 529 s \$0-gran-fx-dry/wet-r; +#X connect 0 0 14 0; +#X connect 1 0 18 0; +#X connect 2 0 1 0; +#X connect 3 0 1 0; +#X connect 5 0 3 0; +#X connect 5 1 2 0; +#X connect 6 0 17 0; +#X connect 7 0 21 0; +#X connect 8 0 7 0; +#X connect 8 1 6 0; +#X connect 8 2 9 0; +#X connect 9 0 4 0; +#X connect 12 0 13 0; +#X connect 13 0 7 1; +#X connect 13 1 20 0; +#X connect 13 2 10 0; +#X connect 14 0 5 0; +#X connect 14 1 12 0; +#X connect 15 0 8 0; +#X connect 16 0 15 0; +#X connect 17 0 19 0; +#X connect 18 0 23 0; +#X connect 18 1 25 0; +#X connect 18 2 27 0; +#X connect 18 3 29 0; +#X connect 18 4 31 0; +#X connect 19 0 4 0; +#X connect 20 0 1 0; +#X connect 21 0 4 0; +#X connect 22 0 6 1; +#X connect 24 0 17 1; +#X connect 26 0 17 2; +#X connect 28 0 17 3; +#X connect 30 0 17 4; +#X restore 105 550 pd state-saving-multiple-instances; +#X obj 105 636 s \$0-instance-num; +#X obj 105 588 makefilename %d; +#X msg 105 613 label \$1; +#X obj 484 51 / 127; +#X obj 484 77 t f f; +#X obj 534 94 * 2; +#X obj 534 116 - 1; +#X floatatom 237 119 5 0 0 0 - - -, f 5; +#X obj 151 35 inlet~; +#X obj 985 157 * 1; +#X text 149 13 PITCH CV IN; +#X obj 151 57 snapshot~; +#X obj 151 79 t b f; +#X obj 204 34 bang~; +#X obj 484 99 +; +#X obj 365 93 +; +#X obj 265 -13 inlet~; +#X obj 265 9 *~ 44100; +#X obj 265 31 +~ 100; +#X obj 265 53 snapshot~; +#X obj 265 75 t b f; +#X obj 316 31 bang~; +#X obj 986 259 +~; +#X obj 659 43 inlet~; +#X obj 986 281 clip~ 0 1; +#X obj 1052 281 clip~ 0 1; +#X obj 1052 233 line~; +#X obj 1052 255 +~; +#X obj 1137 238 *~ -1; +#X text 653 23 REVERB CV IN; +#X obj 826 45 inlet~; +#X text 826 20 DRY/WET CV IN; +#X obj 618 474 +~; +#X obj 618 496 clip~ 0 1; +#X obj 680 495 clip~ 0 1; +#X obj 681 403 line~; +#X obj 681 425 +~; +#X obj 767 457 *~ -1; +#N canvas 81 22 1117 745 state-saving-via-preset-manager-module 0; +#X obj 477 349 textfile; +#X msg 755 332 rewind; +#X msg 712 332 bang; +#X obj 243 690 textfile; +#X obj 712 293 t b b; +#X obj 244 356 f; +#X obj 257 579 f; +#X obj 190 474 t b b b; +#X msg 373 621 clear; +#X obj 244 180 delay 5; +#X obj 190 529 delay 10; +#X msg 190 314 bang; +#X obj 190 155 r STORE-S!; +#X obj 477 250 f; +#X obj 450 207 t b b; +#X obj 465 171 t b f; +#X obj 522 268 f \$1; +#X obj 477 295 pack f f; +#X obj 522 218 loadbang; +#X obj 257 609 pack f f; +#X obj 302 562 loadbang; +#X obj 302 584 f \$1; +#X obj 465 122 r preset-manager-scan; +#X obj 272 540 r preset-manager-store-slot; +#X msg 243 490 set \$1 \$2 \$3 \$4; +#X obj 244 423 pack f f f f; +#X obj 477 371 unpack f f f f; +#X msg 256 650 write statesave/\$1-\$2-granular-delay-ss.txt; +#X msg 477 324 read statesave/\$1-\$2-granular-delay-ss.txt; +#X obj 259 308 r \$0-gran-fx-pitch-s; +#X obj 477 713 s \$0-gran-fx-pitch-r; +#X obj 267 330 r \$0-gran-fx-grainsize-s; +#X obj 504 615 s \$0-gran-fx-grainsize-r; +#X obj 290 352 r \$0-gran-fx-reverb-s; +#X obj 531 518 s \$0-gran-fx-reverb-r; +#X obj 313 374 r \$0-gran-fx-dry/wet-s; +#X obj 731 435 s \$0-gran-fx-dry/wet-r; +#X obj 465 144 i; +#N canvas 0 22 1069 747 morph-parameters 0; +#X obj 176 94 inlet; +#X obj 176 236 pack f f; +#X obj 176 261 line; +#X obj 209 117 r preset-manager-morph-s; +#X msg 72 244 stop; +#X obj 72 214 r STOP-MORPH!; +#X obj 209 206 spigot; +#X obj 398 137 t f f; +#X obj 455 154 == 0; +#X obj 221 176 f; +#X floatatom 455 222 5 0 0 0 - - -, f 5; +#X obj 398 159 t b f; +#X floatatom 425 192 5 0 0 0 - - -, f 5; +#X obj 209 139 t f f; +#X obj 398 102 r parameters-s; +#X obj 176 288 outlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 15 0; +#X connect 3 0 13 0; +#X connect 4 0 2 0; +#X connect 5 0 4 0; +#X connect 6 0 1 1; +#X connect 7 0 11 0; +#X connect 7 1 8 0; +#X connect 8 0 10 0; +#X connect 9 0 6 0; +#X connect 10 0 1 1; +#X connect 11 0 9 0; +#X connect 11 1 12 0; +#X connect 12 0 6 1; +#X connect 13 0 6 0; +#X connect 13 1 9 1; +#X connect 14 0 7 0; +#X restore 505 587 pd morph-parameters; +#N canvas 0 22 1069 747 morph-parameters 0; +#X obj 176 94 inlet; +#X obj 176 236 pack f f; +#X obj 176 261 line; +#X obj 209 117 r preset-manager-morph-s; +#X msg 72 244 stop; +#X obj 72 214 r STOP-MORPH!; +#X obj 209 206 spigot; +#X obj 398 137 t f f; +#X obj 455 154 == 0; +#X obj 221 176 f; +#X floatatom 455 222 5 0 0 0 - - -, f 5; +#X obj 398 159 t b f; +#X floatatom 425 192 5 0 0 0 - - -, f 5; +#X obj 209 139 t f f; +#X obj 398 102 r parameters-s; +#X obj 176 288 outlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 15 0; +#X connect 3 0 13 0; +#X connect 4 0 2 0; +#X connect 5 0 4 0; +#X connect 6 0 1 1; +#X connect 7 0 11 0; +#X connect 7 1 8 0; +#X connect 8 0 10 0; +#X connect 9 0 6 0; +#X connect 10 0 1 1; +#X connect 11 0 9 0; +#X connect 11 1 12 0; +#X connect 12 0 6 1; +#X connect 13 0 6 0; +#X connect 13 1 9 1; +#X connect 14 0 7 0; +#X restore 477 685 pd morph-parameters; +#N canvas 0 22 1069 747 morph-parameters 0; +#X obj 176 94 inlet; +#X obj 176 236 pack f f; +#X obj 176 261 line; +#X obj 209 117 r preset-manager-morph-s; +#X msg 72 244 stop; +#X obj 72 214 r STOP-MORPH!; +#X obj 209 206 spigot; +#X obj 398 137 t f f; +#X obj 455 154 == 0; +#X obj 221 176 f; +#X floatatom 455 222 5 0 0 0 - - -, f 5; +#X obj 398 159 t b f; +#X floatatom 425 192 5 0 0 0 - - -, f 5; +#X obj 209 139 t f f; +#X obj 398 102 r parameters-s; +#X obj 176 288 outlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 15 0; +#X connect 3 0 13 0; +#X connect 4 0 2 0; +#X connect 5 0 4 0; +#X connect 6 0 1 1; +#X connect 7 0 11 0; +#X connect 7 1 8 0; +#X connect 8 0 10 0; +#X connect 9 0 6 0; +#X connect 10 0 1 1; +#X connect 11 0 9 0; +#X connect 11 1 12 0; +#X connect 12 0 6 1; +#X connect 13 0 6 0; +#X connect 13 1 9 1; +#X connect 14 0 7 0; +#X restore 531 493 pd morph-parameters; +#N canvas 0 22 1069 747 morph-parameters 0; +#X obj 176 94 inlet; +#X obj 176 236 pack f f; +#X obj 176 261 line; +#X obj 209 117 r preset-manager-morph-s; +#X msg 72 244 stop; +#X obj 72 214 r STOP-MORPH!; +#X obj 209 206 spigot; +#X obj 398 137 t f f; +#X obj 455 154 == 0; +#X obj 221 176 f; +#X floatatom 455 222 5 0 0 0 - - -, f 5; +#X obj 398 159 t b f; +#X floatatom 425 192 5 0 0 0 - - -, f 5; +#X obj 209 139 t f f; +#X obj 398 102 r parameters-s; +#X obj 176 288 outlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 15 0; +#X connect 3 0 13 0; +#X connect 4 0 2 0; +#X connect 5 0 4 0; +#X connect 6 0 1 1; +#X connect 7 0 11 0; +#X connect 7 1 8 0; +#X connect 8 0 10 0; +#X connect 9 0 6 0; +#X connect 10 0 1 1; +#X connect 11 0 9 0; +#X connect 11 1 12 0; +#X connect 12 0 6 1; +#X connect 13 0 6 0; +#X connect 13 1 9 1; +#X connect 14 0 7 0; +#X restore 731 407 pd morph-parameters; +#X connect 0 0 26 0; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 4 0 2 0; +#X connect 4 1 1 0; +#X connect 5 0 25 0; +#X connect 6 0 19 0; +#X connect 7 0 10 0; +#X connect 7 1 9 0; +#X connect 7 2 8 0; +#X connect 8 0 3 0; +#X connect 9 0 5 0; +#X connect 10 0 6 0; +#X connect 11 0 7 0; +#X connect 12 0 11 0; +#X connect 13 0 17 0; +#X connect 14 0 4 0; +#X connect 14 1 13 0; +#X connect 15 0 14 0; +#X connect 15 1 13 1; +#X connect 16 0 17 1; +#X connect 17 0 28 0; +#X connect 18 0 16 0; +#X connect 19 0 27 0; +#X connect 20 0 21 0; +#X connect 21 0 19 1; +#X connect 22 0 37 0; +#X connect 23 0 6 1; +#X connect 24 0 3 0; +#X connect 25 0 24 0; +#X connect 26 0 39 0; +#X connect 26 1 38 0; +#X connect 26 2 40 0; +#X connect 26 3 41 0; +#X connect 27 0 3 0; +#X connect 28 0 0 0; +#X connect 29 0 5 1; +#X connect 31 0 25 1; +#X connect 33 0 25 2; +#X connect 35 0 25 3; +#X connect 37 0 15 0; +#X connect 38 0 32 0; +#X connect 39 0 30 0; +#X connect 40 0 34 0; +#X connect 41 0 36 0; +#X restore 102 667 pd state-saving-via-preset-manager-module; +#N canvas 297 27 518 295 parameter-nudging-system 0; +#X obj 21 171 clip 0 127; +#X obj 23 67 clip 0 127; +#X obj 171 67 clip 0 127; +#X obj 343 69 clip 0 127; +#X obj 23 22 r \$0-gran-fx-pitch-s; +#X obj 23 95 s \$0-gran-fx-pitch-r; +#X obj 171 22 r \$0-gran-fx-grainsize-s; +#X obj 171 95 s \$0-gran-fx-grainsize-r; +#X obj 343 22 r \$0-gran-fx-reverb-s; +#X obj 343 95 s \$0-gran-fx-reverb-r; +#X obj 21 126 r \$0-gran-fx-dry/wet-s; +#X obj 21 198 s \$0-gran-fx-dry/wet-r; +#N canvas 0 22 484 497 nudge-parameters 0; +#X obj 124 234 random; +#X obj 232 335 f; +#X obj 232 368 +; +#X obj 257 166 random 2; +#X obj 124 275 t f f; +#X obj 124 351 t b f; +#X obj 124 297 *; +#X obj 257 188 sel 0 1; +#X msg 257 280 -1; +#X msg 335 280 1; +#X obj 124 149 t b b b; +#X obj 124 74 r NUDGE!; +#X obj 157 193 r NUDGE-RANGE; +#X obj 247 308 inlet; +#X obj 232 397 outlet; +#X obj 124 96 spigot; +#X obj 185 79 r parameters2-s; +#X connect 0 0 4 0; +#X connect 1 0 2 0; +#X connect 2 0 14 0; +#X connect 3 0 7 0; +#X connect 4 0 6 0; +#X connect 5 0 2 0; +#X connect 5 1 2 1; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 7 1 9 0; +#X connect 8 0 6 1; +#X connect 9 0 6 1; +#X connect 10 0 0 0; +#X connect 10 1 1 0; +#X connect 10 2 3 0; +#X connect 11 0 15 0; +#X connect 12 0 0 1; +#X connect 13 0 1 1; +#X connect 15 0 10 0; +#X connect 16 0 15 1; +#X restore 351 44 pd nudge-parameters; +#N canvas 0 22 484 497 nudge-parameters 0; +#X obj 124 234 random; +#X obj 232 335 f; +#X obj 232 368 +; +#X obj 257 166 random 2; +#X obj 124 275 t f f; +#X obj 124 351 t b f; +#X obj 124 297 *; +#X obj 257 188 sel 0 1; +#X msg 257 280 -1; +#X msg 335 280 1; +#X obj 124 149 t b b b; +#X obj 124 74 r NUDGE!; +#X obj 157 193 r NUDGE-RANGE; +#X obj 247 308 inlet; +#X obj 232 397 outlet; +#X obj 124 96 spigot; +#X obj 185 79 r parameters2-s; +#X connect 0 0 4 0; +#X connect 1 0 2 0; +#X connect 2 0 14 0; +#X connect 3 0 7 0; +#X connect 4 0 6 0; +#X connect 5 0 2 0; +#X connect 5 1 2 1; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 7 1 9 0; +#X connect 8 0 6 1; +#X connect 9 0 6 1; +#X connect 10 0 0 0; +#X connect 10 1 1 0; +#X connect 10 2 3 0; +#X connect 11 0 15 0; +#X connect 12 0 0 1; +#X connect 13 0 1 1; +#X connect 15 0 10 0; +#X connect 16 0 15 1; +#X restore 23 45 pd nudge-parameters; +#N canvas 0 22 484 497 nudge-parameters 0; +#X obj 124 234 random; +#X obj 232 335 f; +#X obj 232 368 +; +#X obj 257 166 random 2; +#X obj 124 275 t f f; +#X obj 124 351 t b f; +#X obj 124 297 *; +#X obj 257 188 sel 0 1; +#X msg 257 280 -1; +#X msg 335 280 1; +#X obj 124 149 t b b b; +#X obj 124 74 r NUDGE!; +#X obj 157 193 r NUDGE-RANGE; +#X obj 247 308 inlet; +#X obj 232 397 outlet; +#X obj 124 96 spigot; +#X obj 185 79 r parameters2-s; +#X connect 0 0 4 0; +#X connect 1 0 2 0; +#X connect 2 0 14 0; +#X connect 3 0 7 0; +#X connect 4 0 6 0; +#X connect 5 0 2 0; +#X connect 5 1 2 1; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 7 1 9 0; +#X connect 8 0 6 1; +#X connect 9 0 6 1; +#X connect 10 0 0 0; +#X connect 10 1 1 0; +#X connect 10 2 3 0; +#X connect 11 0 15 0; +#X connect 12 0 0 1; +#X connect 13 0 1 1; +#X connect 15 0 10 0; +#X connect 16 0 15 1; +#X restore 22 149 pd nudge-parameters; +#N canvas 0 22 484 497 nudge-parameters 0; +#X obj 124 234 random; +#X obj 232 335 f; +#X obj 232 368 +; +#X obj 257 166 random 2; +#X obj 124 275 t f f; +#X obj 124 351 t b f; +#X obj 124 297 *; +#X obj 257 188 sel 0 1; +#X msg 257 280 -1; +#X msg 335 280 1; +#X obj 124 149 t b b b; +#X obj 124 74 r NUDGE!; +#X obj 157 193 r NUDGE-RANGE; +#X obj 247 308 inlet; +#X obj 232 397 outlet; +#X obj 124 96 spigot; +#X obj 185 79 r parameters2-s; +#X connect 0 0 4 0; +#X connect 1 0 2 0; +#X connect 2 0 14 0; +#X connect 3 0 7 0; +#X connect 4 0 6 0; +#X connect 5 0 2 0; +#X connect 5 1 2 1; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 7 1 9 0; +#X connect 8 0 6 1; +#X connect 9 0 6 1; +#X connect 10 0 0 0; +#X connect 10 1 1 0; +#X connect 10 2 3 0; +#X connect 11 0 15 0; +#X connect 12 0 0 1; +#X connect 13 0 1 1; +#X connect 15 0 10 0; +#X connect 16 0 15 1; +#X restore 168 46 pd nudge-parameters; +#X connect 0 0 11 0; +#X connect 1 0 5 0; +#X connect 2 0 7 0; +#X connect 3 0 9 0; +#X connect 4 0 13 0; +#X connect 6 0 15 0; +#X connect 8 0 12 0; +#X connect 10 0 14 0; +#X connect 12 0 3 0; +#X connect 13 0 1 0; +#X connect 14 0 0 0; +#X connect 15 0 2 0; +#X restore 103 695 pd parameter-nudging-system; +#X obj 817 650 *~ 1; +#X obj 971 669 *~ 1; +#X obj 365 71 + 1; +#N canvas 632 73 749 752 external-messages 0; +#X floatatom 186 706 5 0 0 0 - - -, f 5; +#X obj 185 328 spigot; +#X obj 218 288 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 254 272 ==; +#X obj 269 248 f \$1; +#X obj 269 224 loadbang; +#X msg 185 202 \$1 \$2; +#X msg 185 156 symbol \$1; +#X obj 185 180 pack s f; +#X obj 186 685 f; +#X obj 186 633 t b f; +#X obj 186 656 spigot; +#X obj 185 62 unpack s f f; +#X symbolatom 185 94 10 0 0 0 - - -, f 10; +#X obj 218 308 t f f; +#X obj 245 332 s \$0-msg-spigot; +#X obj 234 640 r \$0-msg-spigot; +#X floatatom 223 594 5 0 0 0 - - -, f 5; +#X obj 223 573 f; +#X obj 223 521 t b f; +#X obj 223 544 spigot; +#X obj 271 528 r \$0-msg-spigot; +#X floatatom 387 639 5 0 0 0 - - -, f 5; +#X obj 387 618 f; +#X obj 387 566 t b f; +#X obj 387 589 spigot; +#X obj 435 573 r \$0-msg-spigot; +#X floatatom 424 527 5 0 0 0 - - -, f 5; +#X obj 424 506 f; +#X obj 424 454 t b f; +#X obj 424 477 spigot; +#X obj 472 461 r \$0-msg-spigot; +#X obj 185 14 r granular-delay; +#X obj 185 379 route PITCH GRAIN REVERB DRY/WET; +#X obj 186 726 s \$0-gran-fx-pitch-r; +#X obj 223 614 s \$0-gran-fx-grainsize-r; +#X obj 387 659 s \$0-gran-fx-reverb-r; +#X obj 424 547 s \$0-gran-fx-dry/wet-r; +#X connect 0 0 34 0; +#X connect 1 0 33 0; +#X connect 2 0 14 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 4 0; +#X connect 6 0 1 0; +#X connect 7 0 8 0; +#X connect 8 0 6 0; +#X connect 9 0 0 0; +#X connect 10 0 11 0; +#X connect 10 1 9 1; +#X connect 11 0 9 0; +#X connect 12 0 13 0; +#X connect 12 1 8 1; +#X connect 12 2 3 0; +#X connect 13 0 7 0; +#X connect 14 0 1 1; +#X connect 14 1 15 0; +#X connect 16 0 11 1; +#X connect 17 0 35 0; +#X connect 18 0 17 0; +#X connect 19 0 20 0; +#X connect 19 1 18 1; +#X connect 20 0 18 0; +#X connect 21 0 20 1; +#X connect 22 0 36 0; +#X connect 23 0 22 0; +#X connect 24 0 25 0; +#X connect 24 1 23 1; +#X connect 25 0 23 0; +#X connect 26 0 25 1; +#X connect 27 0 37 0; +#X connect 28 0 27 0; +#X connect 29 0 30 0; +#X connect 29 1 28 1; +#X connect 30 0 28 0; +#X connect 31 0 30 1; +#X connect 32 0 12 0; +#X connect 33 0 10 0; +#X connect 33 1 19 0; +#X connect 33 2 24 0; +#X connect 33 3 29 0; +#X restore 300 694 pd external-messages; +#X connect 0 0 19 0; +#X connect 0 0 66 0; +#X connect 3 0 85 0; +#X connect 4 0 5 0; +#X connect 5 0 13 0; +#X connect 6 0 35 0; +#X connect 6 1 7 0; +#X connect 7 0 12 0; +#X connect 8 0 35 0; +#X connect 9 0 10 0; +#X connect 9 1 10 1; +#X connect 10 0 11 0; +#X connect 11 0 34 0; +#X connect 12 0 10 0; +#X connect 12 1 28 0; +#X connect 13 0 124 0; +#X connect 16 0 54 0; +#X connect 17 0 18 0; +#X connect 18 0 14 1; +#X connect 23 0 24 0; +#X connect 24 0 27 0; +#X connect 25 0 38 0; +#X connect 25 0 47 0; +#X connect 26 0 48 0; +#X connect 26 0 50 0; +#X connect 31 0 23 0; +#X connect 34 0 31 0; +#X connect 35 0 9 0; +#X connect 36 0 16 0; +#X connect 37 0 62 0; +#X connect 38 0 37 0; +#X connect 39 0 40 0; +#X connect 40 0 41 0; +#X connect 41 0 91 0; +#X connect 41 1 44 0; +#X connect 42 0 43 0; +#X connect 43 0 104 0; +#X connect 44 0 45 0; +#X connect 45 0 46 0; +#X connect 46 0 108 0; +#X connect 47 0 62 0; +#X connect 48 0 49 0; +#X connect 49 0 63 0; +#X connect 50 0 63 0; +#X connect 51 0 52 0; +#X connect 52 0 14 0; +#X connect 54 0 17 0; +#X connect 59 0 60 0; +#X connect 60 0 61 0; +#X connect 61 0 70 0; +#X connect 61 1 67 0; +#X connect 62 0 68 0; +#X connect 63 0 69 0; +#X connect 66 0 68 0; +#X connect 66 0 69 0; +#X connect 67 0 117 0; +#X connect 68 0 122 0; +#X connect 69 0 123 0; +#X connect 70 0 71 0; +#X connect 71 0 72 0; +#X connect 72 0 73 0; +#X connect 73 0 114 0; +#X connect 81 0 83 0; +#X connect 83 0 84 0; +#X connect 84 0 82 0; +#X connect 85 0 86 0; +#X connect 86 0 96 0; +#X connect 86 1 87 0; +#X connect 87 0 88 0; +#X connect 88 0 89 0; +#X connect 90 0 93 0; +#X connect 91 0 42 0; +#X connect 93 0 94 0; +#X connect 94 0 96 0; +#X connect 94 1 96 1; +#X connect 95 0 93 0; +#X connect 96 0 8 0; +#X connect 97 0 6 0; +#X connect 98 0 99 0; +#X connect 99 0 100 0; +#X connect 100 0 101 0; +#X connect 101 0 102 0; +#X connect 102 0 97 0; +#X connect 102 1 97 1; +#X connect 103 0 101 0; +#X connect 104 0 106 0; +#X connect 105 0 104 1; +#X connect 105 0 110 0; +#X connect 106 0 38 1; +#X connect 106 0 48 1; +#X connect 107 0 47 1; +#X connect 107 0 50 1; +#X connect 108 0 109 0; +#X connect 109 0 107 0; +#X connect 110 0 109 1; +#X connect 112 0 118 1; +#X connect 112 0 119 0; +#X connect 114 0 115 0; +#X connect 115 0 66 1; +#X connect 116 0 62 1; +#X connect 116 0 63 1; +#X connect 117 0 118 0; +#X connect 118 0 116 0; +#X connect 119 0 114 1; +#X connect 122 0 74 0; +#X connect 123 0 75 0; +#X connect 124 0 97 0; +#X coords 0 -1 1 1 185 100 2 100 100; diff --git a/NoLanguageMask/NoLanguageMask_PD/one.wav b/NoLanguageMask/NoLanguageMask_PD/one.wav new file mode 100644 index 0000000..58e4f2b Binary files /dev/null and b/NoLanguageMask/NoLanguageMask_PD/one.wav differ diff --git a/NoLanguageMask/NoLanguageMask_PD/playAudioFile~.pd b/NoLanguageMask/NoLanguageMask_PD/playAudioFile~.pd new file mode 100644 index 0000000..47bf688 --- /dev/null +++ b/NoLanguageMask/NoLanguageMask_PD/playAudioFile~.pd @@ -0,0 +1,217 @@ +#N canvas 39 23 1241 755 10; +#X obj 231 321 inlet; +#X obj 910 319 inlet; +#X obj 387 724 outlet~; +#X obj 323 321 inlet; +#X text 130 289 input to receive play; +#X text 364 19 This patch prepares and exectue the reading of an audio +file; +#X text 306 288 input to receive stop; +#X text 395 47 Play and retrig are executed until a stop message; +#X text 907 287 input to receive the file Name; +#X obj 666 511 tabread~ \$0-array; +#N canvas 56 23 1224 755 retrieve&StoreFileIntoAnArray 0; +#X obj 251 139 inlet; +#X obj 251 379 outlet; +#X obj 251 214 symbol; +#X msg 251 308 read -resize \$1 \$2; +#X obj 307 214 symbol \$0-array; +#X obj 251 252 pack s s; +#X obj 251 181 t a b; +#X text 249 108 input to receive the name of the file; +#X text 8 212 convert the fileName into a symbol; +#X text 429 211 name of the array (see arrayNameGenerator subpatch) +; +#X obj 251 344 soundfiler; +#X text 428 248 prepare retrieve&storeFile message; +#X text 428 308 retrieve&store Message; +#X text 430 383 Return the lenght of the file in samples as an output +; +#X text 431 22 To play an audio file we need to know the name of the +file to retreieve it and the name of the array to store it; +#X text 430 343 retrieve&store Object; +#N canvas 4 23 845 476 ArrayNameGenerator 0; +#X obj 57 58 loadbang; +#X obj 57 88 f \$0; +#X text 128 55 as soon as an instance of playAudioFile is created \, +this subpatch generates an individual random number \$0 that can be +used to name the array; +#X text 128 105 every time you call up the playAudioFile abstraction +\, a new number will be generated; +#X text 128 145 As a result \, each array in each playAudioFile abstractions +will have a unique name.; +#X connect 0 0 1 0; +#X restore 825 143 pd ArrayNameGenerator; +#X text 818 109 subPtach to generate the Array Name; +#X connect 0 0 6 0; +#X connect 2 0 5 0; +#X connect 3 0 10 0; +#X connect 4 0 5 1; +#X connect 5 0 3 0; +#X connect 6 0 2 0; +#X connect 6 1 4 0; +#X connect 10 0 1 0; +#X restore 910 391 pd retrieve&StoreFileIntoAnArray; +#X text 792 510 object to read the file stored into the Array; +#X text 666 148 << This is where we store the audiofile; +#X text 666 167 << This is an array; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \$0-array 335999 float 2; +#X coords 0 -1 335999 1 200 140 2 0 0; +#X restore 442 112 graph; +#N canvas 669 389 450 300 fadeInFadeOut 0; +#X obj 111 43 inlet; +#X obj 126 188 outlet~; +#X obj 161 43 inlet; +#X text 94 22 FadeIn; +#X text 158 22 FadeOut; +#X obj 126 148 line~; +#X msg 161 88 0 50; +#X msg 111 88 1 0; +#X connect 0 0 7 0; +#X connect 2 0 6 0; +#X connect 5 0 1 0; +#X connect 6 0 5 0; +#X connect 7 0 5 0; +#X restore 231 512 pd fadeInFadeOut; +#X obj 387 682 *~; +#X text 701 286 input to receive pitch; +#X obj 231 449 t b b; +#N canvas 39 23 450 300 initializeVolume 0; +#X obj 21 29 loadbang; +#X obj 21 56 delay 1; +#X obj 21 112 outlet; +#X msg 21 80 0.25; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 3 0 2 0; +#X restore 521 430 pd initializeVolume; +#X text 58 511 fade to avoid audioClicks; +#N canvas 16 23 1264 755 playRetrig 0; +#X obj 627 50 inlet; +#X obj 280 49 inlet; +#X obj 627 590 outlet~; +#X text 590 623 Play instructions output; +#X floatatom 762 142 5 44100 192000 0 - - -; +#X text 678 123 SAMPLE RATE OF THE AUDIOFILE; +#N canvas 506 105 664 554 lenghtOfTheAudioFile 0; +#X obj 170 221 / 1000; +#X obj 149 248 / 44; +#X obj 129 295 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X floatatom 120 173 5 0 0 0 - - -; +#X obj 120 221 i; +#X obj 153 195 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X floatatom 120 361 5 0 0 0 - - -; +#X obj 170 119 inlet; +#X text 169 96 SAMPLE RATE OF THE SOUND; +#X obj 120 119 inlet; +#X text 56 95 LENGHT (samples); +#X text 79 423 LENGHT(samples); +#X text 54 27 This patch calculate the lenght of the auiod file in +samples and ms, f 71; +#X obj 120 398 outlet; +#X text 234 423 LENGHT (freq); +#X obj 234 398 outlet; +#X obj 222 296 t b f; +#X text 185 263 ms; +#X obj 234 360 /; +#X msg 222 323 1000; +#X text 284 358 convert ms to freq; +#X connect 0 0 1 1; +#X connect 1 0 2 0; +#X connect 1 0 16 0; +#X connect 2 0 6 0; +#X connect 3 0 4 0; +#X connect 3 0 4 1; +#X connect 4 0 1 0; +#X connect 4 0 6 0; +#X connect 5 0 4 0; +#X connect 6 0 13 0; +#X connect 7 0 0 0; +#X connect 7 0 5 0; +#X connect 9 0 3 0; +#X connect 16 0 19 0; +#X connect 16 1 18 1; +#X connect 18 0 15 0; +#X connect 19 0 18 0; +#X restore 627 185 pd lenghtOfTheAudioFile; +#X text 627 23 AUDIOFILE LENGHT (samples); +#X obj 468 51 inlet; +#X text 465 23 PITCH Control Input; +#X text 631 206 samples; +#X obj 627 526 *~; +#X obj 762 460 phasor~; +#X text 257 24 RETRIG input; +#X msg 801 435 0; +#X obj 279 257 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 762 312 f; +#X obj 467 257 t b f; +#X obj 762 368 * 1; +#X text 768 210 freq (how fast the phasor should cycle to reproduce +the sample at the correct speed); +#X text 819 459 this phasor cycle at a certain speed through the array +where the audio file is stored; +#X text 791 313 the speed is stored in this object. So that can be +recalculated later according to a scale factor; +#X text 791 366 here we can apply a scale factor to change the playback +speed and (as a result) the pitch of the sound; +#X connect 0 0 6 0; +#X connect 1 0 15 0; +#X connect 4 0 6 1; +#X connect 6 0 11 0; +#X connect 6 1 16 0; +#X connect 8 0 17 0; +#X connect 11 0 2 0; +#X connect 12 0 11 1; +#X connect 14 0 12 1; +#X connect 15 0 14 0; +#X connect 16 0 18 0; +#X connect 17 0 16 0; +#X connect 17 1 18 1; +#X connect 18 0 12 0; +#X restore 666 464 pd playRetrig; +#X text 664 533 audio output; +#N canvas 801 121 450 300 scaleSliderBetween0&1 0; +#X obj 65 111 / 127; +#X obj 65 18 inlet; +#X obj 65 173 outlet; +#X text 141 44 avoid 0 value; +#X text 139 75 clip value to 127 (max slider value by default); +#X text 139 111 normalize between 0 and 1; +#X obj 65 77 clip 1 127; +#X text 139 141 add offset to change the pitch between (1 = default +pitch and 2 = two times the initial pitch); +#X obj 65 140 + 1; +#X obj 65 49 * 127; +#X connect 0 0 8 0; +#X connect 1 0 9 0; +#X connect 6 0 0 0; +#X connect 8 0 2 0; +#X connect 9 0 6 0; +#X restore 703 391 pd scaleSliderBetween0&1; +#X obj 522 599 *~; +#X obj 738 364 snapshot~; +#X obj 693 316 inlet~; +#X obj 759 341 metro 20; +#X obj 759 318 loadbang; +#X connect 0 0 18 0; +#X connect 1 0 10 0; +#X connect 3 0 15 1; +#X connect 9 0 24 1; +#X connect 10 0 21 2; +#X connect 15 0 16 0; +#X connect 16 0 2 0; +#X connect 18 0 15 0; +#X connect 18 1 21 0; +#X connect 19 0 24 0; +#X connect 21 0 9 0; +#X connect 23 0 21 1; +#X connect 24 0 16 1; +#X connect 25 0 23 0; +#X connect 26 0 25 0; +#X connect 27 0 25 0; +#X connect 28 0 27 0; +#X coords 0 755 1 754 201 140 0; diff --git a/NoLanguageMask/NoLanguageMask_PD/settings.json b/NoLanguageMask/NoLanguageMask_PD/settings.json new file mode 100644 index 0000000..d20a3b4 --- /dev/null +++ b/NoLanguageMask/NoLanguageMask_PD/settings.json @@ -0,0 +1,34 @@ +{ + "fileName": "_main.pd", + "CLArgs": { + "-p": "16", + "-C": "8", + "-B": "16", + "-N": "1", + "-G": "1", + "-M": "0", + "-H0,": "-6", + "-H1,": "-6", + "-H2,": "-6", + "-H3,": "-6", + "-H4,": "-6", + "-H5,": "-6", + "-H6,": "-6", + "-H7,": "-6", + "-I0,": "10", + "-I1,": "10", + "-I2,": "10", + "-I3,": "10", + "-I4,": "10", + "-I5,": "10", + "-I6,": "10", + "-I7,": "10", + "user": "", + "make": "", + "-X": "0", + "audioExpander": "0", + "-Y": "", + "-Z": "", + "--disable-led": "0" + } +} diff --git a/NoLanguageMask/NoLanguageMask_PD/sketch.js b/NoLanguageMask/NoLanguageMask_PD/sketch.js new file mode 100644 index 0000000..ffba3a9 --- /dev/null +++ b/NoLanguageMask/NoLanguageMask_PD/sketch.js @@ -0,0 +1,63 @@ +var guiSketch = new p5(( sketch ) => { + + let canvas_dimensions = [sketch.windowWidth, sketch.windowHeight]; + + let sensorNumber = 30; + + let chartTop = 100; + let chartBottom = canvas_dimensions[1]-chartTop; + let chartLeft = 100; + let chartRight = canvas_dimensions[0]-chartLeft; + + let dataRange = [0, 2.0]; + + let barWidth = (chartRight-chartLeft) / (sensorNumber*1.5); + + sketch.setup = function () { + sketch.createCanvas(canvas_dimensions[0], canvas_dimensions[1]); + } + + sketch.draw = function () { + sketch.background(255); + + sketch.noStroke(); + sketch.textSize(10); + + sensorNumber = 30; + barWidth = (chartRight-chartLeft) / (sensorNumber*1.5); + + + for (let i = 0; i < sensorNumber; i++) { + let x = sketch.map(i, 0, sensorNumber - 1, chartLeft, chartRight); + //let data = sketch.random(dataRange[0], dataRange[1]); + let data = Bela.data.buffers[0][i]; + let y = sketch.map(data, dataRange[0], dataRange[1], chartBottom, chartTop); + + sketch.strokeWeight(barWidth); + sketch.strokeCap(sketch.SQUARE); + sketch.stroke(0); + sketch.line(x, chartBottom, x, y); + + sketch.noStroke(); + sketch.textAlign(sketch.CENTER); + sketch.text(i, x, chartBottom + 15); + sketch.text(sketch.nf(data,0,3), x, chartBottom + 45); + } + + sketch.text("SENSOR:", chartLeft-barWidth*2, chartBottom + 15); + sketch.text("VALUE:", chartLeft-barWidth*2, chartBottom + 45); + } + + sketch.windowResized = function() { + if(sketch.windowWidth > 350 & sketch.windowHeight > 250) { + canvas_dimensions = [sketch.windowWidth, sketch.windowHeight] + sketch.resizeCanvas(canvas_dimensions[0], canvas_dimensions[1]); + + chartBottom = canvas_dimensions[1]-chartTop; + chartRight = canvas_dimensions[0]-chartLeft; + barWidth = (chartRight-chartLeft) / (sensorNumber*1.5); + } + } +}, 'gui'); + + diff --git a/NoLanguageMask/NoLanguageMask_PD/three.wav b/NoLanguageMask/NoLanguageMask_PD/three.wav new file mode 100644 index 0000000..30470d9 Binary files /dev/null and b/NoLanguageMask/NoLanguageMask_PD/three.wav differ diff --git a/NoLanguageMask/NoLanguageMask_PD/two.wav b/NoLanguageMask/NoLanguageMask_PD/two.wav new file mode 100644 index 0000000..1ae71ed Binary files /dev/null and b/NoLanguageMask/NoLanguageMask_PD/two.wav differ diff --git a/NoLanguageMask/tags.md b/NoLanguageMask/tags.md new file mode 100644 index 0000000..3a2bd8e --- /dev/null +++ b/NoLanguageMask/tags.md @@ -0,0 +1,9 @@ +--- +tags: + - processing_technique: + - spool_knitting + conductive_material: + - "Shieldex HC 40 Yarn" +--- + +# Tags diff --git a/SolisticEmbraceHoody/tags.md b/SolisticEmbraceHoody/tags.md new file mode 100644 index 0000000..8e061ea --- /dev/null +++ b/SolisticEmbraceHoody/tags.md @@ -0,0 +1,30 @@ +--- +projects: + - title: "Solstice Embrace Hoody" + + authors: + - "[Ghazal Hosseini](https://at.linkedin.com/in/ghazal-hosseini-59b27a5b)" + - "[Aizhan Saganayeva](https://www.behance.net/aizhansaganay)" + - "[Maho Sugimoto](https://www.instagram.com/___m.37___)" + - "[Emma Silvana Tripaldi](https://www.instagram.com/emmasilvanatrip)" + - "[Jelena Mönch](https://www.instagram.com/jelenamoench/)" + - "[Volkan Dinçer](https://www.instagram.com/volkan.dncr)" + - "[Daniel Fischer](https://www.daniel-fischer.at/)" + - "[Stella Grübler](https://www.gruebler.cc/)" + - "[Doğuş Karlık](https://www.linkedin.com/in/doguskarlik)" + - "[Joann Lee](https://www.instagram.com/joann_ys_lee/)" + - "Ahmed Mohamed" + - "[René Preuer](https://at.linkedin.com/in/rene-preuer-aa755a1a0)" + - "[Lina Pulido Barragan](https://www.instagram.com/linaa_pulidobarragan)" + + videos: + - "https://ufgat.sharepoint.com/:v:/s/OG-OG380.012FashionableTechnologies1/IQBl_jt7LybESaYhJRt1hya0AS9ISPLa3gMqTrkK76EI2N0?email=jje1g24%40soton.ac.uk&e=yYRK9a" + + processing_technique: + - adhesive_bonding + + conductive_material: + - "copper tape" +--- + +# Solstice Embrace Hoody diff --git a/SongOfTheSirens/tags.md b/SongOfTheSirens/tags.md new file mode 100644 index 0000000..1731bea --- /dev/null +++ b/SongOfTheSirens/tags.md @@ -0,0 +1,30 @@ +--- +tags: + - processing_technique: + - embroidering + - adhesive_bonding + conductive_material: + - "Shieldex HC 40 Yarn" + description: > + Song of the Sirens explores the tension and fascination between the human— + rational and technological—world and the animal, mythological, and sometimes + grotesque realm. + + The work imagines a hypothetical encounter between a human being and a marine + creature, mediated through a tactile and sonic experience. + + Inspired by the medieval myth of the sirens—half-fish, half-human beings who + lured sailors with their song—the project takes shape as a digital second skin: + a glove made of fish leather, embedded with sensors that generate a mysterious + and seductive sound upon contact with human skin. + + The ambivalence between the sensual quality of the sound and the organic texture + of this marine skin creates a sense of both attraction and disorientation. + + Song of the Sirens thus becomes a poetic and technological device that reflects + on desire, transformation, and the fluid boundaries between the human and the + non-human. +--- + +# Tags +`` diff --git a/Whisphair/WhispHairCodePD/_main.pd b/Whisphair/WhispHairCodePD/_main.pd new file mode 100644 index 0000000..90b78f4 --- /dev/null +++ b/Whisphair/WhispHairCodePD/_main.pd @@ -0,0 +1,221 @@ +#N canvas 4 1 2560 1304 10; +#X obj 295 378 unpack f f f f f f f f f f f f f f f f f f f f f f f f f f, f 133; +#X obj 196 158 loadbang; +#X obj 264 309 r bela_trill; +#X obj 61 235 s bela_setTrill; +#X text 372 336 We are working with Trill Craft; +#X text 372 310 This receives readings from the Trill sensor; +#X text 36 158 Initialise Trill sensor; +#X text 600 7 ............................; +#X text 600 17 . ____ ._____ _ .......___ .; +#X text 600 27 .| __ )| ____| |....../ _ |.; +#X text 600 47 .| |_) | |___| |___ / ___ |.; +#X text 600 57 .|____/|_____|_____/_/..._|.io; +#X text 600 67 ............................; +#X text 600 37 .| __ || __|.| |...../ _| |.; +#X text 30 28 Capacitive sensing with Trill Craft; +#X text 30 38 ====================================; +#X obj 196 237 s bela_setTrill; +#X text 361 207 [prescaler (; +#X text 365 228 value betwen 1 and 6; +#X text 361 185 Change sensitivity here; +#X obj 131 310 loadbang; +#X obj 131 331 metro 50; +#X msg 131 352 0; +#X obj 131 394 s bela_guiOut; +#X obj 131 373 list; +#X obj 196 179 t b b; +#X text 1102 46 Every the time the programme is restarted the baseline; +#X text 1101 65 reading of the sensor is reset.; +#X text 1102 86 This means if you are touching anything connected to the; +#X text 1102 106 sensor on start up this will be incorporated into the; +#X text 1102 126 baseline.; +#X obj 1122 709 dac~ 1 2; +#X text 30 58 This example is for capacitive sensing with Trill Craft.; +#X msg 61 208 new mycraft 1 CRAFT; +#X msg 196 209 prescaler mycraft 2; +#X obj 264 336 route mycraft; +#X text 30 78 Connect the sensor via I2C and open the GUI to see readings.; +#X text 30 108 https://learn.bela.io/tutorials/pure-data/sensors/capacitive-sensing/; +#X obj 1207 423 cnv 16 400 300 empty c1 prototyping 20 12 0 14 #ffc7c6 #000000 0; +#X obj 1231 479 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X text 1209 606 0; +#X text 1208 480 1; +#X text 1206 539 0.5; +#X obj 1230 644 s a; +#X floatatom 1230 622 5 0 0 0 - - - 0; +#X text 1204 453 input 0; +#X obj 583 586 change; +#X obj 583 564 > 0.5; +#X obj 669 543 loadbang; +#X obj 1296 482 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X text 1275 605 0; +#X text 1274 479 1; +#X text 1272 538 0.5; +#X floatatom 1296 621 5 0 0 0 - - - 0; +#X text 1273 453 input 3; +#X obj 583 519 r b; +#X obj 1296 643 s b; +#X obj 1122 679 catch~ out; +#X obj 1372 483 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X floatatom 1370 621 5 0 0 0 - - - 0; +#X obj 1370 643 s d; +#X obj 697 608 r d; +#X obj 584 641 playAudioFile~; +#X obj 583 607 route 1 0; +#X obj 583 709 throw~ out; +#X text 1337 480 0.5; +#X text 1346 540 0, f 2; +#X text 1334 605 -0.5; +#X obj 585 678 *~ 0.5, f 8; +#X obj 1451 482 vsl 15 128 0 2000 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X floatatom 1451 621 5 0 0 0 - - - 0; +#X text 1341 452 input 6; +#X text 1420 453 input 9; +#X text 1496 452 input 12; +#X text 130 423 inlet for prototyping; +#X text 159 469 object outputs 1; +#X text 100 447 if the input surpasses 0.5; +#X text 142 514 adds on every count; +#X text 5 554 cuts out evreything above the second count; +#X text 179 597 output 0 or 1; +#X text 65 617 routes 1 / 0 to differnt outlets; +#X text 162 655 highpass filter; +#X text 58 636 1 starts playback of loop 0 stops; +#X text 42 678 multiplyer/amp to control the level; +#X text 101 704 sends output to catch~ out; +#X text 1215 667 play loop; +#X text 1283 666 play chord; +#X text 1356 666 chord pitch; +#X obj 1451 643 s e; +#X text 1431 607 0; +#X text 1430 481 1; +#X text 1428 540 0.5; +#X obj 1526 482 vsl 15 128 0 5000 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X floatatom 1526 621 5 0 0 0 - - - 0; +#X obj 1526 643 s e; +#X text 1506 607 0; +#X text 1438 667 delay time; +#X text 1505 666 high pass filter; +#X text 1492 481 5000; +#X text 1493 542 2500; +#X text 1216 699 note differnent playback mechanism for inputs 0 and 3; +#X text 916 680 recieves from the throw outputs; +#X text 1064 648 prototyping outlets; +#X text 9 577 object to check values in the pd console; +#X text 290 395 0; +#X text 326 394 1; +#X text 358 393 2; +#X text 390 394 3; +#X text 421 394 4; +#X msg 669 567 bird.wav; +#X obj 306 579 change; +#X obj 392 536 loadbang; +#X obj 327 513 r b, f 4; +#X obj 420 601 r d; +#X obj 307 637 playAudioFile~; +#X obj 306 600 route 1 0; +#X obj 322 687 throw~ out; +#X obj 319 663 *~ 0.5, f 8; +#X msg 392 560 water.wav; +#X text 454 395 5; +#X text 485 395 6; +#X text 516 396 7; +#X text 548 399 8; +#X obj 791 575 change; +#X obj 791 553 > 0.5; +#X obj 877 532 loadbang; +#X obj 791 522 r b; +#X obj 905 597 r d; +#X obj 791 618 playAudioFile~; +#X obj 791 596 route 1 0; +#X obj 791 663 throw~ out; +#X obj 791 640 *~ 0.5, f 8; +#X obj 306 557 > 0.2; +#X msg 877 556 rain.wav; +#X text 675 395 12; +#X obj 1001 513 change; +#X obj 1001 491 > 0.5; +#X obj 1087 470 loadbang; +#X obj 1001 469 r b; +#X obj 1115 535 r d; +#X obj 1001 556 playAudioFile~; +#X obj 1001 534 route 1 0; +#X obj 1001 601 throw~ out; +#X obj 1001 578 *~ 0.5, f 8; +#X text 1126 618 comment; +#X text 582 396 9; +#X text 611 398 10; +#X text 642 397 11; +#X msg 1087 494 campfire.wav; +#X connect 0 0 132 0; +#X connect 0 3 47 0; +#X connect 0 3 68 1; +#X connect 0 8 124 0; +#X connect 0 8 131 1; +#X connect 0 12 136 0; +#X connect 0 12 143 1; +#X connect 1 0 25 0; +#X connect 2 0 35 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 24 0; +#X connect 24 0 23 0; +#X connect 25 0 34 0; +#X connect 25 1 33 0; +#X connect 33 0 3 0; +#X connect 34 0 16 0; +#X connect 35 0 0 0; +#X connect 35 0 24 1; +#X connect 39 0 44 0; +#X connect 44 0 43 0; +#X connect 46 0 63 0; +#X connect 47 0 46 0; +#X connect 48 0 109 0; +#X connect 49 0 53 0; +#X connect 53 0 56 0; +#X connect 55 0 47 0; +#X connect 57 0 31 0; +#X connect 57 0 31 1; +#X connect 58 0 59 0; +#X connect 59 0 60 0; +#X connect 61 0 62 2; +#X connect 62 0 68 0; +#X connect 63 0 62 0; +#X connect 63 1 62 1; +#X connect 68 0 64 0; +#X connect 69 0 70 0; +#X connect 70 0 88 0; +#X connect 92 0 93 0; +#X connect 93 0 94 0; +#X connect 109 0 62 3; +#X connect 110 0 115 0; +#X connect 111 0 118 0; +#X connect 112 0 132 0; +#X connect 113 0 114 2; +#X connect 114 0 117 0; +#X connect 115 0 114 0; +#X connect 115 1 114 1; +#X connect 117 0 116 0; +#X connect 118 0 114 3; +#X connect 123 0 129 0; +#X connect 124 0 123 0; +#X connect 125 0 133 0; +#X connect 126 0 124 0; +#X connect 127 0 128 2; +#X connect 128 0 131 0; +#X connect 129 0 128 0; +#X connect 129 1 128 1; +#X connect 131 0 130 0; +#X connect 132 0 110 0; +#X connect 133 0 128 3; +#X connect 135 0 141 0; +#X connect 136 0 135 0; +#X connect 137 0 148 0; +#X connect 138 0 136 0; +#X connect 139 0 140 2; +#X connect 140 0 143 0; +#X connect 141 0 140 0; +#X connect 141 1 140 1; +#X connect 143 0 142 0; +#X connect 148 0 140 3; diff --git a/Whisphair/WhispHairCodePD/all files/_main (2).pd b/Whisphair/WhispHairCodePD/all files/_main (2).pd new file mode 100644 index 0000000..7f6913a --- /dev/null +++ b/Whisphair/WhispHairCodePD/all files/_main (2).pd @@ -0,0 +1,221 @@ +#N canvas 0 25 2560 1304 10; +#X obj 295 378 unpack f f f f f f f f f f f f f f f f f f f f f f f f f f, f 133; +#X obj 297 636 playAudioFile~; +#X obj 297 470 change; +#X obj 297 446 > 0.5; +#X obj 196 158 loadbang; +#X obj 264 309 r bela_trill; +#X obj 61 235 s bela_setTrill; +#X text 372 336 We are working with Trill Craft; +#X text 372 310 This receives readings from the Trill sensor; +#X text 36 158 Initialise Trill sensor; +#X text 600 7 ............................; +#X text 600 17 . ____ ._____ _ .......___ .; +#X text 600 27 .| __ )| ____| |....../ _ |.; +#X text 600 47 .| |_) | |___| |___ / ___ |.; +#X text 600 57 .|____/|_____|_____/_/..._|.io; +#X text 600 67 ............................; +#X text 600 37 .| __ || __|.| |...../ _| |.; +#X text 30 28 Capacitive sensing with Trill Craft; +#X text 30 38 ====================================; +#X obj 196 237 s bela_setTrill; +#X text 361 207 [prescaler (; +#X text 365 228 value betwen 1 and 6; +#X text 361 185 Change sensitivity here; +#X obj 131 310 loadbang; +#X obj 131 331 metro 50; +#X msg 131 352 0; +#X obj 131 394 s bela_guiOut; +#X obj 131 373 list; +#X obj 196 179 t b b; +#X text 1102 46 Every the time the programme is restarted the baseline; +#X text 1101 65 reading of the sensor is reset.; +#X text 1102 86 This means if you are touching anything connected to the; +#X text 1102 106 sensor on start up this will be incorporated into the; +#X text 1102 126 baseline.; +#X obj 1122 709 dac~ 1 2; +#X text 30 58 This example is for capacitive sensing with Trill Craft.; +#X msg 61 208 new mycraft 1 CRAFT; +#X msg 196 209 prescaler mycraft 2; +#X obj 264 336 route mycraft; +#X text 30 78 Connect the sensor via I2C and open the GUI to see readings.; +#X text 30 108 https://learn.bela.io/tutorials/pure-data/sensors/capacitive-sensing/; +#X obj 379 517 loadbang; +#X obj 1207 423 cnv 16 400 300 empty c1 prototyping 20 12 0 14 #ffc7c6 #000000 0; +#X obj 1231 479 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X text 1209 606 0; +#X text 1208 480 1; +#X text 1206 539 0.5; +#X obj 1230 644 s a; +#X obj 274 426 r a; +#X floatatom 1230 622 5 0 0 0 - - - 0; +#X text 1204 453 input 0; +#X obj 684 592 change; +#X obj 684 570 > 0.5; +#X obj 770 549 loadbang; +#X obj 1296 482 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X text 1275 605 0; +#X text 1274 479 1; +#X text 1272 538 0.5; +#X floatatom 1296 621 5 0 0 0 - - - 0; +#X text 1273 453 input 3; +#X obj 684 548 r b; +#X obj 1296 643 s b; +#X obj 297 704 throw~ out; +#X obj 1122 679 catch~ out; +#X obj 1372 483 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X floatatom 1370 621 5 0 0 0 - - - 0; +#X obj 1370 643 s d; +#X obj 798 614 r d; +#X obj 684 635 playAudioFile~; +#X obj 684 613 route 1 0; +#X obj 684 680 throw~ out; +#X text 1337 480 0.5; +#X text 1346 540 0, f 2; +#X text 1334 605 -0.5; +#X obj 684 657 *~ 0.5, f 8; +#X obj 992 561 *~ 0.2; +#X obj 1451 482 vsl 15 128 0 2000 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X floatatom 1451 621 5 0 0 0 - - - 0; +#X text 1341 452 input 6; +#X text 1420 453 input 9; +#X text 1496 452 input 12; +#X floatatom 297 535 5 0 0 0 - - - 0; +#X obj 297 516 f; +#X obj 329 516 + 1; +#X floatatom 297 595 5 0 0 0 - - - 0; +#X obj 297 517; +#X obj 297 493 route 1 0; +#X msg 990 493 1450 2000; +#X obj 990 515 line; +#X msg 1059 493 100 5000; +#X obj 990 447 change; +#X obj 990 424 > 0.5; +#X obj 991 470 route 1 0; +#X obj 742 445 map 0 0.6 0 0.35 0.6; +#X obj 297 659 hip~, f 9; +#X obj 418 639 map 0.256 1 0 5000; +#X msg 770 573 rhodes.wav; +#X msg 351 565 0.5; +#X obj 297 615 route 1 0; +#X obj 297 556 % 2; +#X obj 297 680 *~ 0.8; +#X obj 992 539 echo~ 100 1 0.8; +#X obj 992 584 throw~ out; +#X text 130 423 inlet for prototyping; +#X text 159 469 object outputs 1; +#X text 100 447 if the input surpasses 0.5; +#X text 142 514 adds on every count; +#X text 5 554 cuts out evreything above the second count; +#X text 179 597 output 0 or 1; +#X text 65 617 routes 1 / 0 to differnt outlets; +#X text 162 655 highpass filter; +#X text 58 636 1 starts playback of loop 0 stops; +#X text 42 678 multiplyer/amp to control the level; +#X text 101 704 sends output to catch~ out; +#X text 367 660 re-maps input to control filter; +#X text 539 446 re-maps input to control pitch; +#X text 1215 667 play loop; +#X text 1283 666 play chord; +#X text 1356 666 chord pitch; +#X obj 1451 643 s e; +#X text 1431 607 0; +#X text 1430 481 1; +#X text 1428 540 0.5; +#X obj 1526 482 vsl 15 128 0 5000 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X floatatom 1526 621 5 0 0 0 - - - 0; +#X obj 1526 643 s e; +#X text 1506 607 0; +#X text 1438 667 delay time; +#X text 1505 666 high pass filter; +#X text 1492 481 5000; +#X text 1493 542 2500; +#X obj 395 618 r e; +#X text 843 539 open help for more; +#X text 834 497 delay time changes; +#X text 894 517 envelope; +#X text 480 593 here direct stop at > 0.5 input; +#X text 1216 699 note differnent playback mechanism for inputs 0 and 3; +#X text 916 680 recieves from the throw outputs; +#X text 1064 648 prototyping outlets; +#X text 9 577 object to check values in the pd console; +#X obj 274 577 print in 1; +#X text 288 393 0; +#X text 326 394 1; +#X text 358 393 2; +#X text 390 394 3; +#X text 421 394 4; +#X msg 378 595 bird.wav; +#X connect 0 0 3 0; +#X connect 0 3 52 0; +#X connect 0 3 74 1; +#X connect 0 6 93 0; +#X connect 0 9 91 0; +#X connect 0 12 95 0; +#X connect 1 0 94 0; +#X connect 2 0 86 0; +#X connect 3 0 2 0; +#X connect 4 0 28 0; +#X connect 5 0 38 0; +#X connect 23 0 24 0; +#X connect 24 0 25 0; +#X connect 25 0 27 0; +#X connect 27 0 26 0; +#X connect 28 0 37 0; +#X connect 28 1 36 0; +#X connect 36 0 6 0; +#X connect 37 0 19 0; +#X connect 38 0 0 0; +#X connect 38 0 27 1; +#X connect 41 0 146 0; +#X connect 41 0 97 0; +#X connect 43 0 49 0; +#X connect 48 0 3 0; +#X connect 49 0 47 0; +#X connect 51 0 69 0; +#X connect 52 0 51 0; +#X connect 53 0 96 0; +#X connect 54 0 58 0; +#X connect 58 0 61 0; +#X connect 60 0 52 0; +#X connect 63 0 34 0; +#X connect 63 0 34 1; +#X connect 64 0 65 0; +#X connect 65 0 66 0; +#X connect 67 0 68 2; +#X connect 68 0 74 0; +#X connect 68 0 101 0; +#X connect 69 0 68 0; +#X connect 69 1 68 1; +#X connect 74 0 70 0; +#X connect 75 0 102 0; +#X connect 76 0 77 0; +#X connect 77 0 119 0; +#X connect 81 0 99 0; +#X connect 82 0 83 0; +#X connect 82 0 81 0; +#X connect 83 0 82 1; +#X connect 84 0 98 0; +#X connect 86 0 82 0; +#X connect 87 0 88 0; +#X connect 88 0 101 2; +#X connect 89 0 88 0; +#X connect 90 0 92 0; +#X connect 91 0 90 0; +#X connect 92 0 87 0; +#X connect 92 1 89 0; +#X connect 93 0 68 2; +#X connect 94 0 100 0; +#X connect 95 0 94 1; +#X connect 96 0 68 3; +#X connect 97 0 1 2; +#X connect 98 0 1 0; +#X connect 98 1 1 1; +#X connect 99 0 84 0; +#X connect 99 0 140 0; +#X connect 100 0 62 0; +#X connect 101 0 75 0; +#X connect 123 0 124 0; +#X connect 124 0 125 0; +#X connect 131 0 94 1; +#X connect 146 0 1 3; diff --git a/Whisphair/WhispHairCodePD/all files/_main.pd b/Whisphair/WhispHairCodePD/all files/_main.pd new file mode 100644 index 0000000..50386c8 --- /dev/null +++ b/Whisphair/WhispHairCodePD/all files/_main.pd @@ -0,0 +1,221 @@ +#N canvas 986 1 2560 1304 10; +#X obj 295 378 unpack f f f f f f f f f f f f f f f f f f f f f f f f f f, f 133; +#X obj 196 158 loadbang; +#X obj 264 309 r bela_trill; +#X obj 61 235 s bela_setTrill; +#X text 372 336 We are working with Trill Craft; +#X text 372 310 This receives readings from the Trill sensor; +#X text 36 158 Initialise Trill sensor; +#X text 600 7 ............................; +#X text 600 17 . ____ ._____ _ .......___ .; +#X text 600 27 .| __ )| ____| |....../ _ |.; +#X text 600 47 .| |_) | |___| |___ / ___ |.; +#X text 600 57 .|____/|_____|_____/_/..._|.io; +#X text 600 67 ............................; +#X text 600 37 .| __ || __|.| |...../ _| |.; +#X text 30 28 Capacitive sensing with Trill Craft; +#X text 30 38 ====================================; +#X obj 196 237 s bela_setTrill; +#X text 361 207 [prescaler (; +#X text 365 228 value betwen 1 and 6; +#X text 361 185 Change sensitivity here; +#X obj 131 310 loadbang; +#X obj 131 331 metro 50; +#X msg 131 352 0; +#X obj 131 394 s bela_guiOut; +#X obj 131 373 list; +#X obj 196 179 t b b; +#X text 1102 46 Every the time the programme is restarted the baseline; +#X text 1101 65 reading of the sensor is reset.; +#X text 1102 86 This means if you are touching anything connected to the; +#X text 1102 106 sensor on start up this will be incorporated into the; +#X text 1102 126 baseline.; +#X obj 1122 709 dac~ 1 2; +#X text 30 58 This example is for capacitive sensing with Trill Craft.; +#X msg 61 208 new mycraft 1 CRAFT; +#X msg 196 209 prescaler mycraft 2; +#X obj 264 336 route mycraft; +#X text 30 78 Connect the sensor via I2C and open the GUI to see readings.; +#X text 30 108 https://learn.bela.io/tutorials/pure-data/sensors/capacitive-sensing/; +#X obj 1207 423 cnv 16 400 300 empty c1 prototyping 20 12 0 14 #ffc7c6 #000000 0; +#X obj 1231 479 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X text 1209 606 0; +#X text 1208 480 1; +#X text 1206 539 0.5; +#X obj 1230 644 s a; +#X floatatom 1230 622 5 0 0 0 - - - 0; +#X text 1204 453 input 0; +#X obj 583 586 change; +#X obj 583 564 > 0.5; +#X obj 669 543 loadbang; +#X obj 1296 482 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X text 1275 605 0; +#X text 1274 479 1; +#X text 1272 538 0.5; +#X floatatom 1296 621 5 0 0 0 - - - 0; +#X text 1273 453 input 3; +#X obj 583 542 r b; +#X obj 1296 643 s b; +#X obj 1122 679 catch~ out; +#X obj 1372 483 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X floatatom 1370 621 5 0 0 0 - - - 0; +#X obj 1370 643 s d; +#X obj 697 608 r d; +#X obj 583 629 playAudioFile~; +#X obj 583 607 route 1 0; +#X obj 583 674 throw~ out; +#X text 1337 480 0.5; +#X text 1346 540 0, f 2; +#X text 1334 605 -0.5; +#X obj 583 651 *~ 0.5, f 8; +#X obj 1451 482 vsl 15 128 0 2000 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X floatatom 1451 621 5 0 0 0 - - - 0; +#X text 1341 452 input 6; +#X text 1420 453 input 9; +#X text 1496 452 input 12; +#X text 130 423 inlet for prototyping; +#X text 159 469 object outputs 1; +#X text 100 447 if the input surpasses 0.5; +#X text 142 514 adds on every count; +#X text 5 554 cuts out evreything above the second count; +#X text 179 597 output 0 or 1; +#X text 65 617 routes 1 / 0 to differnt outlets; +#X text 162 655 highpass filter; +#X text 58 636 1 starts playback of loop 0 stops; +#X text 42 678 multiplyer/amp to control the level; +#X text 101 704 sends output to catch~ out; +#X text 1215 667 play loop; +#X text 1283 666 play chord; +#X text 1356 666 chord pitch; +#X obj 1451 643 s e; +#X text 1431 607 0; +#X text 1430 481 1; +#X text 1428 540 0.5; +#X obj 1526 482 vsl 15 128 0 5000 0 0 empty empty empty 0 -9 0 10 #faff00 #000000 #000000 0 1; +#X floatatom 1526 621 5 0 0 0 - - - 0; +#X obj 1526 643 s e; +#X text 1506 607 0; +#X text 1438 667 delay time; +#X text 1505 666 high pass filter; +#X text 1492 481 5000; +#X text 1493 542 2500; +#X text 1216 699 note differnent playback mechanism for inputs 0 and 3; +#X text 916 680 recieves from the throw outputs; +#X text 1064 648 prototyping outlets; +#X text 9 577 object to check values in the pd console; +#X text 290 395 0; +#X text 326 394 1; +#X text 358 393 2; +#X text 390 394 3; +#X text 421 394 4; +#X msg 669 567 bird.wav; +#X obj 306 579 change; +#X obj 392 536 loadbang; +#X obj 306 535 r b; +#X obj 420 601 r d; +#X obj 307 637 playAudioFile~; +#X obj 306 600 route 1 0; +#X obj 322 687 throw~ out; +#X obj 319 663 *~ 0.5, f 8; +#X msg 392 560 water.wav; +#X text 454 395 5; +#X text 485 395 6; +#X text 516 396 7; +#X text 548 399 8; +#X obj 791 575 change; +#X obj 791 553 > 0.5; +#X obj 877 532 loadbang; +#X obj 791 531 r b; +#X obj 905 597 r d; +#X obj 791 618 playAudioFile~; +#X obj 791 596 route 1 0; +#X obj 791 663 throw~ out; +#X obj 791 640 *~ 0.5, f 8; +#X obj 306 557 > 0.2; +#X msg 877 556 rain.wav; +#X text 675 395 12; +#X obj 1001 513 change; +#X obj 1001 491 > 0.5; +#X obj 1087 470 loadbang; +#X obj 1001 469 r b; +#X obj 1115 535 r d; +#X obj 1001 556 playAudioFile~; +#X obj 1001 534 route 1 0; +#X obj 1001 601 throw~ out; +#X obj 1001 578 *~ 0.5, f 8; +#X text 1126 618; +#X text 582 396 9; +#X text 611 398 10; +#X text 642 397 11; +#X msg 1087 494 campfire.wav; +#X connect 0 0 132 0; +#X connect 0 3 47 0; +#X connect 0 3 68 1; +#X connect 0 8 124 0; +#X connect 0 8 131 1; +#X connect 0 12 136 0; +#X connect 0 12 143 1; +#X connect 1 0 25 0; +#X connect 2 0 35 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 24 0; +#X connect 24 0 23 0; +#X connect 25 0 34 0; +#X connect 25 1 33 0; +#X connect 33 0 3 0; +#X connect 34 0 16 0; +#X connect 35 0 0 0; +#X connect 35 0 24 1; +#X connect 39 0 44 0; +#X connect 44 0 43 0; +#X connect 46 0 63 0; +#X connect 47 0 46 0; +#X connect 48 0 109 0; +#X connect 49 0 53 0; +#X connect 53 0 56 0; +#X connect 55 0 47 0; +#X connect 57 0 31 0; +#X connect 57 0 31 1; +#X connect 58 0 59 0; +#X connect 59 0 60 0; +#X connect 61 0 62 2; +#X connect 62 0 68 0; +#X connect 63 0 62 0; +#X connect 63 1 62 1; +#X connect 68 0 64 0; +#X connect 69 0 70 0; +#X connect 70 0 88 0; +#X connect 92 0 93 0; +#X connect 93 0 94 0; +#X connect 109 0 62 3; +#X connect 110 0 115 0; +#X connect 111 0 118 0; +#X connect 112 0 132 0; +#X connect 113 0 114 2; +#X connect 114 0 117 0; +#X connect 115 0 114 0; +#X connect 115 1 114 1; +#X connect 117 0 116 0; +#X connect 118 0 114 3; +#X connect 123 0 129 0; +#X connect 124 0 123 0; +#X connect 125 0 133 0; +#X connect 126 0 124 0; +#X connect 127 0 128 2; +#X connect 128 0 131 0; +#X connect 129 0 128 0; +#X connect 129 1 128 1; +#X connect 131 0 130 0; +#X connect 132 0 110 0; +#X connect 133 0 128 3; +#X connect 135 0 141 0; +#X connect 136 0 135 0; +#X connect 137 0 148 0; +#X connect 138 0 136 0; +#X connect 139 0 140 2; +#X connect 140 0 143 0; +#X connect 141 0 140 0; +#X connect 141 1 140 1; +#X connect 143 0 142 0; +#X connect 148 0 140 3; diff --git a/Whisphair/WhispHairCodePD/all files/bass.wav b/Whisphair/WhispHairCodePD/all files/bass.wav new file mode 100644 index 0000000..664e0ce Binary files /dev/null and b/Whisphair/WhispHairCodePD/all files/bass.wav differ diff --git a/Whisphair/WhispHairCodePD/all files/bird.wav b/Whisphair/WhispHairCodePD/all files/bird.wav new file mode 100644 index 0000000..3898e6a Binary files /dev/null and b/Whisphair/WhispHairCodePD/all files/bird.wav differ diff --git a/Whisphair/WhispHairCodePD/all files/campfire.wav b/Whisphair/WhispHairCodePD/all files/campfire.wav new file mode 100644 index 0000000..8fc22a2 Binary files /dev/null and b/Whisphair/WhispHairCodePD/all files/campfire.wav differ diff --git a/Whisphair/WhispHairCodePD/all files/echo~.pd b/Whisphair/WhispHairCodePD/all files/echo~.pd new file mode 100644 index 0000000..674578e --- /dev/null +++ b/Whisphair/WhispHairCodePD/all files/echo~.pd @@ -0,0 +1,98 @@ +#N canvas 540 818 782 341 12; +#X text 459 18 Delay Time; +#X text 556 19 Delay Level; +#X obj 465 41 inlet; +#X obj 572 46 inlet; +#X text 659 19 delay feedback; +#X obj 27 29 inlet~; +#X obj 662 42 inlet; +#X obj 41 273 *~ 0.1; +#X obj 117 275 *~ -0.25; +#X obj 27 306 outlet~; +#X obj 41 184 line~; +#X msg 41 158 \$1 100; +#X obj 550 236 * -1; +#X obj 661 139 t b b; +#X obj 661 189 sel 0; +#X floatatom 693 216 5 0 0 0 - - - 0; +#X obj 661 164 f \$3; +#X obj 572 74 loadbang; +#X obj 572 98 t b b; +#X obj 572 148 sel 0; +#X floatatom 604 175 5 0 0 0 - - - 0; +#X obj 572 123 f \$2; +#X obj 80 239 clip 0 1; +#X obj 465 118 t b b; +#X obj 465 168 sel 0; +#X floatatom 497 195 5 0 0 0 - - - 0; +#X obj 465 143 f \$1; +#X msg 512 163 250; +#X obj 41 130 clip 0 2000; +#X obj 551 212 clip 0 0.95; +#X text 37 6 audio in left; +#X obj 231 30 inlet~; +#X obj 243 274 *~ 0.1; +#X obj 319 276 *~ -0.25; +#X obj 232 307 outlet~; +#X obj 243 185 line~; +#X msg 243 159 \$1 100; +#X obj 282 240 clip 0 1; +#X obj 243 131 clip 0 2000; +#X text 239 7 audio in right; +#X obj 61 91 delwrite~ \$0-bufferL 2000; +#X obj 41 210 vd~ \$0-bufferL 250; +#X obj 256 81 delwrite~ \$0-bufferR 2000; +#X obj 243 211 vd~ \$0-bufferR 250; +#X msg 619 143 0.3; +#X msg 708 184 0.35; +#X connect 2 0 28 0; +#X connect 2 0 38 0; +#X connect 3 0 22 0; +#X connect 3 0 37 0; +#X connect 5 0 9 0; +#X connect 5 0 40 0; +#X connect 6 0 29 0; +#X connect 7 0 9 0; +#X connect 8 0 40 0; +#X connect 10 0 41 0; +#X connect 11 0 10 0; +#X connect 12 0 8 1; +#X connect 12 0 33 1; +#X connect 13 0 16 0; +#X connect 13 1 45 0; +#X connect 14 1 15 0; +#X connect 15 0 29 0; +#X connect 16 0 14 0; +#X connect 17 0 18 0; +#X connect 17 0 23 0; +#X connect 17 0 13 0; +#X connect 18 0 21 0; +#X connect 18 1 44 0; +#X connect 19 1 20 0; +#X connect 20 0 22 0; +#X connect 20 0 37 0; +#X connect 21 0 19 0; +#X connect 22 0 7 1; +#X connect 23 0 26 0; +#X connect 23 1 27 0; +#X connect 24 1 25 0; +#X connect 25 0 28 0; +#X connect 25 0 38 0; +#X connect 26 0 24 0; +#X connect 27 0 25 0; +#X connect 28 0 11 0; +#X connect 29 0 12 0; +#X connect 31 0 34 0; +#X connect 31 0 42 0; +#X connect 32 0 34 0; +#X connect 33 0 42 0; +#X connect 35 0 43 0; +#X connect 36 0 35 0; +#X connect 37 0 32 1; +#X connect 38 0 36 0; +#X connect 41 0 8 0; +#X connect 41 0 7 0; +#X connect 43 0 33 0; +#X connect 43 0 32 0; +#X connect 44 0 20 0; +#X connect 45 0 15 0; diff --git a/Whisphair/WhispHairCodePD/all files/firesound.wav b/Whisphair/WhispHairCodePD/all files/firesound.wav new file mode 100644 index 0000000..ac2f7e3 Binary files /dev/null and b/Whisphair/WhispHairCodePD/all files/firesound.wav differ diff --git a/Whisphair/WhispHairCodePD/all files/loop1.wav b/Whisphair/WhispHairCodePD/all files/loop1.wav new file mode 100644 index 0000000..9a88989 Binary files /dev/null and b/Whisphair/WhispHairCodePD/all files/loop1.wav differ diff --git a/Whisphair/WhispHairCodePD/all files/map.pd b/Whisphair/WhispHairCodePD/all files/map.pd new file mode 100644 index 0000000..184132f --- /dev/null +++ b/Whisphair/WhispHairCodePD/all files/map.pd @@ -0,0 +1,46 @@ +#N canvas 56 241 511 247 12; +#X text 139 12 Y = (X-A)/(B-A) * (D-C) + C; +#X obj 97 170 expr ($f1-$f2)/($f3-$f2)*($f5-$f4)+$f4; +#X obj 12 41 inlet input; +#X obj 99 42 inlet in-min; +#X obj 196 44 inlet in-max; +#X obj 288 44 inlet out-min; +#X obj 388 44 inlet out-max; +#X obj 97 202 outlet; +#X floatatom 118 117 5 0 0 0 - - - 0; +#X obj 124 92 f \$1; +#X obj 390 155 loadbang; +#X obj 124 68 r \$0-lb; +#X floatatom 203 119 5 0 0 0 - - - 0; +#X obj 209 70 r \$0-lb; +#X obj 209 94 f \$2; +#X floatatom 293 122 5 0 0 0 - - - 0; +#X obj 299 73 r \$0-lb; +#X obj 299 97 f \$3; +#X floatatom 388 121 5 0 0 0 - - - 0; +#X obj 394 72 r \$0-lb; +#X obj 394 96 f \$4; +#X obj 390 182 s \$0-lb; +#X obj 23 125 clip 0 127; +#X connect 1 0 7 0; +#X connect 2 0 22 0; +#X connect 3 0 8 0; +#X connect 4 0 12 0; +#X connect 5 0 15 0; +#X connect 6 0 18 0; +#X connect 8 0 1 1; +#X connect 9 0 8 0; +#X connect 9 0 22 1; +#X connect 10 0 21 0; +#X connect 11 0 9 0; +#X connect 12 0 1 2; +#X connect 13 0 14 0; +#X connect 14 0 12 0; +#X connect 14 0 22 2; +#X connect 15 0 1 3; +#X connect 16 0 17 0; +#X connect 17 0 15 0; +#X connect 18 0 1 4; +#X connect 19 0 20 0; +#X connect 20 0 18 0; +#X connect 22 0 1 0; diff --git a/Whisphair/WhispHairCodePD/all files/playAudioFile~.pd b/Whisphair/WhispHairCodePD/all files/playAudioFile~.pd new file mode 100644 index 0000000..f405d22 --- /dev/null +++ b/Whisphair/WhispHairCodePD/all files/playAudioFile~.pd @@ -0,0 +1,200 @@ +#N canvas 39 25 1241 755 10; +#X obj 231 321 inlet; +#X obj 910 319 inlet; +#X obj 387 724 outlet~; +#X obj 323 321 inlet; +#X text 130 289 input to receive play; +#X text 364 19 This patch prepares and exectue the reading of an audio file; +#X text 306 288 input to receive stop; +#X text 395 47 Play and retrig are executed until a stop message; +#X text 907 287 input to receive the file Name; +#X obj 666 511 tabread~ \$0-array; +#N canvas 56 25 1224 755 retrieve&StoreFileIntoAnArray 0; +#X obj 251 139 inlet; +#X obj 251 379 outlet; +#X obj 251 214 symbol; +#X msg 251 308 read -resize \$1 \$2; +#X obj 307 214 symbol \$0-array; +#X obj 251 252 pack s s; +#X obj 251 181 t a b; +#X text 249 108 input to receive the name of the file; +#X text 8 212 convert the fileName into a symbol; +#X text 429 211 name of the array (see arrayNameGenerator subpatch); +#X obj 251 344 soundfiler; +#X text 428 248 prepare retrieve&storeFile message; +#X text 428 308 retrieve&store Message; +#X text 430 383 Return the lenght of the file in samples as an output; +#X text 431 22 To play an audio file we need to know the name of the file to retreieve it and the name of the array to store it; +#X text 430 343 retrieve&store Object; +#N canvas 4 23 845 476 ArrayNameGenerator 0; +#X obj 57 58 loadbang; +#X obj 57 88 f \$0; +#X text 128 55 as soon as an instance of playAudioFile is created \, this subpatch generates an individual random number \$0 that can be used to name the array; +#X text 128 105 every time you call up the playAudioFile abstraction \, a new number will be generated; +#X text 128 145 As a result \, each array in each playAudioFile abstractions will have a unique name.; +#X connect 0 0 1 0; +#X restore 825 143 pd ArrayNameGenerator; +#X text 818 109 subPtach to generate the Array Name; +#X connect 0 0 6 0; +#X connect 2 0 5 0; +#X connect 3 0 10 0; +#X connect 4 0 5 1; +#X connect 5 0 3 0; +#X connect 6 0 2 0; +#X connect 6 1 4 0; +#X connect 10 0 1 0; +#X restore 910 391 pd retrieve&StoreFileIntoAnArray; +#X text 792 510 object to read the file stored into the Array; +#X text 666 148 << This is where we store the audiofile; +#X text 666 167 << This is an array; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \$0-array 187513 float 2; +#X coords 0 -1 187513 1 200 140 2 0 0; +#X restore 442 112 graph; +#N canvas 669 389 450 300 fadeInFadeOut 0; +#X obj 111 43 inlet; +#X obj 126 188 outlet~; +#X obj 161 43 inlet; +#X text 94 22 FadeIn; +#X text 158 22 FadeOut; +#X obj 126 148 line~; +#X msg 111 88 1 10; +#X msg 161 88 0 500; +#X connect 0 0 6 0; +#X connect 2 0 7 0; +#X connect 5 0 1 0; +#X connect 6 0 5 0; +#X connect 7 0 5 0; +#X restore 231 512 pd fadeInFadeOut; +#X obj 387 682 *~; +#X text 701 286 input to receive pitch; +#X obj 231 449 t b b; +#N canvas 39 23 450 300 initializeVolume 0; +#X obj 21 29 loadbang; +#X obj 21 56 delay 1; +#X obj 21 112 outlet; +#X msg 21 80 0.25; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 3 0 2 0; +#X restore 521 430 pd initializeVolume; +#X text 58 511 fade to avoid audioClicks; +#N canvas 16 23 1264 755 playRetrig 0; +#X obj 627 50 inlet; +#X obj 280 49 inlet; +#X obj 627 590 outlet~; +#X text 590 623 Play instructions output; +#X floatatom 762 142 5 44100 192000 0 - - - 0; +#X text 678 123 SAMPLE RATE OF THE AUDIOFILE; +#N canvas 506 105 664 554 lenghtOfTheAudioFile 0; +#X obj 170 221 / 1000; +#X obj 149 248 / 44; +#X obj 129 295 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X floatatom 120 173 5 0 0 0 - - - 0; +#X obj 120 221 i; +#X obj 153 195 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X floatatom 120 361 5 0 0 0 - - - 0; +#X obj 170 119 inlet; +#X text 169 96 SAMPLE RATE OF THE SOUND; +#X obj 120 119 inlet; +#X text 56 95 LENGHT (samples); +#X text 79 423 LENGHT(samples); +#X text 54 27 This patch calculate the lenght of the auiod file in samples and ms, f 71; +#X obj 120 398 outlet; +#X text 234 423 LENGHT (freq); +#X obj 234 398 outlet; +#X obj 222 296 t b f; +#X text 185 263 ms; +#X obj 234 360 /; +#X msg 222 323 1000; +#X text 284 358 convert ms to freq; +#X connect 0 0 1 1; +#X connect 1 0 2 0; +#X connect 1 0 16 0; +#X connect 2 0 6 0; +#X connect 3 0 4 0; +#X connect 3 0 4 1; +#X connect 4 0 1 0; +#X connect 4 0 6 0; +#X connect 5 0 4 0; +#X connect 6 0 13 0; +#X connect 7 0 0 0; +#X connect 7 0 5 0; +#X connect 9 0 3 0; +#X connect 16 0 19 0; +#X connect 16 1 18 1; +#X connect 18 0 15 0; +#X connect 19 0 18 0; +#X restore 627 185 pd lenghtOfTheAudioFile; +#X text 627 23 AUDIOFILE LENGHT (samples); +#X obj 468 51 inlet; +#X text 465 23 PITCH Control Input; +#X text 631 206 samples; +#X obj 627 526 *~; +#X obj 762 460 phasor~; +#X text 257 24 RETRIG input; +#X msg 801 435 0; +#X obj 279 257 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 762 312 f; +#X obj 467 257 t b f; +#X obj 762 368 * 1; +#X text 768 210 freq (how fast the phasor should cycle to reproduce the sample at the correct speed); +#X text 819 459 this phasor cycle at a certain speed through the array where the audio file is stored; +#X text 791 313 the speed is stored in this object. So that can be recalculated later according to a scale factor; +#X text 791 366 here we can apply a scale factor to change the playback speed and (as a result) the pitch of the sound; +#X connect 0 0 6 0; +#X connect 1 0 15 0; +#X connect 4 0 6 1; +#X connect 6 0 11 0; +#X connect 6 1 16 0; +#X connect 8 0 17 0; +#X connect 11 0 2 0; +#X connect 12 0 11 1; +#X connect 14 0 12 1; +#X connect 15 0 14 0; +#X connect 16 0 18 0; +#X connect 17 0 16 0; +#X connect 17 1 18 1; +#X connect 18 0 12 0; +#X restore 666 464 pd playRetrig; +#X text 664 533 audio output; +#N canvas 801 121 450 300 scaleSliderBetween0&1 0; +#X obj 65 111 / 127; +#X obj 65 18 inlet; +#X obj 65 173 outlet; +#X text 141 44 avoid 0 value; +#X text 139 75 clip value to 127 (max slider value by default); +#X text 139 111 normalize between 0 and 1; +#X obj 65 77 clip 1 127; +#X text 139 141 add offset to change the pitch between (1 = default pitch and 2 = two times the initial pitch); +#X obj 65 49 * 127; +#X obj 65 140 + 0.5; +#X connect 0 0 9 0; +#X connect 1 0 8 0; +#X connect 6 0 0 0; +#X connect 8 0 6 0; +#X connect 9 0 2 0; +#X restore 703 391 pd scaleSliderBetween0&1; +#X obj 522 599 *~; +#X obj 738 364 snapshot~; +#X obj 693 316 inlet~; +#X obj 759 341 metro 20; +#X obj 759 318 loadbang; +#X connect 0 0 18 0; +#X connect 1 0 10 0; +#X connect 3 0 15 1; +#X connect 9 0 24 1; +#X connect 10 0 21 2; +#X connect 15 0 16 0; +#X connect 16 0 2 0; +#X connect 18 0 15 0; +#X connect 18 1 21 0; +#X connect 19 0 24 0; +#X connect 21 0 9 0; +#X connect 23 0 21 1; +#X connect 24 0 16 1; +#X connect 25 0 23 0; +#X connect 26 0 25 0; +#X connect 27 0 25 0; +#X connect 28 0 27 0; +#X coords 0 755 1 754 201 140 0; diff --git a/Whisphair/WhispHairCodePD/all files/rain.wav b/Whisphair/WhispHairCodePD/all files/rain.wav new file mode 100644 index 0000000..020a159 Binary files /dev/null and b/Whisphair/WhispHairCodePD/all files/rain.wav differ diff --git a/Whisphair/WhispHairCodePD/all files/rhodes.wav b/Whisphair/WhispHairCodePD/all files/rhodes.wav new file mode 100644 index 0000000..921600c Binary files /dev/null and b/Whisphair/WhispHairCodePD/all files/rhodes.wav differ diff --git a/Whisphair/WhispHairCodePD/all files/sample1.wav b/Whisphair/WhispHairCodePD/all files/sample1.wav new file mode 100644 index 0000000..31d6993 Binary files /dev/null and b/Whisphair/WhispHairCodePD/all files/sample1.wav differ diff --git a/Whisphair/WhispHairCodePD/all files/sample~-help.pd b/Whisphair/WhispHairCodePD/all files/sample~-help.pd new file mode 100644 index 0000000..55d3b54 --- /dev/null +++ b/Whisphair/WhispHairCodePD/all files/sample~-help.pd @@ -0,0 +1,37 @@ +#N canvas 1245 173 508 360 12; +#X msg 181 65 samples/hello.wav; +#X obj 136 102 bng 15 250 50 0 empty empty empty 17 7 0 10 #c6ffc7 +#000000 #000000; +#X msg 202 41 samples/C4EP.wav; +#X obj 18 13 tgl 15 0 empty empty empty 17 7 0 10 #c6ffc7 #000000 #000000 +0 1; +#X obj 18 37 tempo 130 0.5; +#X obj 17 98 quant 0 2 4 7 9; +#X obj 17 68 rand 60 5 12 100; +#X floatatom 222 136 5 0 127 2 Speed\ (0.1-11.9\ &\ 12\ -\ 127) - - +0; +#X floatatom 250 173 5 0 1 2 Start\ Pos\ (0-1) - - 0; +#X floatatom 279 208 5 0 1 2 End\ Pos\ (0-1) - - 0; +#X obj 311 243 hsl 100 15 0 1 0 0 empty empty Scrub\\\ (0-1) -2 -8 +0 10 #fcfcfc #000000 #000000 0 1; +#X floatatom 164 233 5 0 127 2 Vel\ (0-127) - - 0; +#X text 264 134 Either 1 or 60 is normal speed; +#X text 81 8 load and playback a mono or stereo sample; +#X obj 136 264 sample~ samples/hello.wav; +#X obj 135 303 out~ 0.5; +#X msg 217 90 samples/Birds.wav; +#X connect 0 0 14 2; +#X connect 1 0 14 0; +#X connect 2 0 14 2; +#X connect 3 0 4 0; +#X connect 4 0 6 0; +#X connect 5 0 14 0; +#X connect 6 2 5 0; +#X connect 7 0 14 3; +#X connect 8 0 14 4; +#X connect 9 0 14 5; +#X connect 10 0 14 6; +#X connect 11 0 14 1; +#X connect 14 0 15 0; +#X connect 14 1 15 1; +#X connect 16 0 14 2; diff --git a/Whisphair/WhispHairCodePD/all files/sample~.pd b/Whisphair/WhispHairCodePD/all files/sample~.pd new file mode 100644 index 0000000..96d5f2b --- /dev/null +++ b/Whisphair/WhispHairCodePD/all files/sample~.pd @@ -0,0 +1,260 @@ +#N canvas 785 527 1030 771 12; +#X obj 254 160 soundfiler; +#X floatatom 284 203 8 0 0 2 \ Samples - - 0; +#X floatatom 301 315 8 0 0 2 \ Millis - - 0; +#X floatatom 375 225 5 0 0 2 samplerate - - 0; +#X obj 303 278 / 44.1; +#X obj 450 86 f \$0; +#X obj 373 14 array define \$0-sampleData; +#X obj 254 111 pack s f; +#X msg 266 40 samples/hello.wav; +#X obj 449 37 loadbang; +#X obj 375 246 * 0.001; +#X obj 254 16 inlet name; +#X obj 49 517 vline~; +#X floatatom 149 399 8 0 0 0 - - - 0; +#X obj 49 361 f; +#X msg 132 456 stop; +#X msg 177 480 \$1 100; +#X obj 149 428 / 1; +#X floatatom 184 428 5 0.5 2 0 - - - 0; +#X obj 242 379 hsl 50 15 0.1 2 0 0 empty empty Speed -2 -8 0 10 #fcfcc4 +#000000 #000000 0 1; +#X obj 687 15 inlet start%; +#X obj 687 118 *; +#X floatatom 687 92 5 0 1 1 0-1 - - 0; +#X floatatom 687 150 8 0 0 0 - - - 0; +#X obj 687 177 s \$0-start; +#X obj 79 281 r \$0-start; +#X floatatom 800 121 5 0 1 1 samples - - 0; +#X floatatom 800 186 8 0 0 0 - - - 0; +#X obj 799 17 inlet end%; +#X obj 800 213 s \$0-end; +#X obj 201 282 r \$0-end; +#X obj 82 413 r \$0-end; +#X obj 578 17 inlet speed; +#X floatatom 578 42 5 0 10 0 - - - 0; +#X obj 152 365 t b f; +#X obj 909 17 inlet scrub; +#X obj 909 108 *; +#X floatatom 909 81 5 0 1 1 0-1 - - 0; +#X floatatom 909 139 8 0 0 0 - - - 0; +#X obj 909 166 s \$0-scrub; +#X obj 177 455 r \$0-scrub; +#X obj 708 67 t b f; +#X obj 800 92 t b f; +#X obj 95 317 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 +#000000; +#X obj 85 338 expr (max($f1 \, $f2) - min($f1 \, $f2)) / $f3; +#X obj 49 688 outlet~; +#X obj 139 17 inlet velocity; +#X obj 139 70 / 127; +#X obj 139 44 clip 0 127; +#X obj 800 155 * 1; +#X obj 49 659 *~ 0.8; +#X obj 49 453 pack 0 f f; +#X floatatom 800 39 5 0 1 0 - - - 0; +#X msg 49 480 \$1 \, \$2 \$3; +#X obj 67 601 vline~; +#X obj 49 626 *~; +#X msg 79 574 0 3 \, 1 0 3; +#X obj 11 290 delay 3; +#N canvas 240 315 551 381 midi-p-shift 0; +#X obj 24 7 inlet midi-pitch; +#X msg 43 60 1 1.059 1.122 1.189 1.26 1.334 1.414 1.498 1.578 1.682 +1.782 1.888, f 68; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \$0-pitch-ratios 12 float 3; +#A 0 1 1.059 1.122 1.189 1.26 1.334 1.414 1.498 1.578 1.682 1.782 1.888 +; +#X coords 0 2 12 1 120 50 1 0 0; +#X restore 250 108 graph; +#X obj 43 87 array set \$0-pitch-ratios; +#X obj 42 33 loadbang; +#X obj 24 338 outlet playback-speed; +#X obj 71 189 array get \$0-pitch-ratios; +#X floatatom 72 219 5 0 0 0 - - - 0; +#X floatatom 24 231 5 0 0 0 - - - 0; +#X floatatom 24 307 5 0 0 0 - - - 0; +#X floatatom 24 158 5 0 127 0 - - - 0; +#X obj 24 181 / 12; +#X obj 24 205 int; +#X obj 24 256 - 2; +#X obj 24 281 expr (pow(2 \, $f1) / 8.0) * $f2; +#X obj 71 160 % 12; +#X obj 24 118 t f f; +#X connect 0 0 16 0; +#X connect 1 0 3 0; +#X connect 4 0 1 0; +#X connect 6 0 7 0; +#X connect 7 0 14 1; +#X connect 8 0 13 0; +#X connect 9 0 5 0; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 12 0 8 0; +#X connect 13 0 14 0; +#X connect 14 0 9 0; +#X connect 15 0 6 0; +#X connect 16 0 10 0; +#X connect 16 1 15 0; +#X restore 156 257 pd midi-p-shift; +#X obj 46 200 t b b f; +#X floatatom 46 167 5 0 0 0 - - - 0; +#X msg 64 103 60; +#X obj 64 76 loadbang; +#X obj 47 16 inlet pitch; +#X obj 578 111 moses 12; +#X obj 578 85 clip 0.1 127; +#X floatatom 581 203 5 0 0 0 - - - 0; +#X obj 46 135 f; +#X obj 103 226 moses 12; +#N canvas 870 113 175 171 parseName 0; +#X obj 40 42 symbol \$1; +#X obj 38 123 outlet; +#X obj 39 96 list trim; +#X obj 40 68 pack s; +#X obj 40 12 inlet; +#X connect 0 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X restore 282 72 pd parseName; +#X obj 450 61 t b b; +#X obj 137 98 pow 1.3; +#X obj 143 175 sel 0; +#X obj 555 532 delay 0; +#X obj 555 563 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc +#000000 #000000; +#X obj 555 690 outlet; +#X text 561 663 Bang at end; +#X obj 199 306 t b f; +#X obj 800 65 clip 0 1; +#X obj 687 43 clip 0 1; +#X obj 909 49 clip 0 1; +#X floatatom 191 210 5 0 127 0 - - - 0; +#X msg 254 137 read -resize \$1 \$2-sampleDataL \$2-sampleDataR; +#X obj 243 727 outlet~; +#X obj 243 664 *~ 0.8; +#X obj 243 639 *~; +#X obj 49 549 tabread4~ \$0-sampleDataL; +#X obj 243 547 tabread4~ \$0-sampleDataR; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \$0-sampleDataL 298924 float 2; +#X coords 0 1 298924 -1 200 140 1 0 0; +#X restore 474 289 graph; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \$0-sampleDataR 298924 float 2; +#X coords 0 1 298924 -1 200 140 1 0 0; +#X restore 711 290 graph; +#X obj 374 191 unpack f f f; +#X floatatom 455 218 5 0 0 0 - - - 0; +#X obj 155 691 *~ 0; +#X obj 454 245 expr if ($f1 == 1 \, 1 \, 0); +#X connect 0 0 1 0; +#X connect 0 0 4 0; +#X connect 0 1 90 0; +#X connect 1 0 41 0; +#X connect 1 0 36 1; +#X connect 1 0 26 0; +#X connect 2 0 13 0; +#X connect 3 0 10 0; +#X connect 4 0 2 0; +#X connect 5 0 7 1; +#X connect 7 0 82 0; +#X connect 8 0 7 0; +#X connect 9 0 70 0; +#X connect 10 0 4 1; +#X connect 10 0 44 2; +#X connect 11 0 7 0; +#X connect 12 0 86 0; +#X connect 12 0 87 0; +#X connect 13 0 17 0; +#X connect 14 0 51 0; +#X connect 15 0 12 0; +#X connect 16 0 12 0; +#X connect 17 0 51 2; +#X connect 17 0 73 1; +#X connect 18 0 17 1; +#X connect 19 0 34 0; +#X connect 20 0 79 0; +#X connect 21 0 23 0; +#X connect 22 0 21 0; +#X connect 23 0 24 0; +#X connect 25 0 14 1; +#X connect 25 0 44 0; +#X connect 26 0 49 0; +#X connect 27 0 29 0; +#X connect 28 0 52 0; +#X connect 30 0 77 0; +#X connect 31 0 51 1; +#X connect 32 0 33 0; +#X connect 33 0 65 0; +#X connect 34 0 13 0; +#X connect 34 1 18 0; +#X connect 35 0 80 0; +#X connect 36 0 38 0; +#X connect 37 0 36 0; +#X connect 38 0 39 0; +#X connect 40 0 16 0; +#X connect 41 0 22 0; +#X connect 41 1 21 1; +#X connect 42 0 26 0; +#X connect 42 1 49 1; +#X connect 43 0 44 0; +#X connect 44 0 13 0; +#X connect 46 0 48 0; +#X connect 47 0 71 0; +#X connect 48 0 47 0; +#X connect 48 0 72 0; +#X connect 49 0 27 0; +#X connect 50 0 45 0; +#X connect 50 0 92 0; +#X connect 51 0 53 0; +#X connect 52 0 78 0; +#X connect 53 0 12 0; +#X connect 54 0 55 1; +#X connect 54 0 85 1; +#X connect 55 0 50 0; +#X connect 56 0 54 0; +#X connect 57 0 14 0; +#X connect 58 0 34 0; +#X connect 59 0 57 0; +#X connect 59 0 73 0; +#X connect 59 1 56 0; +#X connect 59 2 68 0; +#X connect 60 0 59 0; +#X connect 61 0 67 1; +#X connect 62 0 61 0; +#X connect 63 0 67 0; +#X connect 64 0 34 0; +#X connect 64 0 66 0; +#X connect 64 1 58 0; +#X connect 65 0 64 0; +#X connect 65 0 67 1; +#X connect 67 0 60 0; +#X connect 68 0 34 0; +#X connect 68 1 58 0; +#X connect 69 0 7 0; +#X connect 70 0 69 0; +#X connect 70 1 5 0; +#X connect 71 0 50 1; +#X connect 72 0 15 0; +#X connect 73 0 74 0; +#X connect 74 0 75 0; +#X connect 77 0 43 0; +#X connect 77 1 44 1; +#X connect 78 0 42 0; +#X connect 79 0 22 0; +#X connect 80 0 37 0; +#X connect 81 0 58 0; +#X connect 82 0 0 0; +#X connect 84 0 83 0; +#X connect 85 0 84 0; +#X connect 86 0 55 0; +#X connect 87 0 85 0; +#X connect 90 0 3 0; +#X connect 90 2 91 0; +#X connect 91 0 93 0; +#X connect 92 0 83 0; +#X connect 93 0 92 1; diff --git a/Whisphair/WhispHairCodePD/all files/settings.json b/Whisphair/WhispHairCodePD/all files/settings.json new file mode 100644 index 0000000..d20a3b4 --- /dev/null +++ b/Whisphair/WhispHairCodePD/all files/settings.json @@ -0,0 +1,34 @@ +{ + "fileName": "_main.pd", + "CLArgs": { + "-p": "16", + "-C": "8", + "-B": "16", + "-N": "1", + "-G": "1", + "-M": "0", + "-H0,": "-6", + "-H1,": "-6", + "-H2,": "-6", + "-H3,": "-6", + "-H4,": "-6", + "-H5,": "-6", + "-H6,": "-6", + "-H7,": "-6", + "-I0,": "10", + "-I1,": "10", + "-I2,": "10", + "-I3,": "10", + "-I4,": "10", + "-I5,": "10", + "-I6,": "10", + "-I7,": "10", + "user": "", + "make": "", + "-X": "0", + "audioExpander": "0", + "-Y": "", + "-Z": "", + "--disable-led": "0" + } +} diff --git a/Whisphair/WhispHairCodePD/all files/sketch.js b/Whisphair/WhispHairCodePD/all files/sketch.js new file mode 100644 index 0000000..ffba3a9 --- /dev/null +++ b/Whisphair/WhispHairCodePD/all files/sketch.js @@ -0,0 +1,63 @@ +var guiSketch = new p5(( sketch ) => { + + let canvas_dimensions = [sketch.windowWidth, sketch.windowHeight]; + + let sensorNumber = 30; + + let chartTop = 100; + let chartBottom = canvas_dimensions[1]-chartTop; + let chartLeft = 100; + let chartRight = canvas_dimensions[0]-chartLeft; + + let dataRange = [0, 2.0]; + + let barWidth = (chartRight-chartLeft) / (sensorNumber*1.5); + + sketch.setup = function () { + sketch.createCanvas(canvas_dimensions[0], canvas_dimensions[1]); + } + + sketch.draw = function () { + sketch.background(255); + + sketch.noStroke(); + sketch.textSize(10); + + sensorNumber = 30; + barWidth = (chartRight-chartLeft) / (sensorNumber*1.5); + + + for (let i = 0; i < sensorNumber; i++) { + let x = sketch.map(i, 0, sensorNumber - 1, chartLeft, chartRight); + //let data = sketch.random(dataRange[0], dataRange[1]); + let data = Bela.data.buffers[0][i]; + let y = sketch.map(data, dataRange[0], dataRange[1], chartBottom, chartTop); + + sketch.strokeWeight(barWidth); + sketch.strokeCap(sketch.SQUARE); + sketch.stroke(0); + sketch.line(x, chartBottom, x, y); + + sketch.noStroke(); + sketch.textAlign(sketch.CENTER); + sketch.text(i, x, chartBottom + 15); + sketch.text(sketch.nf(data,0,3), x, chartBottom + 45); + } + + sketch.text("SENSOR:", chartLeft-barWidth*2, chartBottom + 15); + sketch.text("VALUE:", chartLeft-barWidth*2, chartBottom + 45); + } + + sketch.windowResized = function() { + if(sketch.windowWidth > 350 & sketch.windowHeight > 250) { + canvas_dimensions = [sketch.windowWidth, sketch.windowHeight] + sketch.resizeCanvas(canvas_dimensions[0], canvas_dimensions[1]); + + chartBottom = canvas_dimensions[1]-chartTop; + chartRight = canvas_dimensions[0]-chartLeft; + barWidth = (chartRight-chartLeft) / (sensorNumber*1.5); + } + } +}, 'gui'); + + diff --git a/Whisphair/WhispHairCodePD/all files/vocal1.wav b/Whisphair/WhispHairCodePD/all files/vocal1.wav new file mode 100644 index 0000000..5305b1e Binary files /dev/null and b/Whisphair/WhispHairCodePD/all files/vocal1.wav differ diff --git a/Whisphair/WhispHairCodePD/all files/water.wav b/Whisphair/WhispHairCodePD/all files/water.wav new file mode 100644 index 0000000..8a8fd17 Binary files /dev/null and b/Whisphair/WhispHairCodePD/all files/water.wav differ diff --git a/Whisphair/tags.md b/Whisphair/tags.md new file mode 100644 index 0000000..153f874 --- /dev/null +++ b/Whisphair/tags.md @@ -0,0 +1,18 @@ +--- +tags: + - processing_technique: + - crocheting + - knotting + - spool_knitting + conductive_material: + - "Shieldex HC 40 Yarn" + description: > + Playing with, stroking, or twirling hair is a common self-soothing behavior. + The headband provides an elevated alternative to this type of coping while + protecting your hair from being damaged by prolonged, repetitive touch. + + This project aims to increase the ability to self-soothe by offering different + tactile experiences coupled with an audible output that adapts to user interaction. +--- + +# Tags diff --git a/WrappedInWhispersPast/tags.md b/WrappedInWhispersPast/tags.md new file mode 100644 index 0000000..68fa381 --- /dev/null +++ b/WrappedInWhispersPast/tags.md @@ -0,0 +1,25 @@ +--- +tags: + - processing_technique: + - crocheting + - knotting + - spool_knitting + - sewing + - quilting + conductive_material: + - "Shieldex HC 40 Yarn" + description: > + Quilt Shelter is a blanket- or cape-like wearable that explores + the relationship between sensory perception, memory, and sound. + + The project combines different tactile surfaces that users can touch + both from the outside and the inside of the garment. These interactions + trigger contrasting sonic experiences, ranging from annoying high-pitch + sounds to soft, healing tones. + + The aim is to connect physical sensation with emotional memory, + allowing users to associate present interactions with past auditory + experiences. +--- + +# Tags diff --git a/X-y-suitcase/tags.md b/X-y-suitcase/tags.md new file mode 100644 index 0000000..03c3c79 --- /dev/null +++ b/X-y-suitcase/tags.md @@ -0,0 +1,11 @@ +--- +tags: + - processing_technique: + - adhesive_bonding + - embroidering + conductive_material: + - "Copper tape" +--- + +# Tags + diff --git a/tags.md b/tags.md deleted file mode 100644 index 8b13789..0000000 --- a/tags.md +++ /dev/null @@ -1 +0,0 @@ -