Mercurial > hg > beaglert
changeset 531:ddb86944e138 prerelease
cleaned up all pd examples (and removed some). added polysynth and vangelisiser to instruments examples
line wrap: on
line diff
--- a/examples/08-PureData/basicAnalogIn/_main.pd Thu Jun 23 13:22:59 2016 +0100 +++ b/examples/08-PureData/basicAnalogIn/_main.pd Thu Jun 23 20:40:05 2016 +0100 @@ -1,30 +1,46 @@ -#N canvas 203 356 637 339 10; -#X obj 63 170 osc~ 440; -#X obj 63 223 dac~; -#X obj 63 191 *~; -#X text 440 95 ADC 3: Analog In 0; +#N canvas 854 511 593 543 10; +#X obj 43 253 osc~ 440; +#X obj 43 306 dac~; +#X obj 43 274 *~; +#X text 36 419 ADC 3: Analog In 0; #X text 34 41 Basic analog in (or 'theremin'); #X text 34 51 ===============================; -#X text 121 105 << Use first two analog in's; -#X text 440 49 ADC routing:; -#X text 440 57 ------------; -#X text 440 105 ADC 4: Analog In 1; -#X text 440 115 ADC 5: Analog In 2; -#X text 440 125 ADC 6: Analog In 3; -#X text 440 135 ADC 7: Analog In 4; -#X text 440 145 ADC 8: Analog In 5; -#X text 440 155 ADC 9: Analog In 6; -#X text 440 165 ADC 10: Analog In 7; -#X text 440 75 ADC 1: Audio In L; -#X text 440 85 ADC 2: Audio In R; -#X obj 63 149 *~ 880; -#X obj 63 106 adc~ 3 4; -#X text 355 277 ---------------------------------; -#X text 355 267 @krighxz / BELA / heavy / 12/2015; -#X text 379 286 beaglert.cc / enzienaudio.com; +#X text 35 353 ADC routing:; +#X text 35 361 ------------; +#X text 36 429 ADC 4: Analog In 1; +#X text 36 439 ADC 5: Analog In 2; +#X text 36 449 ADC 6: Analog In 3; +#X text 36 459 ADC 7: Analog In 4; +#X text 36 469 ADC 8: Analog In 5; +#X text 36 479 ADC 9: Analog In 6; +#X text 36 489 ADC 10: Analog In 7; +#X text 36 399 ADC 1: Audio In L; +#X text 36 409 ADC 2: Audio In R; +#X obj 43 232 *~ 880; +#X obj 43 189 adc~ 3 4; +#X text 101 231 << Analog In 0 controls frequency; +#X text 101 274 << Analog In 1 controls amplitude; +#X text 101 188 << Use first two analog ins; +#X text 37 74 In this example the first two analog inputs are; +#X text 37 87 used to control the frequency and amplitude of an; +#X text 37 100 oscillator.; +#X text 36 373 ADC channels 3-10 are used to address the analog inputs: +; +#X text 385 32 ............................; +#X text 385 42 . ____ ._____ _ .......___ .; +#X text 385 52 .| __ )| ____| |....../ _ |.; +#X text 385 72 .| |_) | |___| |___ / ___ |.; +#X text 385 82 .|____/|_____|_____/_/..._|.io; +#X text 385 92 ............................; +#X text 385 62 .| __ || __|.| |...../ _| |.; +#X text 37 114 Note that analog inputs and outputs have a range between +; +#X text 37 128 0 and 1 \, unlike regular audio signals (which have +a; +#X text 37 142 range between -1 and 1).; #X connect 0 0 2 0; #X connect 2 0 1 0; #X connect 2 0 1 1; -#X connect 18 0 0 0; -#X connect 19 0 18 0; -#X connect 19 1 2 1; +#X connect 17 0 0 0; +#X connect 18 0 17 0; +#X connect 18 1 2 1;
--- a/examples/08-PureData/basicAnalogOut/_main.pd Thu Jun 23 13:22:59 2016 +0100 +++ b/examples/08-PureData/basicAnalogOut/_main.pd Thu Jun 23 20:40:05 2016 +0100 @@ -1,30 +1,59 @@ -#N canvas 275 504 679 362 10; -#X text 148 124 << Use first two analog in's; -#X text 431 57 ------------; +#N canvas 1905 153 656 668 10; #X text 44 51 Basic analog out; #X text 44 61 ================; -#X text 431 95 DAC 3: Analog Out 0; -#X text 431 105 DAC 4: Analog Out 1; -#X text 431 115 DAC 5: Analog Out 2; -#X text 431 125 DAC 6: Analog Out 3; -#X text 431 145 DAC 8: Analog Out 5; -#X text 431 135 DAC 7: Analog Out 4; -#X text 431 155 DAC 9: Analog Out 6; -#X text 431 165 DAC 10: Analog Out 7; -#X text 431 85 DAC 2: Audio Out R; -#X text 431 75 DAC 1: Audio Out L; -#X obj 92 201 *~; -#X obj 92 159 *~ 10; -#X obj 92 180 osc~ 1; -#X obj 35 242 dac~ 1 2 3; -#X text 143 241 << Output to first analog out; -#X text 431 49 DAC routing:; -#X text 432 289 ---------------------------------; -#X text 432 279 @krighxz / BELA / heavy / 12/2015; -#X text 456 298 beaglert.cc / enzienaudio.com; -#X obj 92 125 adc~ 3 4; -#X connect 14 0 17 2; -#X connect 15 0 16 0; -#X connect 16 0 14 0; -#X connect 23 0 15 0; -#X connect 23 1 14 1; +#X text 45 548 DAC 3: Analog Out 0; +#X text 45 558 DAC 4: Analog Out 1; +#X text 45 568 DAC 5: Analog Out 2; +#X text 45 578 DAC 6: Analog Out 3; +#X text 45 598 DAC 8: Analog Out 5; +#X text 45 588 DAC 7: Analog Out 4; +#X text 45 608 DAC 9: Analog Out 6; +#X text 45 618 DAC 10: Analog Out 7; +#X text 45 538 DAC 2: Audio Out R; +#X text 45 528 DAC 1: Audio Out L; +#X obj 82 351 *~; +#X obj 82 309 *~ 10; +#X obj 82 330 osc~ 1; +#X text 133 431 << Output to first analog out; +#X obj 82 275 adc~ 3 4; +#X text 45 84 Just like the BasicAnalogIn example \, the first two +; +#X text 45 98 analog inputs are used to control the frequency and; +#X text 45 111 amplitude of an oscillator \, this time outputting; +#X text 45 125 a lower range of frequencies (<10Hz).; +#X text 45 139 Instead of sending this to Bela's stereo output we; +#X text 45 153 are sending this to the first analog output.; +#X text 138 274 << Use first two analog ins; +#X text 138 310 << Analog In 0 controls frequency; +#X text 138 349 << Analog In 1 controls amplitude; +#X obj 82 380 *~ 0.5; +#X obj 82 402 +~ 0.5; +#X text 138 389 << Rescale output to range 0-1; +#X text 45 167 Note that analog inputs and outputs have a range between +; +#X text 45 181 0 and 1 \, unlike regular audio signals (which have +a; +#X text 45 195 range between -1 and 1). Hence we rescale the output +; +#X text 45 209 of the oscillator in order to preserve the full range +; +#X text 45 223 of the sinusoidal signal.; +#X obj 82 432 dac~ 3; +#X text 44 490 ------------; +#X text 44 482 DAC routing:; +#X text 45 502 DAC channels 3-10 are used to address the analog inputs: +; +#X text 435 42 ............................; +#X text 435 52 . ____ ._____ _ .......___ .; +#X text 435 62 .| __ )| ____| |....../ _ |.; +#X text 435 82 .| |_) | |___| |___ / ___ |.; +#X text 435 92 .|____/|_____|_____/_/..._|.io; +#X text 435 102 ............................; +#X text 435 72 .| __ || __|.| |...../ _| |.; +#X connect 12 0 26 0; +#X connect 13 0 14 0; +#X connect 14 0 12 0; +#X connect 16 0 13 0; +#X connect 16 1 12 1; +#X connect 26 0 27 0; +#X connect 27 0 34 0;
--- a/examples/08-PureData/circularBuffer/_main.pd Thu Jun 23 13:22:59 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +0,0 @@ -#N canvas 436 490 738 494 10; -#X obj 135 167 loadbang; -#X msg 135 212 1; -#X obj 183 234 / 44.1; -#X obj 135 253 metro; -#X obj 135 286 f; -#X obj 160 286 + 64; -#X obj 160 308 % 65536, f 8; -#X msg 160 329 start \$1; -#X obj 160 351 tabwrite~ circbuf; -#X obj 363 303 - 32768; -#X obj 363 325 + 65536; -#X obj 363 347 % 65536; -#X obj 342 371 +~ 0; -#X msg 381 236 0; -#X obj 342 258 phasor~; -#X obj 342 392 tabread4~ circbuf; -#X obj 341 415 dac~; -#N canvas 422 781 312 126 buf 0; -#N canvas 0 22 450 278 (subpatch) 0; -#X array circbuf 65536 float 2; -#X coords 0 1 65535 -1 256 64 1 0 0; -#X restore 23 28 graph; -#X restore 129 441 pd buf; -#X obj 32 101 osc~ 440; -#X obj 342 213 samplerate~; -#X obj 134 189 t b b b b; -#X text 30 82 audio input; -#X text 219 310 write pointer; -#X text 412 349 read pointer; -#X obj 342 282 *~ 16; -#X obj 342 236 / 16; -#X obj 183 214 f 16; -#X obj 363 189 r \$0-blocksize; -#X obj 204 186 r \$0-blocksize; -#X obj 394 259 r \$0-blocksize; -#X obj 390 123 s \$0-blocksize; -#X text 34 13 VIRTUAL CIRCULAR BUFFER; -#X text 34 23 =======================; -#X obj 390 55 loadbang; -#X msg 390 77 16; -#X text 517 454 ---------------------------------; -#X text 517 444 @krighxz / BELA / heavy / 12/2015; -#X text 541 463 beaglert.cc / enzienaudio.com; -#X text 426 78 << replace with target blocksize; -#X text 446 90 BELA default: 16; -#X text 446 102 PD default: 64; -#X connect 0 0 20 0; -#X connect 1 0 3 0; -#X connect 2 0 3 1; -#X connect 3 0 4 0; -#X connect 4 0 5 0; -#X connect 5 0 6 0; -#X connect 5 0 9 0; -#X connect 6 0 7 0; -#X connect 6 0 4 1; -#X connect 7 0 8 0; -#X connect 9 0 10 0; -#X connect 10 0 11 0; -#X connect 11 0 12 1; -#X connect 12 0 15 0; -#X connect 13 0 14 1; -#X connect 14 0 24 0; -#X connect 15 0 16 0; -#X connect 15 0 16 1; -#X connect 18 0 8 0; -#X connect 19 0 25 0; -#X connect 20 0 1 0; -#X connect 20 1 26 0; -#X connect 20 2 13 0; -#X connect 20 3 19 0; -#X connect 24 0 12 0; -#X connect 25 0 14 0; -#X connect 26 0 2 0; -#X connect 27 0 25 1; -#X connect 28 0 26 1; -#X connect 29 0 24 1; -#X connect 33 0 34 0; -#X connect 34 0 30 0;
--- a/examples/08-PureData/digital/_main.pd Thu Jun 23 13:22:59 2016 +0100 +++ b/examples/08-PureData/digital/_main.pd Thu Jun 23 20:40:05 2016 +0100 @@ -1,121 +1,138 @@ -#N canvas 272 16 857 690 10; -#X obj 18 477 osc~ 200; -#X obj 57 522 *~; -#X obj 112 405 line~ 1; -#X msg 116 372 1 \, 0 200; -#X obj 205 472 line~ 1; -#X msg 209 439 1 \, 0 200; -#X obj 210 405 select 1; -#X obj 140 531 *~; -#X obj 534 622 s bela_setDigital; -#X obj 534 553 loadbang; -#X msg 65 445 0; -#X obj 116 332 r bela_digitalIn12; -#X obj 422 217 r bela_digitalIn14; -#X obj 422 243 s bela_digitalOut13; -#X obj 285 218 r bela_digitalIn12; -#X obj 285 243 s bela_digitalOut11; -#X obj 374 339 timer; -#X msg 404 304 bang; -#X msg 368 304 bang; -#X obj 556 160 metro 1000; -#X obj 575 304 s bela_digitalOut15; -#X obj 354 380 print sourceto12; -#X obj 488 351 timer; -#X msg 518 316 bang; -#X msg 482 316 bang; -#X obj 487 380 print sourceto14; -#X obj 650 146 r bela_digitalIn16; -#X msg 553 265 1; -#X obj 577 214 delay 500; -#X obj 480 275 select 1; -#X obj 346 268 select 1; -#X msg 584 281 0; -#X obj 637 221 select 1 0; -#X obj 80 663 dac~ 3 4; -#X msg 458 576 disable 12; -#X obj 158 595 *~ 0.5; -#X obj 157 622 +~ 0.5; -#X obj 53 584 *~ 0.5; -#X obj 52 611 +~ 0.5; -#X text 183 37 This is just a stub ...; -#X obj 308 643 dac~ 1 2; -#X obj 311 606 *~ 0.1; -#X obj 337 550 osc~ 120; -#X msg 585 438 0; -#X obj 649 185 print digitalIn16; -#X obj 672 373 print digitalIn14; -#X text 185 103 This section requires some hardware loopback between -15 and 14 \, 13 and 12 Have fun figuring out the pins on P8 (or P9 -???) If you do it properly \, you can measure roundtrip latency with -multiple digital/analog feed-forward networs; -#X obj 552 112 loadbang; -#X obj 206 291 print digitalIn12; -#X text 548 130 connect a switch to digitalIn16 or turn on the metro -here; -#X obj 287 449 adc~ 17; -#X obj 299 506 phasor~ 300; -#X obj 293 539 *~; -#X obj 409 622 dac~ 26; -#X msg 534 584 out 11 \, in 12 \, out 13 \, in 14 \, out 15 \, in 16 -\, in 17 ~ \, out 26 ~; -#X obj 378 427 phasor~ 0.2; -#X obj 373 455 *~ 1000; -#X obj 620 524 dac~ 27 28 29 30; -#X obj 621 466 osc~ 30; -#X connect 0 0 1 0; -#X connect 0 0 7 0; -#X connect 1 0 37 0; -#X connect 2 0 1 1; -#X connect 3 0 2 0; -#X connect 4 0 7 1; -#X connect 5 0 4 0; -#X connect 6 0 5 0; -#X connect 6 0 10 0; +#N canvas 1059 41 685 1592 10; +#X obj 60 800 r bela_digitalIn11; +#X obj 272 800 r bela_digitalIn12; +#X obj 60 897 adc~ 13 14; +#X text 56 869 Digital ins \, signal rate; +#X obj 58 1144 s bela_digitalOut15; +#X text 56 1040 Digital out \, message rate; +#X obj 59 695 s bela_setDigital; +#X obj 82 618 loadbang; +#X msg 83 473 in 11; +#X msg 83 530 in 13 ~; +#X msg 83 501 in 12 message; +#X msg 83 567 disable 17; +#X obj 60 943 snapshot~; +#X obj 194 944 snapshot~; +#X obj 194 896 loadbang; +#X obj 60 991 print digitalIn13; +#X obj 194 991 print digitalIn14; +#X obj 194 917 metro 200; +#X obj 60 1245 dac~ 16; +#X obj 58 1093 metro 500; +#X obj 58 1118 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X obj 60 1218 phasor~ 300; +#X text 126 1246 Nice \, anti-aliased square wave; +#X obj 58 1068 loadbang; +#X obj 60 1379 dac~ 17; +#X obj 60 1321 osc~ 300; +#X obj 205 1321 phasor~ 169; +#X obj 205 1351 -~ 0.5; +#X text 56 1290 Sum signals together for unpredictable effects; +#X obj 61 1537 dac~ 18; +#X text 56 1190 Digital out \, signal rate; +#X obj 61 1456 adc~; +#X obj 61 1483 *~ 0.5; +#X obj 61 1510 +~ 0.5; +#X text 58 1426 The ultimate bit-crusher; +#X msg 82 640 in 11 \, in 12 \, in 13 ~ \, in 14 ~ \, out 15 \, out +16 ~ \, out 17 ~ \, out 18 ~; +#X obj 136 1321 osc~ 1; +#X obj 60 967 change; +#X obj 194 968 change; +#X obj 60 822 print digitalIn11; +#X obj 272 823 print digitalIn12; +#X text 42 234 Each digital channel can be configured as either an +input or; +#X text 42 247 an output. Send messages to bela_setDigital to configure +the; +#X text 42 260 digitalPins (needed before using them). Pins settings +can be; +#X text 42 273 modified at will during execution. Message-rate input +pins; +#X text 42 286 receive messages only when the input changes. Message-rate +; +#X text 42 299 output pins will write to the output the most recent +value; +#X text 42 312 you send them. Signal-rate inputs and outputs are handled +as; +#X text 42 325 regular audio channels. Outputs are thresholded to 0.5 +; +#X text 42 338 before being written to the actual output. Note that +each; +#X text 42 351 pin that is managed adds to the CPU usage \, so only +activate; +#X text 42 364 the pins you actually need.; +#X text 43 119 Digital channels are numbered 11 to 26 \, which corresponds +to; +#X text 43 132 Bela's 0 to 15 digital channels. They can be set to +respond; +#X text 43 394 First argument is the pin direction Second argument +is the; +#X text 43 407 pin number Third argument is the rate \, can be "~" +or "sig"; +#X text 43 420 for signal-rate or "message" for message-rate. Defaults +to; +#X text 43 433 message-rate.; +#X text 182 577 message containing the pin number; +#X text 44 20 Digital I/O; +#X text 44 30 ===========; +#X text 43 62 Bela's digital inputs and outputs can be addressed from +; +#X text 43 88 rate or as signals. Input/output modes and rate need +; +#X text 43 101 to be initialised first.; +#X text 43 75 pd. They can either be received as messages at message +; +#X text 182 530 set digital in 2 to input at signal rate; +#X text 182 564 to stop using a pin (e.g.: to save CPU) \, send a disable +; +#X text 182 617 use loadbang to initalise multiple digital pins at +startup; +#X text 43 145 at message rate or at signal rate.; +#X text 42 194 Initialising digital pins; +#X text 42 204 -------------------------; +#X text 42 744 Usage examples; +#X text 42 754 --------------; +#X text 58 780 Digital in pin 0 \, control rate; +#X text 270 780 Digital in pin 1 \, control rate; +#X text 182 499 set digital in 1 to input explicitly specifying message +rate; +#X text 182 472 set digital in 0 to input (default message rate); +#X text 86 1117 Blink that LED!; +#X text 463 11 ............................; +#X text 463 21 . ____ ._____ _ .......___ .; +#X text 463 31 .| __ )| ____| |....../ _ |.; +#X text 463 51 .| |_) | |___| |___ / ___ |.; +#X text 463 61 .|____/|_____|_____/_/..._|.io; +#X text 463 71 ............................; +#X text 463 41 .| __ || __|.| |...../ _| |.; +#X connect 0 0 39 0; +#X connect 1 0 40 0; +#X connect 2 0 12 0; +#X connect 2 1 13 0; #X connect 7 0 35 0; -#X connect 9 0 54 0; -#X connect 10 0 0 1; -#X connect 11 0 3 0; -#X connect 12 0 13 0; -#X connect 12 0 29 0; -#X connect 12 0 45 0; -#X connect 14 0 15 0; -#X connect 14 0 30 0; -#X connect 14 0 48 0; -#X connect 16 0 21 0; -#X connect 17 0 16 1; -#X connect 18 0 16 0; -#X connect 19 0 27 0; -#X connect 19 0 28 0; -#X connect 22 0 25 0; -#X connect 23 0 22 1; -#X connect 24 0 22 0; -#X connect 26 0 32 0; -#X connect 26 0 43 0; -#X connect 26 0 44 0; -#X connect 27 0 20 0; +#X connect 8 0 6 0; +#X connect 9 0 6 0; +#X connect 10 0 6 0; +#X connect 11 0 6 0; +#X connect 12 0 37 0; +#X connect 13 0 38 0; +#X connect 14 0 17 0; +#X connect 17 0 13 0; +#X connect 17 0 12 0; +#X connect 19 0 20 0; +#X connect 20 0 4 0; +#X connect 21 0 18 0; +#X connect 23 0 19 0; +#X connect 25 0 24 0; +#X connect 26 0 27 0; #X connect 27 0 24 0; -#X connect 27 0 18 0; -#X connect 28 0 31 0; -#X connect 29 0 23 0; -#X connect 30 0 17 0; -#X connect 31 0 20 0; -#X connect 32 0 27 0; -#X connect 32 1 31 0; -#X connect 34 0 8 0; -#X connect 35 0 36 0; -#X connect 36 0 33 1; -#X connect 37 0 38 0; -#X connect 38 0 33 0; -#X connect 41 0 40 0; -#X connect 42 0 41 0; -#X connect 42 0 53 0; -#X connect 42 0 57 3; -#X connect 43 0 42 1; -#X connect 50 0 52 0; -#X connect 51 0 52 1; -#X connect 52 0 40 1; -#X connect 54 0 8 0; -#X connect 55 0 56 0; -#X connect 56 0 42 0; -#X connect 58 0 57 0; +#X connect 31 0 32 0; +#X connect 31 1 32 0; +#X connect 32 0 33 0; +#X connect 33 0 29 0; +#X connect 35 0 6 0; +#X connect 36 0 24 0; +#X connect 37 0 15 0; +#X connect 38 0 16 0;
--- a/examples/08-PureData/digital/bela_digital-help.pd Thu Jun 23 13:22:59 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,97 +0,0 @@ -#N canvas 121 46 877 628 10; -#X obj 64 94 r bela_digitalIn11; -#X obj 219 94 r bela_digitalIn12; -#X obj 386 107 adc~ 13 14; -#X text 49 64 Digital in \, message rate; -#X text 214 69 Digital in \, message rate; -#X text 394 85 Digital ins \, signal rate; -#X obj 32 283 s bela_digitalOut15; -#X text 13 309 Digital out \, message rate; -#X obj 396 593 s bela_setDigital; -#X obj 396 533 loadbang; -#X msg 431 401 in 11; -#X text 524 390 First argument is the pin direction Second argument -is the pin number Third argument is the rate \, can be "~" or "sig" -for signal-rate or "message" for message-rate. Defaults to message-rate. -; -#X msg 431 458 in 13 ~; -#X msg 432 429 in 12 message; -#X msg 517 506 disable 17; -#X obj 386 139 snapshot~; -#X obj 500 134 snapshot~; -#X obj 529 56 loadbang; -#X obj 384 181 print digitalIn13; -#X obj 500 183 print digitalIn14; -#X obj 497 105 metro 200; -#X text 525 474 To stop using a pin (e.g.: to save CPU) \, send a disable -message containing the pin number; -#X obj 224 280 dac~ 16; -#X obj 22 232 metro 500; -#X obj 32 257 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X obj 224 253 phasor~ 300; -#X text 160 234 Nice \, anti-aliased square wave; -#X obj 22 207 loadbang; -#X text 15 181 Blink that LED!; -#X obj 411 306 dac~ 17; -#X obj 405 248 osc~ 300; -#X obj 470 248 phasor~ 169; -#X obj 457 278 -~ 0.5; -#X text 403 210 Sum signals together for unpredictable effects; -#X obj 612 303 dac~ 18; -#X text 198 305 Digital out \, signal rate; -#X text 378 325 Digital out \, signal rate; -#X text 588 325 Digital out \, signal rate; -#X obj 608 222 adc~; -#X obj 612 249 *~ 0.5; -#X obj 612 276 +~ 0.5; -#X text 585 203 The ultimate bit-crusher; -#X msg 426 555 in 11 \, in 12 \, in 13 ~ \, in 14 ~ \, out 15 \, out -16 ~ \, out 17 ~ \, out 18 ~; -#X text 23 377 Each digital channel can be configured as either an -input or an output. Send messages to bela_setDigital to configure the -digitalPins (needed before using them). Pins settings can be modified -at will during execution. Message-rate input pins receive messages -only when the input changes. Message-rate output pins will write to -the output the most recent value you send them. Signal-rate inputs -and outputs are handled as regular audio channels. Outputs are thresholded -to 0.5 before being written to the actual output. Note that each pin -that is managed adds to the CPU usage \, so only activate the pins -you actually need.; -#X text 34 19 Digital channels are numbered 11 to 26 \, which corresponds -to Bela's 0 to 15 digital channels. They can be set to respond at message -rate or at signal rate; -#X obj 415 271 osc~ 1; -#X obj 385 157 change; -#X obj 500 158 change; -#X obj 64 116 print digitalIn11; -#X obj 219 117 print digitalIn12; -#X connect 0 0 48 0; -#X connect 1 0 49 0; -#X connect 2 0 15 0; -#X connect 2 1 16 0; -#X connect 9 0 42 0; -#X connect 10 0 8 0; -#X connect 12 0 8 0; -#X connect 13 0 8 0; -#X connect 14 0 8 0; -#X connect 15 0 46 0; -#X connect 16 0 47 0; -#X connect 17 0 20 0; -#X connect 20 0 16 0; -#X connect 20 0 15 0; -#X connect 23 0 24 0; -#X connect 24 0 6 0; -#X connect 25 0 22 0; -#X connect 27 0 23 0; -#X connect 30 0 29 0; -#X connect 31 0 32 0; -#X connect 32 0 29 0; -#X connect 38 0 39 0; -#X connect 38 1 39 0; -#X connect 39 0 40 0; -#X connect 40 0 34 0; -#X connect 42 0 8 0; -#X connect 45 0 29 0; -#X connect 46 0 18 0; -#X connect 47 0 19 0;
--- a/examples/08-PureData/envelopeTrigger/_main.pd Thu Jun 23 13:22:59 2016 +0100 +++ b/examples/08-PureData/envelopeTrigger/_main.pd Thu Jun 23 20:40:05 2016 +0100 @@ -1,71 +1,25 @@ -#N canvas 646 209 359 287 10; -#X obj 28 207 dac~; -#N canvas 324 380 556 621 env 0; -#N canvas 886 1001 131 207 >~ 0; -#X obj 19 -37 -~; -#X obj 19 -58 min~; -#X obj 19 26 *~ 1e+37; -#X obj 19 5 +~ 1e-37; -#X obj 19 -16 clip~ -1e-37 0; -#X obj 19 -83 inlet~; -#X obj 62 -83 inlet~; -#X obj 19 48 outlet~; -#X connect 0 0 4 0; -#X connect 1 0 0 0; -#X connect 2 0 7 0; -#X connect 3 0 2 0; -#X connect 4 0 3 0; -#X connect 5 0 1 0; -#X connect 6 0 0 1; -#X connect 6 0 1 1; -#X restore 199 106 pd >~; -#X obj 23 173 /~ 44100; -#X obj 68 153 samplerate~; -#X obj 68 133 loadbang; -#X obj 199 128 biquad~ 0 0 -1 1 0; -#X obj 23 209 rpole~; -#X obj 23 153 sig~ 1; -#X obj 226 171 sig~ 0.5; -#N canvas 0 22 110 231 <~ 0; -#X obj 11 -41 -~; -#X obj 11 29 +~ 1e-37; -#X obj 11 8 clip~ -1e-37 0; -#X obj 11 -86 inlet~; -#X obj 55 -85 inlet~; -#X obj 11 -62 max~; -#X obj 11 -17 *~ -1; -#X obj 11 81 outlet~; -#X obj 11 50 *~ 1e+37; -#X connect 0 0 6 0; -#X connect 1 0 8 0; -#X connect 2 0 1 0; -#X connect 3 0 5 0; -#X connect 4 0 0 1; -#X connect 4 0 5 1; -#X connect 5 0 0 0; -#X connect 6 0 2 0; -#X connect 8 0 7 0; -#X restore 199 192 pd <~; -#X text 237 193 (x != x); -#X obj 23 467 *~; -#X obj 199 150 *~ -1; -#X obj 23 331 *~ 512; -#X obj 23 229 clip~ 0 1; -#X obj 23 352 tabread4~ env1; -#X obj 23 310 *~; -#X obj 199 64 abs~; -#X obj 199 43 hip~ 1; -#X obj 199 22 inlet~ excitationSignal; -#X obj 218 269 sig~ 1; -#X obj 218 292 /~; -#X obj 226 86 inlet~ threshold; -#X obj 262 229 inlet~ envDuration; -#X obj 38 445 osc~ 220; -#X obj 38 425 +~ 50; -#X obj 38 385 *~; -#X obj 38 405 *~ 1000; -#X obj 262 269 clip~ 1e-05 100000; -#X obj 23 487 outlet~; +#N canvas 646 209 853 1174 10; +#X text 29 17 SAMPLE-ACCURATE ENVELOPE TRIGGER; +#X text 29 27 ================================; +#X obj 33 543 /~ 44100; +#X obj 78 523 samplerate~; +#X obj 78 503 loadbang; +#X obj 33 619 rpole~; +#X obj 33 477 sig~ 1; +#X obj 438 571 sig~ 0.5; +#X obj 33 937 *~; +#X obj 399 550 *~ -1; +#X obj 33 801 *~ 512; +#X obj 33 639 clip~ 0 1; +#X obj 33 822 tabread4~ env1; +#X obj 33 780 *~; +#X obj 399 424 abs~; +#X obj 48 736 sig~ 1; +#X obj 48 759 /~; +#X obj 48 915 osc~ 220; +#X obj 48 895 +~ 50; +#X obj 48 855 *~; +#X obj 112 736 clip~ 1e-05 100000; #N canvas 0 22 450 278 (subpatch) 0; #X array env1 512 float 3; #A 0 0 0.0625 0.0883883 0.108253 0.125 0.139754 0.153093 0.165359 0.176777 @@ -134,63 +88,98 @@ 0.00186082 0.00153787 0.00124567 0.000984237 0.000753556 0.000553633 0.000384467 0.000246059 0.000138408 6.15148e-05 1.53787e-05 0; #X coords 0 1 512 0 512 64 1 0 0; -#X restore 24 536 graph; -#X text 244 55 centre signal around zero and take abs value; -#X text 243 107 if greater than threshold output 1; -#X text 313 129 differentiator; -#X text 238 150 (generates impulse on positive trigger (0->1); -#X text 67 210 signal-rate counter; -#X text 296 193 -> resets counter by briefly setting; -#X text 314 204 rpole~ coeff to 0; -#X text 96 416 kickdrum 101 :P; -#X text 400 514 pre-generated envelope; -#X obj 262 249 *~; -#X text 127 352 << use envelope value for volume and frequency; -#X connect 0 0 4 0; -#X connect 1 0 5 0; -#X connect 2 0 1 1; -#X connect 3 0 2 0; -#X connect 4 0 11 0; -#X connect 5 0 13 0; -#X connect 6 0 1 0; -#X connect 7 0 8 1; -#X connect 8 0 5 1; -#X connect 10 0 28 0; -#X connect 11 0 8 0; -#X connect 12 0 14 0; -#X connect 13 0 15 0; -#X connect 14 0 10 0; -#X connect 14 0 25 0; -#X connect 14 0 25 1; -#X connect 15 0 12 0; -#X connect 16 0 0 0; -#X connect 17 0 16 0; +#X restore 34 1026 graph; +#X text 475 477 if greater than threshold output 1; +#X text 513 521 differentiator; +#X text 512 539 (generates impulse on positive trigger (0->1); +#X text 107 620 signal-rate counter; +#X text 497 618 rpole~ coeff to 0; +#X text 410 1004 pre-generated envelope; +#X obj 112 692 *~; +#X obj 399 476 hv_gte~; +#X obj 399 592 hv_lte~; +#X text 116 891 kickdrum 101 :); +#X obj 399 392 receive~ excitationSignal; +#X obj 438 456 receive~ threshold; +#X obj 112 672 receive~ envDuration; +#X obj 38 311 send~ excitationSignal; +#X obj 198 311 send~ threshold; +#X obj 318 311 send~ envDuration; +#X obj 33 967 dac~; +#X text 29 57 Sample-accurate signal processing can often be hard to +; +#X text 29 71 do in puredata \, which generally works on a per-block +; +#X text 29 85 basis. In this example we use a combination of; +#X text 95 102 and; +#X obj 125 102 rpole~; +#X obj 48 875 *~ 1000; +#X obj 112 714 *~ 0.25; +#X obj 444 507 sig~ 1; +#X obj 399 528 rzero~ 1; +#X text 187 102 objects to perform; +#X text 29 120 sample-accurate envelope triggering based on the; +#X text 29 134 signal fed into the first audio channel.; +#X obj 38 210 adc~ 1; +#X obj 198 240 adc~ 3; +#X obj 318 280 adc~ 4; +#X text 252 240 use a potentiometer on first analog in to set; +#X text 252 253 triggering threshold...; +#X text 382 280 ...second analog in sets envelope duration; +#X obj 32 102 rzero~; +#X text 605 12 ............................; +#X text 605 22 . ____ ._____ _ .......___ .; +#X text 605 32 .| __ )| ____| |....../ _ |.; +#X text 605 52 .| |_) | |___| |___ / ___ |.; +#X text 605 62 .|____/|_____|_____/_/..._|.io; +#X text 605 72 ............................; +#X text 605 42 .| __ || __|.| |...../ _| |.; +#X text 475 424 take absolute value of signal; +#X text 497 630 (coefficient of 1 causes rpole~ to; +#X text 497 643 accumulate input samples); +#X text 108 542 setting input to (1/sampleRate) means; +#X text 108 555 rpole~ counts seconds when its coefficient; +#X text 108 569 is set to 1 (resets when 0); +#X text 147 822 use envelope value for volume and frequency; +#X text 479 594 -> boolean (x != x); +#X text 92 210 Left audio input for excitation (a piezo disk works +well); +#X text 111 767 multiplies counter output allowing to alter; +#X text 111 781 playback speed of envelope; +#X text 497 607 resets counter by briefly setting; +#X connect 2 0 5 0; +#X connect 3 0 2 1; +#X connect 4 0 3 0; +#X connect 5 0 11 0; +#X connect 6 0 2 0; +#X connect 7 0 30 1; +#X connect 8 0 38 0; +#X connect 8 0 38 1; +#X connect 9 0 30 0; +#X connect 10 0 12 0; +#X connect 11 0 13 0; +#X connect 12 0 8 0; +#X connect 12 0 19 0; +#X connect 12 0 19 1; +#X connect 13 0 10 0; +#X connect 14 0 29 0; +#X connect 15 0 16 0; +#X connect 16 0 13 1; +#X connect 17 0 8 1; #X connect 18 0 17 0; -#X connect 19 0 20 0; -#X connect 20 0 15 1; -#X connect 21 0 0 1; -#X connect 22 0 39 0; -#X connect 22 0 39 1; -#X connect 23 0 10 1; -#X connect 24 0 23 0; -#X connect 25 0 26 0; -#X connect 26 0 24 0; -#X connect 27 0 20 1; -#X connect 39 0 27 0; -#X restore 28 174 pd env; -#X obj 79 110 adc~ 9; -#X obj 129 130 adc~ 10; -#X text 72 90 piezo input for excitation; -#X text 123 110 fader 1 sets threshold; -#X text 183 130 fader 2 sets duration; -#X text 29 17 SAMPLE-ACCURATE ENVELOPE TRIGGER; -#X text 29 27 ================================; -#X obj 28 90 adc~ 8; -#X text 141 236 ---------------------------------; -#X text 141 226 @krighxz / BELA / heavy / 12/2015; -#X text 165 245 beaglert.cc / enzienaudio.com; -#X connect 1 0 0 0; -#X connect 1 0 0 1; -#X connect 2 0 1 1; -#X connect 3 0 1 2; -#X connect 9 0 1 0; +#X connect 19 0 44 0; +#X connect 20 0 16 1; +#X connect 28 0 45 0; +#X connect 29 0 47 0; +#X connect 30 0 5 1; +#X connect 32 0 14 0; +#X connect 33 0 29 1; +#X connect 34 0 28 0; +#X connect 34 0 28 1; +#X connect 44 0 18 0; +#X connect 45 0 20 0; +#X connect 46 0 47 1; +#X connect 47 0 9 0; +#X connect 51 0 35 0; +#X connect 52 0 36 0; +#X connect 53 0 37 0;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/08-PureData/envelopeTrigger/hv_gte~.pd Thu Jun 23 20:40:05 2016 +0100 @@ -0,0 +1,34 @@ +#N canvas 855 553 292 175 10; +#X obj 150 34 inlet~; +#X obj 45 34 inlet~; +#X obj 45 129 outlet~; +#N canvas 467 216 450 300 @hv_obj 0; +#X obj 217 60 inlet~; +#X obj 120 60 inlet~; +#X obj 170 183 outlet~; +#X connect 1 0 2 0; +#X restore 45 105 pd @hv_obj __and~f; +#X obj 150 83 sig~ 1; +#N canvas 249 541 148 189 @hv_obj 1; +#X obj 23 69 -~; +#X obj 23 94 clip~ -1e-37 0; +#X obj 23 18 inlet~; +#X obj 67 19 inlet~; +#X obj 23 159 outlet~; +#X obj 23 136 *~ 1e+37; +#X obj 23 44 min~; +#X obj 23 115 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 45 57 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/08-PureData/envelopeTrigger/hv_lte~.pd Thu Jun 23 20:40:05 2016 +0100 @@ -0,0 +1,34 @@ +#N canvas 795 419 292 175 10; +#X obj 150 34 inlet~; +#X obj 45 34 inlet~; +#X obj 45 129 outlet~; +#N canvas 467 216 450 300 @hv_obj 0; +#X obj 217 60 inlet~; +#X obj 120 60 inlet~; +#X obj 170 183 outlet~; +#X connect 1 0 2 0; +#X restore 45 105 pd @hv_obj __and~f; +#X obj 150 83 sig~ 1; +#N canvas 715 101 191 233 @hv_obj 1; +#X obj 49 83 -~; +#X obj 50 109 clip~ -1e-37 0; +#X obj 49 32 inlet~; +#X obj 93 33 inlet~; +#X obj 50 174 outlet~; +#X obj 50 151 *~ 1e+37; +#X obj 49 58 min~; +#X obj 50 130 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 45 57 pd @hv_obj __lte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0;
--- a/examples/08-PureData/hello-midi/_main.pd Thu Jun 23 13:22:59 2016 +0100 +++ b/examples/08-PureData/hello-midi/_main.pd Thu Jun 23 20:40:05 2016 +0100 @@ -1,81 +1,82 @@ -#N canvas 85 58 1280 685 10; -#X obj 19 396 dac~ 1 2; -#X text 39 1 Hello world!; -#X text 37 11 ============; -#X obj 31 353 *~ 0.1; -#X text 202 448 ---------------------------------; -#X text 202 438 @krighxz / BELA / heavy / 12/2015; -#X text 226 457 beaglert.cc / enzienaudio.com; -#X obj 39 132 mtof; -#X floatatom 79 59 5 0 0 0 - - -, f 5; -#X floatatom 122 59 5 0 0 0 - - -, f 5; -#X floatatom 41 63 5 0 0 0 - - -, f 5; -#X obj 26 170 phasor~ 440; -#X text 100 363 (the harsh sound of success); -#X obj 260 83 * 20; -#X obj 261 112 + 200; -#X obj 132 85 loadbang; -#X msg 131 111 1000; -#X obj 125 166 sig~; -#X text 673 121 [pgmin]; -#X obj 218 178 * 10; -#X obj 30 250 hip~; -#X obj 26 275 hip~; -#X obj 20 302 hip~; -#X obj 19 323 hip~; -#X obj 87 192 lop~ 4; -#X obj 152 256 line; -#X obj 200 200 + 50; -#X msg 170 227 \$1 200; -#X msg 93 114 0; -#X msg 185 112 0; -#X obj 29 224 vcf~ 4; -#X obj 70 333 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X obj 42 92 mono; -#X obj 40 28 bela_notein 0; -#X obj 260 60 bela_ctlin 5 0; -#X obj 220 151 bela_ctlin 6 0; -#X text 537 58 [ctlin]; -#X text 332 27 [notein]; -#X text 140 29 <== the bela equivalent of ==>; -#X text 349 59 <== the bela equivalent of ==>; -#X text 483 121 <== the bela equivalent of ==>; -#X obj 405 175 print pgmin; -#X obj 408 121 bela_pgmin 0; -#X connect 3 0 0 1; -#X connect 3 0 0 0; -#X connect 7 0 11 0; -#X connect 8 0 32 1; -#X connect 10 0 32 0; -#X connect 11 0 30 0; +#N canvas 906 587 651 756 10; +#X obj 45 706 dac~ 1 2; +#X obj 45 663 *~ 0.1; +#X obj 45 262 mtof; +#X obj 45 300 phasor~ 440; +#X obj 201 303 * 20; +#X obj 201 326 + 200; +#X obj 201 446 * 10; +#X obj 45 530 hip~; +#X obj 45 552 hip~; +#X obj 45 574 hip~; +#X obj 45 595 hip~; +#X obj 201 373 lop~ 4; +#X obj 201 513 line; +#X obj 201 468 + 50; +#X msg 201 490 \$1 200; +#X obj 45 404 vcf~ 4; +#X obj 45 202 mono; +#X obj 45 158 notein 0; +#X obj 201 280 ctlin 5 0; +#X obj 201 424 ctlin 6 0; +#X obj 201 350 sig~ 1000; +#X obj 45 322 *~ 2; +#X obj 45 344 -~ 1; +#X obj 78 641 * 0.1; +#X text 274 423 <<< cc 6 controls high pass centre frequency; +#X text 274 280 <<< cc 5 controls resonant low pass centre frequency +; +#X text 39 11 Hello midi!; +#X text 37 21 ===========; +#X text 108 203 <<< abstraction for monophonic voice stealing; +#X obj 66 233 s gate; +#X obj 78 619 r gate; +#X text 43 53 Here's a simple monophonic synthesiser that is controllable +; +#X text 43 66 with a midi controller. Note and control messages can +be; +#X text 43 80 obtained using the; +#X obj 159 80 notein; +#X text 213 80 and; +#X obj 240 80 ctlin; +#X text 292 80 objects.; +#X text 43 104 Most midi devices should be compatible when plugged +into; +#X text 43 117 the BeagleBone's USB port.; +#X text 445 5 ............................; +#X text 445 15 . ____ ._____ _ .......___ .; +#X text 445 25 .| __ )| ____| |....../ _ |.; +#X text 445 45 .| |_) | |___| |___ / ___ |.; +#X text 445 55 .|____/|_____|_____/_/..._|.io; +#X text 445 65 ............................; +#X text 445 35 .| __ || __|.| |...../ _| |.; +#X connect 1 0 0 1; +#X connect 1 0 0 0; +#X connect 2 0 3 0; +#X connect 3 0 21 0; +#X connect 4 0 5 0; +#X connect 5 0 20 0; +#X connect 6 0 13 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 10 0 1 0; +#X connect 11 0 15 1; +#X connect 12 0 7 1; +#X connect 12 0 8 1; +#X connect 12 0 9 1; +#X connect 12 0 10 1; #X connect 13 0 14 0; -#X connect 14 0 17 0; -#X connect 15 0 16 0; -#X connect 15 0 29 0; -#X connect 15 0 28 0; -#X connect 16 0 17 0; -#X connect 17 0 24 0; -#X connect 19 0 26 0; -#X connect 20 0 21 0; +#X connect 14 0 12 0; +#X connect 15 0 7 0; +#X connect 16 0 2 0; +#X connect 16 1 29 0; +#X connect 17 0 16 0; +#X connect 17 1 16 1; +#X connect 18 0 4 0; +#X connect 19 0 6 0; +#X connect 20 0 11 0; #X connect 21 0 22 0; -#X connect 22 0 23 0; -#X connect 23 0 3 0; -#X connect 24 0 30 1; -#X connect 25 0 20 1; -#X connect 25 0 21 1; -#X connect 25 0 22 1; -#X connect 25 0 23 1; -#X connect 26 0 27 0; -#X connect 27 0 25 0; -#X connect 29 0 19 0; -#X connect 30 0 20 0; -#X connect 31 0 3 1; -#X connect 32 0 7 0; -#X connect 32 1 31 0; -#X connect 33 0 10 0; -#X connect 33 1 8 0; -#X connect 33 2 9 0; -#X connect 34 0 13 0; -#X connect 35 0 19 0; -#X connect 42 0 41 0; +#X connect 22 0 15 0; +#X connect 23 0 1 1; +#X connect 30 0 23 0;
--- a/examples/08-PureData/hello-midi/mono.pd Thu Jun 23 13:22:59 2016 +0100 +++ b/examples/08-PureData/hello-midi/mono.pd Thu Jun 23 20:40:05 2016 +0100 @@ -1,9 +1,9 @@ -#N canvas 69 182 1020 452 10; +#N canvas 69 182 885 820 10; #N canvas 0 23 450 278 (subpatch) 0; #X array \$0-activeNotes 127 float 2; #X coords 0 100 127 -1 200 140 1 0 0; -#X restore 537 25 graph; -#N canvas 89 91 450 300 resetArray 1; +#X restore 568 210 graph; +#N canvas 89 91 329 192 resetArray 0; #X obj 121 145 tabwrite \$0-activeNotes; #X msg 123 115 -0.5; #X obj 154 90 t b f; @@ -17,90 +17,77 @@ #X connect 3 0 6 0; #X connect 4 0 3 0; #X connect 6 0 2 0; -#X restore 83 49 pd resetArray; -#X obj 83 3 loadbang; -#X obj 88 25 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X obj 39 188 maxArray \$0-activeNotes 128; -#X obj 183 219 f; -#X obj 39 237 >= 0; -#X floatatom 148 313 5 0 0 0 - - -, f 5; -#X obj 70 262 select 1; -#X obj 366 87 f; -#X obj 426 60 f; -#X text 334 39 note; -#X text 424 16 velocity; -#X obj 423 87 > 0; -#X obj 344 281 tabwrite \$0-activeNotes; -#X obj 330 207 f; -#X floatatom 303 178 5 0 0 0 - - -, f 5; -#X obj 265 163 f; -#X obj 304 150 + 1; -#X msg 277 130 -1; -#X msg 371 207 -0.5; -#X obj 400 116 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X obj 367 137 spigot; -#X obj 447 134 spigot; -#X obj 460 86 == 0; -#X obj 470 109 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X obj 434 163 t b f; -#X obj 337 60 inlet; -#X obj 426 32 inlet; -#X obj 148 350 outlet; -#X obj 275 89 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X obj 41 163 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X obj 363 172 t b f; -#X obj 334 240 t b f; -#X text 578 211 pass in velocity/note pairs (velocity first) and obtain +#X restore 776 236 pd resetArray; +#X obj 776 210 loadbang; +#X obj 176 542 maxArray \$0-activeNotes 128; +#X obj 320 683 f; +#X obj 176 591 >= 0; +#X floatatom 320 725 5 0 0 0 - - -, f 5; +#X obj 176 616 select 1; +#X obj 209 261 f; +#X text 206 184 note; +#X text 266 190 velocity; +#X obj 242 261 > 0; +#X obj 203 475 tabwrite \$0-activeNotes; +#X obj 176 431 f; +#X obj 114 366 f; +#X obj 141 366 + 1; +#X msg 129 344 -1; +#X msg 217 431 -0.5; +#X obj 209 291 spigot; +#X obj 311 291 spigot; +#X obj 344 259 == 0; +#X obj 311 316 t b f; +#X obj 209 205 inlet; +#X obj 268 206 inlet; +#X obj 320 754 outlet; +#X obj 176 517 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 209 316 t b f; +#X obj 176 454 t b f; +#X text 110 38 pass in velocity/note pairs (velocity first) and obtain as an output the most recent note still active; -#X text 581 268 outlet 2 gate; -#X obj 330 366 outlet; -#X text 583 251 outlet 1 most recent note active (-1 otherwise); -#X text 155 329 most recent note active; -#X msg 338 338 0; -#X msg 378 339 1; -#X connect 2 0 3 0; -#X connect 3 0 1 0; -#X connect 3 0 19 0; +#X text 109 103 outlet 2 gate; +#X obj 507 754 outlet; +#X text 109 77 outlet 1 most recent note active (-1 otherwise); +#X text 358 726 most recent note active; +#X msg 507 726 0; +#X msg 537 727 1; +#X obj 268 228 t b f f; +#X obj 129 321 loadbang; +#X connect 2 0 1 0; +#X connect 3 0 5 0; +#X connect 3 1 4 1; #X connect 4 0 6 0; -#X connect 4 1 5 1; +#X connect 4 0 34 0; #X connect 5 0 7 0; -#X connect 5 0 40 0; -#X connect 6 0 8 0; -#X connect 7 0 29 0; -#X connect 8 0 5 0; -#X connect 8 1 39 0; -#X connect 9 0 22 0; -#X connect 9 0 23 0; -#X connect 10 0 13 0; -#X connect 10 0 24 0; -#X connect 13 0 21 0; -#X connect 15 0 33 0; -#X connect 16 0 15 1; -#X connect 17 0 18 0; -#X connect 18 0 16 0; -#X connect 18 0 17 1; -#X connect 19 0 17 1; -#X connect 20 0 33 0; -#X connect 21 0 22 1; -#X connect 22 0 32 0; -#X connect 23 0 26 0; -#X connect 24 0 25 0; -#X connect 25 0 23 1; -#X connect 26 0 20 0; -#X connect 26 1 14 1; -#X connect 27 0 9 0; -#X connect 28 0 10 0; -#X connect 28 0 30 0; -#X connect 30 0 17 0; -#X connect 31 0 4 0; -#X connect 32 0 15 0; -#X connect 32 1 14 1; -#X connect 33 0 31 0; -#X connect 33 1 14 0; -#X connect 39 0 36 0; -#X connect 40 0 36 0; +#X connect 6 0 24 0; +#X connect 7 0 4 0; +#X connect 7 1 33 0; +#X connect 8 0 18 0; +#X connect 8 0 19 0; +#X connect 11 0 18 1; +#X connect 13 0 27 0; +#X connect 14 0 15 0; +#X connect 15 0 14 1; +#X connect 15 0 13 1; +#X connect 16 0 14 1; +#X connect 17 0 27 0; +#X connect 18 0 26 0; +#X connect 19 0 21 0; +#X connect 20 0 19 1; +#X connect 21 0 17 0; +#X connect 21 1 12 1; +#X connect 22 0 8 0; +#X connect 23 0 35 0; +#X connect 25 0 3 0; +#X connect 26 0 13 0; +#X connect 26 1 12 1; +#X connect 27 0 25 0; +#X connect 27 1 12 0; +#X connect 33 0 30 0; +#X connect 34 0 30 0; +#X connect 35 0 14 0; +#X connect 35 1 11 0; +#X connect 35 2 20 0; +#X connect 36 0 16 0;
--- a/examples/08-PureData/hello-world/_main.pd Thu Jun 23 13:22:59 2016 +0100 +++ b/examples/08-PureData/hello-world/_main.pd Thu Jun 23 20:40:05 2016 +0100 @@ -1,13 +1,17 @@ -#N canvas 275 573 461 212 10; -#X obj 39 143 dac~ 1 2; +#N canvas 954 893 418 229 10; +#X obj 39 163 dac~ 1 2; #X text 35 32 Hello world!; #X text 35 42 ============; -#X text 95 79 (the sweet sound of success); -#X obj 39 102 *~ 0.1; -#X obj 39 81 osc~ 440; -#X text 238 160 ---------------------------------; -#X text 238 150 @krighxz / BELA / heavy / 12/2015; -#X text 262 169 beaglert.cc / enzienaudio.com; -#X connect 4 0 0 1; -#X connect 4 0 0 0; -#X connect 5 0 4 0; +#X obj 39 122 *~ 0.1; +#X obj 39 101 osc~ 440; +#X text 108 115 OMG SINE WAVE; +#X text 215 22 ............................; +#X text 215 32 . ____ ._____ _ .......___ .; +#X text 215 42 .| __ )| ____| |....../ _ |.; +#X text 215 62 .| |_) | |___| |___ / ___ |.; +#X text 215 72 .|____/|_____|_____/_/..._|.io; +#X text 215 82 ............................; +#X text 215 52 .| __ || __|.| |...../ _| |.; +#X connect 3 0 0 1; +#X connect 3 0 0 0; +#X connect 4 0 3 0;
--- a/examples/08-PureData/karplusStrong/_main.pd Thu Jun 23 13:22:59 2016 +0100 +++ b/examples/08-PureData/karplusStrong/_main.pd Thu Jun 23 20:40:05 2016 +0100 @@ -1,240 +1,71 @@ -#N canvas 440 516 715 490 10; -#X obj 38 370 dac~ 1 2; -#X text 470 442 ---------------------------------; -#X text 470 432 @krighxz / BELA / heavy / 12/2015; -#X text 494 451 beaglert.cc / enzienaudio.com; +#N canvas 826 561 694 734 10; +#X obj 40 660 dac~ 1 2; #X text 33 22 Karplus Strong; #X text 33 32 ==============; -#X obj 38 323 vd~ \$0-wg1; -#X obj 118 345 lop~ 1000; -#X obj 118 367 *~ 0.99; -#X obj 118 389 s~ \$0-fb1; -#X obj 38 94 adc~ 3; -#X obj 38 116 hip~ 100; -#X obj 98 176 r~ \$0-fb1; -#X obj 38 198 delwrite~ \$0-wg1 100; -#X obj 38 268 *~; -#X obj 38 290 *~ 10; -#X text 99 116 <<< centre (i.e. DC block) signal with high-pass filter +#X obj 40 613 vd~ \$0-wg1; +#X obj 120 635 lop~ 1000; +#X obj 120 679 s~ \$0-fb1; +#X obj 40 286 hip~ 100; +#X obj 105 345 r~ \$0-fb1; +#X obj 40 368 delwrite~ \$0-wg1 100; +#X obj 40 538 *~; +#X obj 40 560 *~ 10; +#X text 135 286 <<< centre (i.e. DC block) signal with high-pass filter ; -#X text 100 94 <<< use accelerometer \, piezo or FSR on first analog -in; -#X text 105 245 <<< use potentiometer or fader on second analog in +#X text 126 492 <<< use potentiometer or fader on second analog in ; -#X text 100 75 EXCITATION INPUT:; -#X text 100 225 DELAY PERIOD:; -#X text 182 365 <<< and decay here [0-0.9999]; -#X text 182 345 <<< set damping here [~100-20000]; -#N canvas 335 566 461 274 gate 0; -#N canvas 0 22 450 278 (subpatch) 0; -#X array \$0-xfer 1024 float 3; -#A 0 0 -0.808242 -0.804734 -0.801234 -0.797741 -0.794256 -0.790778 --0.787309 -0.783846 -0.780392 -0.776945 -0.773506 -0.770074 -0.76665 --0.763233 -0.759824 -0.756423 -0.75303 -0.749644 -0.746266 -0.742895 --0.739532 -0.736176 -0.732829 -0.729488 -0.726156 -0.722831 -0.719514 --0.716204 -0.712902 -0.709608 -0.706321 -0.703042 -0.69977 -0.696507 --0.69325 -0.690002 -0.686761 -0.683527 -0.680302 -0.677084 -0.673873 --0.67067 -0.667475 -0.664288 -0.661108 -0.657935 -0.654771 -0.651614 --0.648464 -0.645323 -0.642188 -0.639062 -0.635943 -0.632832 -0.629728 --0.626632 -0.623544 -0.620463 -0.61739 -0.614324 -0.611266 -0.608216 --0.605174 -0.602139 -0.599111 -0.596092 -0.59308 -0.590075 -0.587078 --0.584089 -0.581107 -0.578134 -0.575167 -0.572209 -0.569257 -0.566314 --0.563378 -0.56045 -0.55753 -0.554617 -0.551711 -0.548814 -0.545924 --0.543041 -0.540167 -0.537299 -0.53444 -0.531588 -0.528744 -0.525907 --0.523078 -0.520257 -0.517443 -0.514637 -0.511839 -0.509048 -0.506265 --0.503489 -0.500721 -0.497961 -0.495208 -0.492463 -0.489726 -0.486996 --0.484274 -0.481559 -0.478852 -0.476153 -0.473461 -0.470777 -0.468101 --0.465432 -0.462771 -0.460117 -0.457472 -0.454833 -0.452203 -0.44958 --0.446964 -0.444357 -0.441757 -0.439164 -0.436579 -0.434002 -0.431432 --0.42887 -0.426316 -0.42377 -0.42123 -0.418699 -0.416175 -0.413659 --0.41115 -0.40865 -0.406156 -0.403671 -0.401193 -0.398722 -0.396259 --0.393804 -0.391357 -0.388917 -0.386485 -0.38406 -0.381643 -0.379234 --0.376832 -0.374438 -0.372051 -0.369673 -0.367301 -0.364938 -0.362582 --0.360233 -0.357893 -0.35556 -0.353234 -0.350916 -0.348606 -0.346304 --0.344009 -0.341721 -0.339442 -0.33717 -0.334905 -0.332649 -0.330399 --0.328158 -0.325924 -0.323698 -0.321479 -0.319268 -0.317065 -0.314869 --0.312681 -0.3105 -0.308328 -0.306162 -0.304005 -0.301855 -0.299713 --0.297578 -0.295451 -0.293331 -0.291219 -0.289115 -0.287019 -0.28493 --0.282848 -0.280775 -0.278709 -0.27665 -0.2746 -0.272556 -0.270521 --0.268493 -0.266473 -0.26446 -0.262455 -0.260458 -0.258468 -0.256486 --0.254511 -0.252545 -0.250585 -0.248634 -0.24669 -0.244753 -0.242825 --0.240904 -0.23899 -0.237084 -0.235186 -0.233296 -0.231413 -0.229537 --0.22767 -0.22581 -0.223957 -0.222112 -0.220275 -0.218446 -0.216624 --0.21481 -0.213003 -0.211204 -0.209413 -0.207629 -0.205853 -0.204084 --0.202323 -0.20057 -0.198824 -0.197086 -0.195356 -0.193633 -0.191918 --0.190211 -0.188511 -0.186819 -0.185134 -0.183457 -0.181788 -0.180126 --0.178472 -0.176826 -0.175187 -0.173556 -0.171932 -0.170316 -0.168708 --0.167108 -0.165515 -0.163929 -0.162351 -0.160781 -0.159219 -0.157664 --0.156117 -0.154577 -0.153045 -0.151521 -0.150004 -0.148495 -0.146993 --0.1455 -0.144013 -0.142535 -0.141064 -0.139601 -0.138145 -0.136697 --0.135256 -0.133824 -0.132398 -0.130981 -0.129571 -0.128169 -0.126774 --0.125387 -0.124008 -0.122636 -0.121272 -0.119915 -0.118566 -0.117225 --0.115891 -0.114565 -0.113247 -0.111936 -0.110633 -0.109338 -0.10805 --0.10677 -0.105497 -0.104232 -0.102975 -0.101725 -0.100483 -0.0992487 --0.0980219 -0.0968027 -0.0955911 -0.0943872 -0.0931909 -0.0920023 -0.0908212 --0.0896478 -0.0884821 -0.0873239 -0.0861734 -0.0850305 -0.0838953 -0.0827676 --0.0816476 -0.0805353 -0.0794305 -0.0783334 -0.077244 -0.0761621 -0.0750879 --0.0740213 -0.0729623 -0.071911 -0.0708673 -0.0698312 -0.0688028 -0.067782 --0.0667688 -0.0657632 -0.0647653 -0.063775 -0.0627924 -0.0618173 -0.0608499 --0.0598901 -0.058938 -0.0579935 -0.0570566 -0.0561273 -0.0552057 -0.0542917 --0.0533853 -0.0524866 -0.0515955 -0.050712 -0.0498361 -0.0489679 -0.0481073 --0.0472543 -0.046409 -0.0455713 -0.0447412 -0.0439188 -0.0431039 -0.0422968 --0.0414972 -0.0407053 -0.039921 -0.0391443 -0.0383752 -0.0376138 -0.03686 --0.0361139 -0.0353754 -0.0346445 -0.0339212 -0.0332056 -0.0324976 -0.0317972 --0.0311044 -0.0304193 -0.0297418 -0.029072 -0.0284097 -0.0277551 -0.0271082 --0.0264688 -0.0258371 -0.025213 -0.0245966 -0.0239877 -0.0233865 -0.022793 --0.022207 -0.0216287 -0.021058 -0.020495 -0.0199396 -0.0193918 -0.0188516 --0.0183191 -0.0177942 -0.0172769 -0.0167673 -0.0162653 -0.0157709 -0.0152841 --0.014805 -0.0143335 -0.0138696 -0.0134134 -0.0129648 -0.0125238 -0.0120905 --0.0116647 -0.0112466 -0.0108362 -0.0104333 -0.0100381 -0.00965057 --0.00927063 -0.00889832 -0.00853363 -0.00817657 -0.00782715 -0.00748535 --0.00715118 -0.00682465 -0.00650574 -0.00619446 -0.00589081 -0.00559479 --0.0053064 -0.00502563 -0.0047525 -0.004487 -0.00422913 -0.00397888 --0.00373627 -0.00350128 -0.00327393 -0.0030542 -0.0028421 -0.00263763 --0.0024408 -0.00225159 -0.00207001 -0.00189606 -0.00172974 -0.00157104 --0.00141998 -0.00127655 -0.00114075 -0.00101257 -0.000892029 -0.000779114 --0.000673828 -0.000576172 -0.000486145 -0.000403747 -0.000328979 -0.000261841 --0.000202332 -0.000150452 -0.000106201 -6.95801e-05 -4.05884e-05 -1.92261e-05 --5.49316e-06 0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 --0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 --0 -0 -0 -0 -0 -0 -0 -0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5.49316e-06 -1.92261e-05 4.05884e-05 6.95801e-05 0.000106201 0.000150452 0.000202332 -0.000261841 0.000328979 0.000403747 0.000486145 0.000576172 0.000673828 -0.000779114 0.000892029 0.00101257 0.00114075 0.00127655 0.00141998 -0.00157104 0.00172974 0.00189606 0.00207001 0.00225159 0.0024408 0.00263763 -0.0028421 0.0030542 0.00327393 0.00350128 0.00373627 0.00397888 0.00422913 -0.004487 0.0047525 0.00502563 0.0053064 0.00559479 0.00589081 0.00619446 -0.00650574 0.00682465 0.00715118 0.00748535 0.00782715 0.00817657 0.00853363 -0.00889832 0.00927063 0.00965057 0.0100381 0.0104333 0.0108362 0.0112466 -0.0116647 0.0120905 0.0125238 0.0129648 0.0134134 0.0138696 0.0143335 -0.014805 0.0152841 0.0157709 0.0162653 0.0167673 0.0172769 0.0177942 -0.0183191 0.0188516 0.0193918 0.0199396 0.020495 0.021058 0.0216287 -0.022207 0.022793 0.0233865 0.0239877 0.0245966 0.025213 0.0258371 -0.0264688 0.0271082 0.0277551 0.0284097 0.029072 0.0297418 0.0304193 -0.0311044 0.0317972 0.0324976 0.0332056 0.0339212 0.0346445 0.0353754 -0.0361139 0.03686 0.0376138 0.0383752 0.0391443 0.039921 0.0407053 -0.0414972 0.0422968 0.0431039 0.0439188 0.0447412 0.0455713 0.046409 -0.0472543 0.0481073 0.0489679 0.0498361 0.050712 0.0515955 0.0524866 -0.0533853 0.0542917 0.0552057 0.0561273 0.0570566 0.0579935 0.058938 -0.0598901 0.0608499 0.0618173 0.0627924 0.063775 0.0647653 0.0657632 -0.0667688 0.067782 0.0688028 0.0698312 0.0708673 0.071911 0.0729623 -0.0740213 0.0750879 0.0761621 0.077244 0.0783334 0.0794305 0.0805353 -0.0816476 0.0827676 0.0838953 0.0850305 0.0861734 0.0873239 0.0884821 -0.0896478 0.0908212 0.0920023 0.0931909 0.0943872 0.0955911 0.0968027 -0.0980219 0.0992487 0.100483 0.101725 0.102975 0.104232 0.105497 0.10677 -0.10805 0.109338 0.110633 0.111936 0.113247 0.114565 0.115891 0.117225 -0.118566 0.119915 0.121272 0.122636 0.124008 0.125387 0.126774 0.128169 -0.129571 0.130981 0.132398 0.133824 0.135256 0.136697 0.138145 0.139601 -0.141064 0.142535 0.144013 0.1455 0.146993 0.148495 0.150004 0.151521 -0.153045 0.154577 0.156117 0.157664 0.159219 0.160781 0.162351 0.163929 -0.165515 0.167108 0.168708 0.170316 0.171932 0.173556 0.175187 0.176826 -0.178472 0.180126 0.181788 0.183457 0.185134 0.186819 0.188511 0.190211 -0.191918 0.193633 0.195356 0.197086 0.198824 0.20057 0.202323 0.204084 -0.205853 0.207629 0.209413 0.211204 0.213003 0.21481 0.216624 0.218446 -0.220275 0.222112 0.223957 0.22581 0.22767 0.229537 0.231413 0.233296 -0.235186 0.237084 0.23899 0.240904 0.242825 0.244753 0.24669 0.248634 -0.250585 0.252545 0.254511 0.256486 0.258468 0.260458 0.262455 0.26446 -0.266473 0.268493 0.270521 0.272556 0.2746 0.27665 0.278709 0.280775 -0.282848 0.28493 0.287019 0.289115 0.291219 0.293331 0.295451 0.297578 -0.299713 0.301855 0.304005 0.306162 0.308328 0.3105 0.312681 0.314869 -0.317065 0.319268 0.321479 0.323698 0.325924 0.328158 0.330399 0.332649 -0.334905 0.33717 0.339442 0.341721 0.344009 0.346304 0.348606 0.350916 -0.353234 0.35556 0.357893 0.360233 0.362582 0.364938 0.367301 0.369673 -0.372051 0.374438 0.376832 0.379234 0.381643 0.38406 0.386485 0.388917 -0.391357 0.393804 0.396259 0.398722 0.401193 0.403671 0.406156 0.40865 -0.41115 0.413659 0.416175 0.418699 0.42123 0.42377 0.426316 0.42887 -0.431432 0.434002 0.436579 0.439164 0.441757 0.444357 0.446964 0.44958 -0.452203 0.454833 0.457472 0.460117 0.462771 0.465432 0.468101 0.470777 -0.473461 0.476153 0.478852 0.481559 0.484274 0.486996 0.489726 0.492463 -0.495208 0.497961 0.500721 0.503489 0.506265 0.509048 0.511839 0.514637 -0.517443 0.520257 0.523078 0.525907 0.528744 0.531588 0.53444 0.537299 -0.540167 0.543041 0.545924 0.548814 0.551711 0.554617 0.55753 0.56045 -0.563378 0.566314 0.569257 0.572209 0.575167 0.578134 0.581107 0.584089 -0.587078 0.590075 0.59308 0.596092 0.599111 0.602139 0.605174 0.608216 -0.611266 0.614324 0.61739 0.620463 0.623544 0.626632 0.629728 0.632832 -0.635943 0.639062 0.642188 0.645323 0.648464 0.651614 0.654771 0.657935 -0.661108 0.664288 0.667475 0.67067 0.673873 0.677084 0.680302 0.683527 -0.686761 0.690002 0.69325 0.696507 0.69977 0.703042 0.706321 0.709608 -0.712902 0.716204 0.719514 0.722831; -#A 1000 0.726156 0.729488 0.732829 0.736176 0.739532 0.742895 0.746266 -0.749644 0.75303 0.756423 0.759824 0.763233 0.76665 0.770074 0.773506 -0.776945 0.780392 0.783846 0.787309 0.790778 0.794256 0.797741 0.801234 -0.804734; -#X coords 0 1 1023 -1 200 200 1 0 0; -#X restore 230 34 graph; -#X obj 25 27 inlet~; -#X obj 25 49 clip~ -1 1; -#X obj 25 71 *~ 512; -#X obj 25 93 +~ 512; -#X obj 25 115 tabread4~ \$0-xfer; -#X obj 25 137 outlet~; -#N canvas 0 22 334 332 generate-xfer 0; -#X obj 8 290 tabwrite \$0-xfer; -#X obj 8 109 / 1024; -#X obj 8 129 * 2; -#X obj 8 149 - 1; -#X obj 8 169 moses 0; -#X obj 8 191 + 0.1; -#X obj 8 213 clip -1 0; -#X obj 68 191 - 0.1; -#X obj 68 213 clip 0 1; -#X obj 101 16 inlet threshold; -#X obj 101 78 count 1024; -#X obj 128 58 s \$0-thresh; -#X obj 95 169 r \$0-thresh; -#X obj 101 38 t b f; -#X obj 68 236 *; -#X obj 8 236 *; -#X obj 8 258 * -1; -#X text 140 203 <<< deadzone; -#X text 140 253 <<< smooth by taking exponent; -#X connect 1 0 2 0; -#X connect 2 0 3 0; +#X text 37 190 EXCITATION INPUT:; +#X text 37 418 DELAY PERIOD:; +#X text 214 655 <<< and decay here [0-0.9999]; +#X text 155 307 <<< thresholding to remove any consistent noise in +the excitation signal; +#X obj 40 234 adc~ 1; +#X obj 40 466 sig~ 1; +#X obj 40 515 -~; +#X obj 55 491 adc~ 3; +#X obj 40 582 +~ 2; +#X text 214 635 <<< set damping here [100-20000]; +#X obj 120 657 *~ 0.99; +#X text 126 573 <<< period range between 2-12ms; +#X text 151 505 to set period (or 'length of string'); +#X text 36 55 This is an example of simple 'Karplus Strong' synthesis +; +#X text 36 69 which produces a sound resembling a plucked string by +; +#X text 36 84 feeding the filtered output of a delay line back into +; +#X text 36 98 itself. Here we use the left audio input as an excitation +; +#X text 36 112 mechanism for the string. Try connecting a piezo to +bela's; +#X text 36 126 audio input and tapping against it. The first analog +input; +#X text 36 140 sets the length of the string.; +#X text 485 15 ............................; +#X text 485 25 . ____ ._____ _ .......___ .; +#X text 485 35 .| __ )| ____| |....../ _ |.; +#X text 485 55 .| |_) | |___| |___ / ___ |.; +#X text 485 65 .|____/|_____|_____/_/..._|.io; +#X text 485 75 ............................; +#X text 485 45 .| __ || __|.| |...../ _| |.; +#X obj 40 307 gate-xfer 0.1; +#X text 116 234 <<< use piezo or microphone on left audio channel; +#X text 140 248 (you can even try hooking up an accelerometer...); +#X text 37 200 ----------------; +#X text 37 429 ------------; #X connect 3 0 4 0; -#X connect 4 0 5 0; -#X connect 4 1 7 0; -#X connect 5 0 6 0; -#X connect 6 0 15 0; -#X connect 6 0 15 1; +#X connect 3 0 0 0; +#X connect 3 0 0 1; +#X connect 4 0 23 0; +#X connect 6 0 40 0; #X connect 7 0 8 0; -#X connect 8 0 14 0; -#X connect 8 0 14 1; -#X connect 9 0 13 0; -#X connect 10 0 0 1; -#X connect 10 0 1 0; -#X connect 12 0 5 1; -#X connect 12 0 7 1; -#X connect 13 0 10 0; -#X connect 13 1 11 0; -#X connect 14 0 0 0; -#X connect 15 0 16 0; -#X connect 16 0 0 0; -#X restore 26 217 pd generate-xfer; -#X text 58 196 <<< threshold; -#X obj 26 173 loadbang; -#X msg 26 195 0.1; -#X connect 1 0 2 0; -#X connect 2 0 3 0; -#X connect 3 0 4 0; -#X connect 4 0 5 0; -#X connect 5 0 6 0; #X connect 9 0 10 0; -#X connect 10 0 7 0; -#X restore 38 137 pd gate; -#X obj 38 246 adc~ 10; -#X text 98 137 <<< thresholding to remove any consistent noise in the -excitation signal; -#X connect 6 0 7 0; -#X connect 6 0 0 0; -#X connect 6 0 0 1; -#X connect 7 0 8 0; -#X connect 8 0 9 0; -#X connect 10 0 11 0; -#X connect 11 0 23 0; -#X connect 12 0 13 0; -#X connect 14 0 15 0; -#X connect 15 0 6 0; -#X connect 23 0 13 0; -#X connect 24 0 14 0; -#X connect 24 0 14 1; +#X connect 10 0 21 0; +#X connect 17 0 6 0; +#X connect 18 0 19 0; +#X connect 19 0 9 1; +#X connect 19 0 9 0; +#X connect 20 0 19 1; +#X connect 21 0 3 0; +#X connect 23 0 5 0; +#X connect 40 0 8 0;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/08-PureData/karplusStrong/gate-xfer.pd Thu Jun 23 20:40:05 2016 +0100 @@ -0,0 +1,212 @@ +#N canvas 0 22 470 353 10; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \$0-xfer 1024 float 3; +#A 0 0 -0.998047 -0.994148 -0.990257 -0.986374 -0.982498 -0.97863 -0.97477 +-0.970917 -0.967072 -0.963234 -0.959404 -0.955582 -0.951767 -0.94796 +-0.94416 -0.940369 -0.936584 -0.932808 -0.929039 -0.925278 -0.921524 +-0.917778 -0.91404 -0.910309 -0.906586 -0.90287 -0.899162 -0.895462 +-0.891769 -0.888084 -0.884407 -0.880737 -0.877075 -0.873421 -0.869774 +-0.866135 -0.862503 -0.858879 -0.855263 -0.851654 -0.848053 -0.84446 +-0.840874 -0.837296 -0.833725 -0.830162 -0.826607 -0.823059 -0.819519 +-0.815987 -0.812462 -0.808945 -0.805435 -0.801933 -0.798439 -0.794952 +-0.791473 -0.788002 -0.784538 -0.781082 -0.777634 -0.774193 -0.77076 +-0.767334 -0.763916 -0.760506 -0.757103 -0.753708 -0.75032 -0.746941 +-0.743568 -0.740204 -0.736847 -0.733498 -0.730156 -0.726822 -0.723495 +-0.720177 -0.716866 -0.713562 -0.710266 -0.706978 -0.703697 -0.700424 +-0.697159 -0.693901 -0.690651 -0.687408 -0.684174 -0.680946 -0.677727 +-0.674515 -0.67131 -0.668114 -0.664925 -0.661743 -0.658569 -0.655403 +-0.652245 -0.649094 -0.64595 -0.642815 -0.639687 -0.636566 -0.633453 +-0.630348 -0.627251 -0.624161 -0.621078 -0.618004 -0.614937 -0.611877 +-0.608826 -0.605782 -0.602745 -0.599716 -0.596695 -0.593681 -0.590675 +-0.587677 -0.584686 -0.581703 -0.578728 -0.57576 -0.5728 -0.569847 +-0.566902 -0.563965 -0.561035 -0.558113 -0.555199 -0.552292 -0.549393 +-0.546501 -0.543617 -0.540741 -0.537872 -0.535011 -0.532158 -0.529312 +-0.526474 -0.523643 -0.520821 -0.518005 -0.515198 -0.512398 -0.509605 +-0.506821 -0.504044 -0.501274 -0.498512 -0.495758 -0.493011 -0.490273 +-0.487541 -0.484818 -0.482101 -0.479393 -0.476692 -0.473999 -0.471313 +-0.468636 -0.465965 -0.463303 -0.460648 -0.458 -0.45536 -0.452728 -0.450104 +-0.447487 -0.444878 -0.442276 -0.439682 -0.437096 -0.434517 -0.431946 +-0.429382 -0.426826 -0.424278 -0.421738 -0.419205 -0.416679 -0.414162 +-0.411652 -0.409149 -0.406654 -0.404167 -0.401688 -0.399216 -0.396751 +-0.394295 -0.391846 -0.389404 -0.386971 -0.384544 -0.382126 -0.379715 +-0.377312 -0.374916 -0.372528 -0.370148 -0.367775 -0.36541 -0.363052 +-0.360703 -0.35836 -0.356026 -0.353699 -0.351379 -0.349068 -0.346764 +-0.344467 -0.342178 -0.339897 -0.337624 -0.335358 -0.333099 -0.330849 +-0.328606 -0.32637 -0.324142 -0.321922 -0.31971 -0.317505 -0.315308 +-0.313118 -0.310936 -0.308762 -0.306595 -0.304436 -0.302284 -0.30014 +-0.298004 -0.295876 -0.293755 -0.291641 -0.289536 -0.287437 -0.285347 +-0.283264 -0.281189 -0.279121 -0.277061 -0.275009 -0.272964 -0.270927 +-0.268898 -0.266876 -0.264862 -0.262856 -0.260857 -0.258865 -0.256882 +-0.254906 -0.252937 -0.250977 -0.249023 -0.247078 -0.24514 -0.24321 +-0.241287 -0.239372 -0.237465 -0.235565 -0.233673 -0.231789 -0.229912 +-0.228043 -0.226181 -0.224327 -0.222481 -0.220642 -0.218811 -0.216988 +-0.215172 -0.213364 -0.211563 -0.20977 -0.207985 -0.206207 -0.204437 +-0.202675 -0.20092 -0.199173 -0.197433 -0.195702 -0.193977 -0.192261 +-0.190552 -0.18885 -0.187157 -0.185471 -0.183792 -0.182121 -0.180458 +-0.178802 -0.177155 -0.175514 -0.173882 -0.172256 -0.170639 -0.169029 +-0.167427 -0.165833 -0.164246 -0.162666 -0.161095 -0.159531 -0.157974 +-0.156425 -0.154884 -0.153351 -0.151825 -0.150307 -0.148796 -0.147293 +-0.145798 -0.14431 -0.14283 -0.141357 -0.139893 -0.138435 -0.136986 +-0.135544 -0.134109 -0.132683 -0.131264 -0.129852 -0.128448 -0.127052 +-0.125664 -0.124283 -0.12291 -0.121544 -0.120186 -0.118835 -0.117493 +-0.116158 -0.11483 -0.11351 -0.112198 -0.110893 -0.109596 -0.108307 +-0.107025 -0.105751 -0.104485 -0.103226 -0.101974 -0.100731 -0.0994949 +-0.0982666 -0.0970459 -0.0958328 -0.0946274 -0.0934296 -0.0922394 -0.0910568 +-0.0898819 -0.0887146 -0.0875549 -0.0864029 -0.0852585 -0.0841217 -0.0829926 +-0.081871 -0.0807571 -0.0796509 -0.0785522 -0.0774612 -0.0763779 -0.0753021 +-0.074234 -0.0731735 -0.0721207 -0.0710754 -0.0700378 -0.0690079 -0.0679855 +-0.0669708 -0.0659637 -0.0649643 -0.0639725 -0.0629883 -0.0620117 -0.0610428 +-0.0600815 -0.0591278 -0.0581818 -0.0572433 -0.0563126 -0.0553894 -0.0544739 +-0.053566 -0.0526657 -0.0517731 -0.0508881 -0.0500107 -0.0491409 -0.0482788 +-0.0474243 -0.0465775 -0.0457382 -0.0449066 -0.0440826 -0.0432663 -0.0424576 +-0.0416565 -0.040863 -0.0400772 -0.039299 -0.0385284 -0.0377655 -0.0370102 +-0.0362625 -0.0355225 -0.03479 -0.0340652 -0.0333481 -0.0326385 -0.0319366 +-0.0312424 -0.0305557 -0.0298767 -0.0292053 -0.0285416 -0.0278854 -0.0272369 +-0.0265961 -0.0259628 -0.0253372 -0.0247192 -0.0241089 -0.0235062 -0.0229111 +-0.0223236 -0.0217438 -0.0211716 -0.020607 -0.02005 -0.0195007 -0.018959 +-0.018425 -0.0178986 -0.0173798 -0.0168686 -0.0163651 -0.0158691 -0.0153809 +-0.0149002 -0.0144272 -0.0139618 -0.013504 -0.0130539 -0.0126114 -0.0121765 +-0.0117493 -0.0113297 -0.0109177 -0.0105133 -0.0101166 -0.00972748 +-0.00934601 -0.00897217 -0.00860596 -0.00824738 -0.00789642 -0.0075531 +-0.00721741 -0.00688934 -0.00656891 -0.0062561 -0.00595093 -0.00565338 +-0.00536346 -0.00508118 -0.00480652 -0.00453949 -0.00428009 -0.00402832 +-0.00378418 -0.00354767 -0.00331879 -0.00309753 -0.00288391 -0.00267792 +-0.00247955 -0.00228882 -0.00210571 -0.00193024 -0.00176239 -0.00160217 +-0.00144958 -0.00130463 -0.0011673 -0.0010376 -0.000915527 -0.000801086 +-0.000694275 -0.000595093 -0.00050354 -0.000419617 -0.000343323 -0.000274658 +-0.000213623 -0.000160217 -0.000114441 -7.62939e-05 -4.57764e-05 -2.28882e-05 +-7.62939e-06 0 0 7.62939e-06 2.28882e-05 4.57764e-05 7.62939e-05 0.000114441 +0.000160217 0.000213623 0.000274658 0.000343323 0.000419617 0.00050354 +0.000595093 0.000694275 0.000801086 0.000915527 0.0010376 0.0011673 +0.00130463 0.00144958 0.00160217 0.00176239 0.00193024 0.00210571 0.00228882 +0.00247955 0.00267792 0.00288391 0.00309753 0.00331879 0.00354767 0.00378418 +0.00402832 0.00428009 0.00453949 0.00480652 0.00508118 0.00536346 0.00565338 +0.00595093 0.0062561 0.00656891 0.00688934 0.00721741 0.0075531 0.00789642 +0.00824738 0.00860596 0.00897217 0.00934601 0.00972748 0.0101166 0.0105133 +0.0109177 0.0113297 0.0117493 0.0121765 0.0126114 0.0130539 0.013504 +0.0139618 0.0144272 0.0149002 0.0153809 0.0158691 0.0163651 0.0168686 +0.0173798 0.0178986 0.018425 0.018959 0.0195007 0.02005 0.020607 0.0211716 +0.0217438 0.0223236 0.0229111 0.0235062 0.0241089 0.0247192 0.0253372 +0.0259628 0.0265961 0.0272369 0.0278854 0.0285416 0.0292053 0.0298767 +0.0305557 0.0312424 0.0319366 0.0326385 0.0333481 0.0340652 0.03479 +0.0355225 0.0362625 0.0370102 0.0377655 0.0385284 0.039299 0.0400772 +0.040863 0.0416565 0.0424576 0.0432663 0.0440826 0.0449066 0.0457382 +0.0465775 0.0474243 0.0482788 0.0491409 0.0500107 0.0508881 0.0517731 +0.0526657 0.053566 0.0544739 0.0553894 0.0563126 0.0572433 0.0581818 +0.0591278 0.0600815 0.0610428 0.0620117 0.0629883 0.0639725 0.0649643 +0.0659637 0.0669708 0.0679855 0.0690079 0.0700378 0.0710754 0.0721207 +0.0731735 0.074234 0.0753021 0.0763779 0.0774612 0.0785522 0.0796509 +0.0807571 0.081871 0.0829926 0.0841217 0.0852585 0.0864029 0.0875549 +0.0887146 0.0898819 0.0910568 0.0922394 0.0934296 0.0946274 0.0958328 +0.0970459 0.0982666 0.0994949 0.100731 0.101974 0.103226 0.104485 0.105751 +0.107025 0.108307 0.109596 0.110893 0.112198 0.11351 0.11483 0.116158 +0.117493 0.118835 0.120186 0.121544 0.12291 0.124283 0.125664 0.127052 +0.128448 0.129852 0.131264 0.132683 0.134109 0.135544 0.136986 0.138435 +0.139893 0.141357 0.14283 0.14431 0.145798 0.147293 0.148796 0.150307 +0.151825 0.153351 0.154884 0.156425 0.157974 0.159531 0.161095 0.162666 +0.164246 0.165833 0.167427 0.169029 0.170639 0.172256 0.173882 0.175514 +0.177155 0.178802 0.180458 0.182121 0.183792 0.185471 0.187157 0.18885 +0.190552 0.192261 0.193977 0.195702 0.197433 0.199173 0.20092 0.202675 +0.204437 0.206207 0.207985 0.20977 0.211563 0.213364 0.215172 0.216988 +0.218811 0.220642 0.222481 0.224327 0.226181 0.228043 0.229912 0.231789 +0.233673 0.235565 0.237465 0.239372 0.241287 0.24321 0.24514 0.247078 +0.249023 0.250977 0.252937 0.254906 0.256882 0.258865 0.260857 0.262856 +0.264862 0.266876 0.268898 0.270927 0.272964 0.275009 0.277061 0.279121 +0.281189 0.283264 0.285347 0.287437 0.289536 0.291641 0.293755 0.295876 +0.298004 0.30014 0.302284 0.304436 0.306595 0.308762 0.310936 0.313118 +0.315308 0.317505 0.31971 0.321922 0.324142 0.32637 0.328606 0.330849 +0.333099 0.335358 0.337624 0.339897 0.342178 0.344467 0.346764 0.349068 +0.351379 0.353699 0.356026 0.35836 0.360703 0.363052 0.36541 0.367775 +0.370148 0.372528 0.374916 0.377312 0.379715 0.382126 0.384544 0.386971 +0.389404 0.391846 0.394295 0.396751 0.399216 0.401688 0.404167 0.406654 +0.409149 0.411652 0.414162 0.416679 0.419205 0.421738 0.424278 0.426826 +0.429382 0.431946 0.434517 0.437096 0.439682 0.442276 0.444878 0.447487 +0.450104 0.452728 0.45536 0.458 0.460648 0.463303 0.465965 0.468636 +0.471313 0.473999 0.476692 0.479393 0.482101 0.484818 0.487541 0.490273 +0.493011 0.495758 0.498512 0.501274 0.504044 0.506821 0.509605 0.512398 +0.515198 0.518005 0.520821 0.523643 0.526474 0.529312 0.532158 0.535011 +0.537872 0.540741 0.543617 0.546501 0.549393 0.552292 0.555199 0.558113 +0.561035 0.563965 0.566902 0.569847 0.5728 0.57576 0.578728 0.581703 +0.584686 0.587677 0.590675 0.593681 0.596695 0.599716 0.602745 0.605782 +0.608826 0.611877 0.614937 0.618004 0.621078 0.624161 0.627251 0.630348 +0.633453 0.636566 0.639687 0.642815 0.64595 0.649094 0.652245 0.655403 +0.658569 0.661743 0.664925 0.668114 0.67131 0.674515 0.677727 0.680946 +0.684174 0.687408 0.690651 0.693901 0.697159 0.700424 0.703697 0.706978 +0.710266 0.713562 0.716866 0.720177 0.723495 0.726822 0.730156 0.733498 +0.736847 0.740204 0.743568 0.746941 0.75032 0.753708 0.757103 0.760506 +0.763916 0.767334 0.77076 0.774193 0.777634 0.781082 0.784538 0.788002 +0.791473 0.794952 0.798439 0.801933 0.805435 0.808945 0.812462 0.815987 +0.819519 0.823059 0.826607 0.830162 0.833725 0.837296 0.840874 0.84446 +0.848053 0.851654 0.855263 0.858879 0.862503 0.866135 0.869774 0.873421 +0.877075 0.880737 0.884407 0.888084 0.891769 0.895462 0.899162 0.90287 +; +#A 1000 0.906586 0.910309 0.91404 0.917778 0.921524 0.925278 0.929039 +0.932808 0.936584 0.940369 0.94416 0.94796 0.951767 0.955582 0.959404 +0.963234 0.967072 0.970917 0.97477 0.97863 0.982498 0.986374 0.990257 +0.994148; +#X coords 0 1 1023 -1 200 200 1 0 0; +#X restore 230 114 graph; +#X obj 25 107 inlet~; +#X obj 25 129 clip~ -1 1; +#X obj 25 151 *~ 512; +#X obj 25 173 +~ 512; +#X obj 25 195 tabread4~ \$0-xfer; +#X obj 25 217 outlet~; +#N canvas 0 22 334 332 generate-xfer 0; +#X obj 8 290 tabwrite \$0-xfer; +#X obj 8 109 / 1024; +#X obj 8 129 * 2; +#X obj 8 149 - 1; +#X obj 8 169 moses 0; +#X obj 8 191 + 0.1; +#X obj 8 213 clip -1 0; +#X obj 68 191 - 0.1; +#X obj 68 213 clip 0 1; +#X obj 101 16 inlet threshold; +#X obj 101 78 count 1024; +#X obj 128 58 s \$0-thresh; +#X obj 95 169 r \$0-thresh; +#X obj 101 38 t b f; +#X obj 68 236 *; +#X obj 8 236 *; +#X obj 8 258 * -1; +#X text 140 203 <<< deadzone; +#X text 140 253 <<< smooth by taking exponent; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 4 1 7 0; +#X connect 5 0 6 0; +#X connect 6 0 15 0; +#X connect 6 0 15 1; +#X connect 7 0 8 0; +#X connect 8 0 14 0; +#X connect 8 0 14 1; +#X connect 9 0 13 0; +#X connect 10 0 0 1; +#X connect 10 0 1 0; +#X connect 12 0 5 1; +#X connect 12 0 7 1; +#X connect 13 0 10 0; +#X connect 13 1 11 0; +#X connect 14 0 0 0; +#X connect 15 0 16 0; +#X connect 16 0 0 0; +#X restore 26 297 pd generate-xfer; +#X text 78 276 <<< threshold; +#X obj 26 253 loadbang; +#X obj 26 275 f \$1; +#X text 26 20 This abstraction feeds the input signal through a transfer +; +#X obj 103 254 inlet; +#X text 26 47 set threshold; +#X text 26 33 function attenuating the signal at values below the; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 9 0 10 0; +#X connect 10 0 7 0; +#X connect 12 0 10 1;
--- a/examples/08-PureData/midi-poly-synth/_main.pd Thu Jun 23 13:22:59 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,186 +0,0 @@ -#N canvas 8 23 1272 752 10; -#X text 39 1 Hello world!; -#X text 1003 636 ---------------------------------; -#X text 1003 626 @krighxz / BELA / heavy / 12/2015; -#X text 1027 645 beaglert.cc / enzienaudio.com; -#X text 306 61 [pgmin]; -#X text 416 31 [ctlin]; -#X text 825 28 [notein]; -#X text 228 32 <== the bela equivalent of ==>; -#X text 116 61 <== the bela equivalent of ==>; -#X obj 740 28 bela_notein 0; -#X obj 740 57 pack 0 0; -#X obj 740 106 pack 0 0 0; -#X obj 596 976 dac~ 1 2; -#X obj 646 178 s voice-note-1; -#X obj 736 178 s voice-note-2; -#X obj 826 178 s voice-note-3; -#X obj 916 178 s voice-note-4; -#X obj 594 252 catch~ output; -#X obj 541 57 voice 1; -#X obj 1150 21 loadbang; -#X obj 1150 43 metro 10; -#X obj 1150 65 s metro; -#X obj 944 336 * 1000; -#X obj 1036 392 s Q; -#X obj 944 381 s attack; -#X obj 1036 336 * 8000; -#X obj 1036 365 + 200; -#X obj 1116 379 s~ wobble; -#X obj 944 358 + 5; -#X obj 1116 336 *~ 25; -#X obj 629 334 r Q; -#X obj 594 309 *~ 1; -#X obj 981 565 clip~ 0 0.999; -#X obj 836 610 *~; -#X obj 740 128 route 1 2 3 4, f 36; -#X obj 836 509 +~ 100; -#X obj 836 485 *~ 1900; -#X obj 624 651 delwrite~ ddd 2000; -#X obj 740 84 poly 4 1; -#X obj 664 729 *~ 0.5; -#X obj 598 730 *~ 0.5; -#X obj 597 757 hip~ 5; -#X obj 624 558 hip~ 5; -#X obj 624 580 hv_tanh; -#X obj 836 667 hip~ 5; -#X obj 836 689 hv_tanh; -#X obj 836 566 delread~ ddd 500; -#N canvas 0 22 178 130 snapshot 0; -#X obj 24 20 inlet~; -#X obj 24 62 snapshot~; -#X obj 24 84 outlet; -#X obj 86 29 r metro; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 3 0 1 0; -#X restore 846 538 pd snapshot; -#X obj 78 173 bela_ctlin 1 0; -#X obj 159 203 s c1; -#X obj 41 61 bela_pgmin 0; -#X obj 78 233 bela_ctlin 2 0; -#X obj 159 263 s c2; -#X obj 78 293 bela_ctlin 3 0; -#X obj 159 323 s c3; -#X obj 78 353 bela_ctlin 4 0; -#X obj 159 383 s c4; -#X obj 498 731 r c1; -#X obj 498 753 / 127; -#X obj 943 311 / 127; -#X obj 943 289 r c2; -#X obj 1033 311 / 127; -#X obj 1033 289 r c3; -#X obj 1115 291 / 127; -#X obj 1115 269 r c4; -#X obj 1115 313 sig~; -#X obj 78 413 bela_ctlin 5 0; -#X obj 159 443 s c5; -#X obj 78 473 bela_ctlin 6 0; -#X obj 159 503 s c6; -#X obj 828 407 / 127; -#X obj 828 429 sig~; -#X obj 828 385 r c5; -#X obj 981 519 / 127; -#X obj 981 541 sig~; -#X obj 981 497 r c6; -#X obj 593 389 *~ 0.5; -#X obj 777 562 vd~ ddd; -#X obj 597 784 hv_tanh; -#X obj 597 818 *~; -#X obj 593 360 lop~ 1000; -#X obj 828 458 lop~ 10; -#X obj 78 533 bela_ctlin 7 0; -#X obj 159 563 s c7; -#X obj 78 593 bela_ctlin 8 0; -#X obj 159 623 s c8; -#X obj 664 769 loadbang; -#X msg 665 792 0.75; -#X obj 1116 456 * 8000; -#X obj 1116 485 + 200; -#X obj 1113 431 / 127; -#X obj 1113 409 r c7; -#X obj 1116 512 s QP; -#X obj 653 850 lop~ 8000; -#X obj 1065 725 r c8; -#X obj 689 824 r QP; -#X obj 1065 750 / 127; -#X obj 1065 772 s octVol; -#X obj 541 77 voice 2; -#X obj 541 97 voice 3; -#X obj 541 117 voice 4; -#X connect 9 0 10 0; -#X connect 9 1 10 1; -#X connect 10 0 38 0; -#X connect 11 0 34 0; -#X connect 17 0 31 0; -#X connect 19 0 20 0; -#X connect 20 0 21 0; -#X connect 22 0 28 0; -#X connect 25 0 26 0; -#X connect 26 0 23 0; -#X connect 28 0 24 0; -#X connect 29 0 27 0; -#X connect 30 0 80 1; -#X connect 31 0 80 0; -#X connect 32 0 33 1; -#X connect 33 0 39 0; -#X connect 33 0 44 0; -#X connect 34 0 13 0; -#X connect 34 1 14 0; -#X connect 34 2 15 0; -#X connect 34 3 16 0; -#X connect 35 0 47 0; -#X connect 35 0 77 0; -#X connect 36 0 35 0; -#X connect 38 0 11 0; -#X connect 38 1 11 1; -#X connect 38 2 11 2; -#X connect 39 0 41 0; -#X connect 40 0 41 0; -#X connect 41 0 78 0; -#X connect 42 0 43 0; -#X connect 43 0 37 0; -#X connect 44 0 45 0; -#X connect 45 0 37 0; -#X connect 47 0 46 0; -#X connect 48 0 49 0; -#X connect 51 0 52 0; -#X connect 53 0 54 0; -#X connect 55 0 56 0; -#X connect 57 0 58 0; -#X connect 58 0 79 1; -#X connect 59 0 22 0; -#X connect 60 0 59 0; -#X connect 61 0 25 0; -#X connect 62 0 61 0; -#X connect 63 0 65 0; -#X connect 64 0 63 0; -#X connect 65 0 29 0; -#X connect 66 0 67 0; -#X connect 68 0 69 0; -#X connect 70 0 71 0; -#X connect 71 0 81 0; -#X connect 72 0 70 0; -#X connect 73 0 74 0; -#X connect 74 0 32 0; -#X connect 75 0 73 0; -#X connect 76 0 40 0; -#X connect 76 0 42 0; -#X connect 77 0 33 0; -#X connect 78 0 79 0; -#X connect 79 0 93 0; -#X connect 80 0 76 0; -#X connect 81 0 36 0; -#X connect 82 0 83 0; -#X connect 84 0 85 0; -#X connect 86 0 87 0; -#X connect 87 0 79 1; -#X connect 88 0 89 0; -#X connect 89 0 92 0; -#X connect 90 0 88 0; -#X connect 91 0 90 0; -#X connect 93 0 12 0; -#X connect 93 0 12 1; -#X connect 94 0 96 0; -#X connect 95 0 93 1; -#X connect 96 0 97 0;
--- a/examples/08-PureData/midi-poly-synth/backmain.pd Thu Jun 23 13:22:59 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +0,0 @@ -#N canvas 85 58 1280 685 10; -#X obj 19 396 dac~ 1 2; -#X text 39 1 Hello world!; -#X text 37 11 ============; -#X obj 31 353 *~ 0.1; -#X text 202 448 ---------------------------------; -#X text 202 438 @krighxz / BELA / heavy / 12/2015; -#X text 226 457 beaglert.cc / enzienaudio.com; -#X obj 39 132 mtof; -#X floatatom 79 59 5 0 0 0 - - -, f 5; -#X floatatom 122 59 5 0 0 0 - - -, f 5; -#X floatatom 41 63 5 0 0 0 - - -, f 5; -#X obj 26 170 phasor~ 440; -#X text 100 363 (the harsh sound of success); -#X obj 260 83 * 20; -#X obj 261 112 + 200; -#X obj 132 85 loadbang; -#X msg 131 111 1000; -#X obj 125 166 sig~; -#X text 673 121 [pgmin]; -#X obj 218 178 * 10; -#X obj 30 250 hip~; -#X obj 26 275 hip~; -#X obj 20 302 hip~; -#X obj 19 323 hip~; -#X obj 87 192 lop~ 4; -#X obj 152 256 line; -#X obj 200 200 + 50; -#X msg 170 227 \$1 200; -#X msg 93 114 0; -#X msg 185 112 0; -#X obj 29 224 vcf~ 4; -#X obj 70 333 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X obj 42 92 mono; -#X obj 40 28 bela_notein 0; -#X obj 260 60 bela_ctlin 5 0; -#X obj 220 151 bela_ctlin 6 0; -#X obj 408 121 bela_pgmin 3; -#X text 537 58 [ctlin]; -#X text 332 27 [notein]; -#X text 140 29 <== the bela equivalent of ==>; -#X text 349 59 <== the bela equivalent of ==>; -#X text 483 121 <== the bela equivalent of ==>; -#X connect 3 0 0 1; -#X connect 3 0 0 0; -#X connect 7 0 11 0; -#X connect 8 0 32 1; -#X connect 10 0 32 0; -#X connect 11 0 30 0; -#X connect 13 0 14 0; -#X connect 14 0 17 0; -#X connect 15 0 16 0; -#X connect 15 0 29 0; -#X connect 15 0 28 0; -#X connect 16 0 17 0; -#X connect 17 0 24 0; -#X connect 19 0 26 0; -#X connect 20 0 21 0; -#X connect 21 0 22 0; -#X connect 22 0 23 0; -#X connect 23 0 3 0; -#X connect 24 0 30 1; -#X connect 25 0 20 1; -#X connect 25 0 21 1; -#X connect 25 0 22 1; -#X connect 25 0 23 1; -#X connect 26 0 27 0; -#X connect 27 0 25 0; -#X connect 29 0 19 0; -#X connect 30 0 20 0; -#X connect 31 0 3 1; -#X connect 32 0 7 0; -#X connect 32 1 31 0; -#X connect 33 0 10 0; -#X connect 33 1 8 0; -#X connect 33 2 9 0; -#X connect 34 0 13 0; -#X connect 35 0 19 0;
--- a/examples/08-PureData/midi-poly-synth/bela_ctlin.pd Thu Jun 23 13:22:59 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ -#N canvas 554 204 703 475 10; -#X obj 53 431 outlet; -#X obj 108 429 outlet; -#X obj 99 127 r ctlin; -#X obj 92 151 unpack f f f; -#X obj 154 429 outlet; -#X obj 86 322 spigot; -#X text 51 450 value; -#X text 105 450 number; -#X obj 211 138 loadbang; -#X obj 177 193 \$1; -#X obj 126 214 == \$1; -#X obj 119 299 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X obj 84 349 unpack f f f; -#X obj 143 247 ||; -#X obj 177 217 == 0; -#X text 70 11 Emulates ctlin \, except number of outlets is fixed. -; -#X obj 228 247 ||; -#X obj 262 217 == 0; -#X obj 212 214 == \$2; -#X obj 262 193 \$2; -#X obj 177 277 &&; -#X obj 211 163 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 --1 -1; -#X text 173 299 If (inputController==\$1 || \$1==0) && (inputChannel==\$2 -|| \$2==0); -#X text 197 52 Known issue: trying to select inputController 0 will -result i accepting all controllers (because a pd external cannot tell -the difference between \$1 been explicitely set to 0 and the patch -not having any argument); -#X text 162 450 channel; -#X obj 56 192 pack f f f; -#X obj 80 408 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X floatatom 81 382 5 0 0 0 - - -, f 5; -#X obj 121 412 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 --1 -1; -#X floatatom 122 386 5 0 0 0 - - -, f 5; -#X obj 172 406 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 --1 -1; -#X floatatom 173 380 5 0 0 0 - - -, f 5; -#X obj 122 92 s ctlin; -#X obj 64 29 r bela_ctlin; -#X connect 2 0 3 0; -#X connect 3 0 25 0; -#X connect 3 1 10 0; -#X connect 3 1 25 1; -#X connect 3 2 18 0; -#X connect 3 2 25 2; -#X connect 5 0 12 0; -#X connect 8 0 21 0; -#X connect 9 0 14 0; -#X connect 10 0 13 0; -#X connect 11 0 5 1; -#X connect 12 0 0 0; -#X connect 12 0 27 0; -#X connect 12 1 1 0; -#X connect 12 1 29 0; -#X connect 12 2 4 0; -#X connect 12 2 31 0; -#X connect 13 0 20 0; -#X connect 14 0 13 1; -#X connect 16 0 20 1; -#X connect 17 0 16 1; -#X connect 18 0 16 0; -#X connect 19 0 17 0; -#X connect 20 0 11 0; -#X connect 21 0 9 0; -#X connect 21 0 19 0; -#X connect 25 0 5 0; -#X connect 27 0 26 0; -#X connect 29 0 28 0; -#X connect 31 0 30 0; -#X connect 33 0 32 0;
--- a/examples/08-PureData/midi-poly-synth/bela_notein.pd Thu Jun 23 13:22:59 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,59 +0,0 @@ -#N canvas 399 23 629 685 10; -#X obj 94 481 outlet; -#X obj 165 475 outlet; -#X obj 141 184 unpack f f f; -#X obj 221 472 outlet; -#X obj 143 365 spigot; -#X obj 268 181 loadbang; -#X obj 234 236 \$1; -#X obj 183 257 == \$1; -#X obj 176 342 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X obj 143 392 unpack f f f; -#X obj 200 290 ||; -#X obj 234 260 == 0; -#X obj 268 206 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 --1 -1; -#X text 160 65 Emulates notein \, except number of outlets is fixed. -; -#X text 92 499 notenumber; -#X text 161 489 velocity; -#X text 220 486 channel; -#X text 229 311 If (inputChannel==\$1 || \$1==0); -#X obj 115 232 pack f f f; -#X obj 82 428 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X floatatom 84 410 5 0 0 0 - - -, f 5; -#X obj 145 448 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 --1 -1; -#X floatatom 147 430 5 0 0 0 - - -, f 5; -#X obj 198 451 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 --1 -1; -#X floatatom 200 433 5 0 0 0 - - -, f 5; -#X obj 131 112 s notein; -#X obj 140 149 r notein; -#X obj 135 84 r bela_notein; -#X connect 2 0 18 0; -#X connect 2 1 18 1; -#X connect 2 2 7 0; -#X connect 2 2 18 2; -#X connect 4 0 9 0; -#X connect 5 0 12 0; -#X connect 6 0 11 0; -#X connect 7 0 10 0; -#X connect 8 0 4 1; -#X connect 9 0 0 0; -#X connect 9 0 20 0; -#X connect 9 1 1 0; -#X connect 9 1 22 0; -#X connect 9 2 3 0; -#X connect 9 2 24 0; -#X connect 10 0 8 0; -#X connect 11 0 10 1; -#X connect 12 0 6 0; -#X connect 18 0 4 0; -#X connect 20 0 19 0; -#X connect 22 0 21 0; -#X connect 24 0 23 0; -#X connect 26 0 2 0; -#X connect 27 0 25 0;
--- a/examples/08-PureData/midi-poly-synth/bela_pgmin.pd Thu Jun 23 13:22:59 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -#N canvas 623 197 587 546 10; -#X obj 73 413 outlet; -#X obj 174 411 outlet; -#X obj 106 304 spigot; -#X obj 197 126 loadbang; -#X obj 197 175 \$1; -#X obj 146 196 == \$1; -#X obj 139 281 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X obj 163 229 ||; -#X obj 197 199 == 0; -#X obj 197 151 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 --1 -1; -#X obj 89 111 unpack f f; -#X obj 106 332 unpack f f; -#X text 52 436 program number; -#X text 182 432 channel; -#X text 193 281 If (channel==\$1 || \$1==0); -#X text 167 45 emulates pgmin except it always has 2 outlets and requires -the input parameters to be explicitely set. Set them to 0 to avoid -filtering; -#X text 262 132 It'd be nicer with [t l l] but have to compensate for -the fact that it is not supported by heavy; -#X obj 77 183 pack f f; -#X floatatom 72 355 5 0 0 0 - - -, f 5; -#X obj 63 379 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X floatatom 150 361 5 0 0 0 - - -, f 5; -#X obj 141 385 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 --1 -1; -#X obj 91 63 s pgmin; -#X obj 93 87 r pgmin; -#X obj 89 42 r bela_pgmin; -#X connect 2 0 11 0; -#X connect 3 0 9 0; -#X connect 4 0 8 0; -#X connect 5 0 7 0; -#X connect 6 0 2 1; -#X connect 7 0 6 0; -#X connect 8 0 7 1; -#X connect 9 0 4 0; -#X connect 10 0 17 0; -#X connect 10 1 5 0; -#X connect 10 1 17 1; -#X connect 11 0 0 0; -#X connect 11 0 18 0; -#X connect 11 1 1 0; -#X connect 11 1 20 0; -#X connect 17 0 2 0; -#X connect 18 0 19 0; -#X connect 20 0 21 0; -#X connect 23 0 10 0; -#X connect 24 0 22 0;
--- a/examples/08-PureData/midi-poly-synth/countTo.pd Thu Jun 23 13:22:59 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -#N canvas 584 255 450 300 10; -#X obj 65 196 outlet; -#X obj 98 8 inlet; -#X text 189 49 counts from 0 to the given number -1; -#X text 214 95 inlet:N; -#X text 212 112 outlet: 0 \, 1 \, 2 \, ... \, N-1; -#X obj 143 61 f; -#X obj 100 138 spigot; -#X obj 129 89 <; -#X obj 129 113 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X obj 95 28 t b f b; -#X obj 92 74 + 1; -#X obj 43 73 f; -#X obj 63 104 t b f f f; -#X msg 92 53 0; -#X obj 16 144 delay 0; -#X connect 1 0 9 0; -#X connect 5 0 7 1; -#X connect 6 0 11 0; -#X connect 7 0 8 0; -#X connect 8 0 6 1; -#X connect 9 0 11 0; -#X connect 9 1 5 0; -#X connect 9 1 13 0; -#X connect 10 0 11 1; -#X connect 11 0 12 0; -#X connect 12 0 14 0; -#X connect 12 1 0 0; -#X connect 12 2 7 0; -#X connect 12 3 10 0; -#X connect 13 0 11 1; -#X connect 14 0 6 0;
--- a/examples/08-PureData/midi-poly-synth/hv_tanh.pd Thu Jun 23 13:22:59 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -#N canvas 254 82 445 331 10; -#X obj 39 37 inlet~; -#X obj 39 67 clip~ -3 3; -#X obj 54 107 *~; -#X obj 39 277 outlet~; -#X obj 109 107 sig~ 27; -#X obj 54 147 +~; -#X obj 54 217 /~; -#X obj 39 247 *~; -#X obj 94 147 *~ 9; -#X obj 94 187 +~; -#X text 142 177 // http://www.musicdsp.org/showone.php?id=238; -#X text 140 198 // y = x * (27 + x^2) / (27 + 9*x^2); -#X text 144 152 // pade-approximation of tanh function; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 1 0 2 1; -#X connect 1 0 7 0; -#X connect 2 0 5 0; -#X connect 2 0 8 0; -#X connect 4 0 5 1; -#X connect 4 0 9 1; -#X connect 5 0 6 0; -#X connect 6 0 7 1; -#X connect 7 0 3 0; -#X connect 8 0 9 0; -#X connect 9 0 6 1;
--- a/examples/08-PureData/midi-poly-synth/maxArray.pd Thu Jun 23 13:22:59 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,67 +0,0 @@ -#N canvas 464 23 1002 583 10; -#X obj 224 202 max; -#X obj 265 200 f; -#X obj 223 229 change; -#X obj 223 251 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 --1 -1; -#X obj 223 271 f; -#X obj 259 323 f; -#X obj 187 315 f; -#X obj 268 282 t b b; -#X obj 183 364 outlet; -#X obj 269 379 outlet; -#X obj 179 17 inlet; -#X obj 225 177 tabread \$1; -#X obj 230 88 t f f b; -#X text 376 37 Finds a maximum value in an array; -#X text 531 112 \$2 arrayLength; -#X obj 292 10 inlet; -#X text 425 146 inlets:; -#X text 473 144 1 bang to find the maximum; -#X text 475 157 2 arrayLength; -#X text 407 90 creation arguments: \$1 arrayName; -#X obj 246 38 \$2; -#X obj 202 40 bang; -#X obj 230 65 f; -#X obj 224 6 loadbang; -#X text 444 216 outlets: 1 maximum value; -#X text 498 231 2 index of the maximum value; -#X msg 276 141 -1e+15; -#X obj 222 142 t f f f; -#X floatatom 158 266 5 0 0 0 - - -, f 5; -#X obj 332 302 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 --1 -1; -#X obj 288 253 select 127; -#X floatatom 301 324 5 0 0 0 - - -, f 5; -#X text 362 256 heavy does not support the second inlet of select so -I have to hard code 127 in here; -#X obj 223 110 countTo; -#X connect 0 0 1 0; -#X connect 0 0 2 0; -#X connect 0 0 6 1; -#X connect 0 0 28 0; -#X connect 1 0 0 1; -#X connect 2 0 3 0; -#X connect 3 0 4 0; -#X connect 4 0 5 1; -#X connect 4 0 31 0; -#X connect 5 0 9 0; -#X connect 6 0 8 0; -#X connect 7 0 6 0; -#X connect 7 1 5 0; -#X connect 10 0 21 0; -#X connect 11 0 0 0; -#X connect 12 0 33 0; -#X connect 12 2 26 0; -#X connect 15 0 22 1; -#X connect 20 0 22 1; -#X connect 21 0 22 0; -#X connect 22 0 12 0; -#X connect 23 0 20 0; -#X connect 26 0 0 1; -#X connect 27 0 30 0; -#X connect 27 1 11 0; -#X connect 27 2 4 1; -#X connect 30 0 7 0; -#X connect 30 0 29 0; -#X connect 33 0 27 0;
--- a/examples/08-PureData/midi-poly-synth/mono.pd Thu Jun 23 13:22:59 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,106 +0,0 @@ -#N canvas 69 182 1020 452 10; -#N canvas 0 23 450 278 (subpatch) 0; -#X array \$0-activeNotes 127 float 2; -#X coords 0 100 127 -1 200 140 1 0 0; -#X restore 537 25 graph; -#N canvas 89 91 450 300 resetArray 1; -#X obj 121 145 tabwrite \$0-activeNotes; -#X msg 123 115 -0.5; -#X obj 154 90 t b f; -#X msg 129 45 128; -#X obj 103 14 inlet; -#X text 212 71 countto; -#X obj 153 69 countTo; -#X connect 1 0 0 0; -#X connect 2 0 1 0; -#X connect 2 1 0 1; -#X connect 3 0 6 0; -#X connect 4 0 3 0; -#X connect 6 0 2 0; -#X restore 83 49 pd resetArray; -#X obj 83 3 loadbang; -#X obj 88 25 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X obj 39 188 maxArray \$0-activeNotes 128; -#X obj 183 219 f; -#X obj 39 237 >= 0; -#X floatatom 148 313 5 0 0 0 - - -, f 5; -#X obj 70 262 select 1; -#X obj 366 87 f; -#X obj 426 60 f; -#X text 334 39 note; -#X text 424 16 velocity; -#X obj 423 87 > 0; -#X obj 344 281 tabwrite \$0-activeNotes; -#X obj 330 207 f; -#X floatatom 303 178 5 0 0 0 - - -, f 5; -#X obj 265 163 f; -#X obj 304 150 + 1; -#X msg 277 130 -1; -#X msg 371 207 -0.5; -#X obj 400 116 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X obj 367 137 spigot; -#X obj 447 134 spigot; -#X obj 460 86 == 0; -#X obj 470 109 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X obj 434 163 t b f; -#X obj 337 60 inlet; -#X obj 426 32 inlet; -#X obj 148 350 outlet; -#X obj 275 89 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X obj 41 163 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X obj 363 172 t b f; -#X obj 334 240 t b f; -#X text 578 211 pass in velocity/note pairs (velocity first) and obtain -as an output the most recent note still active; -#X text 581 268 outlet 2 gate; -#X obj 330 366 outlet; -#X text 583 251 outlet 1 most recent note active (-1 otherwise); -#X text 155 329 most recent note active; -#X msg 338 338 0; -#X msg 378 339 1; -#X connect 2 0 3 0; -#X connect 3 0 1 0; -#X connect 3 0 19 0; -#X connect 4 0 6 0; -#X connect 4 1 5 1; -#X connect 5 0 7 0; -#X connect 5 0 40 0; -#X connect 6 0 8 0; -#X connect 7 0 29 0; -#X connect 8 0 5 0; -#X connect 8 1 39 0; -#X connect 9 0 22 0; -#X connect 9 0 23 0; -#X connect 10 0 13 0; -#X connect 10 0 24 0; -#X connect 13 0 21 0; -#X connect 15 0 33 0; -#X connect 16 0 15 1; -#X connect 17 0 18 0; -#X connect 18 0 16 0; -#X connect 18 0 17 1; -#X connect 19 0 17 1; -#X connect 20 0 33 0; -#X connect 21 0 22 1; -#X connect 22 0 32 0; -#X connect 23 0 26 0; -#X connect 24 0 25 0; -#X connect 25 0 23 1; -#X connect 26 0 20 0; -#X connect 26 1 14 1; -#X connect 27 0 9 0; -#X connect 28 0 10 0; -#X connect 28 0 30 0; -#X connect 30 0 17 0; -#X connect 31 0 4 0; -#X connect 32 0 15 0; -#X connect 32 1 14 1; -#X connect 33 0 31 0; -#X connect 33 1 14 0; -#X connect 39 0 36 0; -#X connect 40 0 36 0;
--- a/examples/08-PureData/midi-poly-synth/voice.pd Thu Jun 23 13:22:59 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -#N canvas 145 23 388 553 10; -#X obj 45 25 r voice-note-\$1; -#X obj 45 47 unpack 0 0; -#X obj 45 103 mtof; -#X obj 111 446 *~; -#X obj 152 367 / 127; -#X obj 111 500 throw~ output; -#X obj 152 419 line~; -#X obj 152 393 pack 0 0; -#X obj 59 176 phasor~; -#X obj 129 176 phasor~; -#X obj 86 304 +~; -#X obj 197 367 r attack; -#X obj 137 115 sig~; -#X obj 137 137 +~; -#X obj 171 113 r~ wobble; -#X obj 59 198 *~ 2; -#X obj 59 220 -~ 1; -#X obj 129 198 *~ 2; -#X obj 129 220 -~ 1; -#X obj 310 280 r octVol; -#X obj 268 397 osc~; -#X obj 268 419 *~; -#X obj 111 371 +~; -#X obj 123 475 *~ 0.5; -#X obj 268 364 mtof; -#X obj 267 323 - 12; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 1 0 25 0; -#X connect 1 1 4 0; -#X connect 2 0 8 0; -#X connect 2 0 12 0; -#X connect 3 0 23 0; -#X connect 4 0 7 0; -#X connect 6 0 3 1; -#X connect 7 0 6 0; -#X connect 8 0 15 0; -#X connect 9 0 17 0; -#X connect 10 0 22 0; -#X connect 11 0 7 1; -#X connect 12 0 13 0; -#X connect 13 0 9 0; -#X connect 14 0 13 1; -#X connect 15 0 16 0; -#X connect 16 0 10 1; -#X connect 17 0 18 0; -#X connect 18 0 10 0; -#X connect 19 0 21 1; -#X connect 20 0 21 0; -#X connect 21 0 22 1; -#X connect 22 0 3 0; -#X connect 23 0 5 0; -#X connect 24 0 20 0; -#X connect 25 0 24 0;
--- a/examples/08-PureData/rubberDuckie/_main.pd Thu Jun 23 13:22:59 2016 +0100 +++ b/examples/08-PureData/rubberDuckie/_main.pd Thu Jun 23 20:40:05 2016 +0100 @@ -1,247 +1,84 @@ -#N canvas 275 573 442 207 10; -#X obj 39 149 dac~ 1 2; -#X text 218 143 ---------------------------------; -#X text 218 133 @krighxz / BELA / heavy / 12/2015; -#X text 242 152 beaglert.cc / enzienaudio.com; +#N canvas 1363 702 483 627 10; +#X obj 39 209 dac~ 1 2; #X text 35 32 Rubber Duckie; #X text 35 42 =============; -#N canvas 325 86 823 605 duckie 0; -#X obj 186 510 *~; -#X obj 306 517 *~; -#X obj 372 468 noise~; -#X obj 372 492 bp~ 3000 10; -#X obj 366 162 abs~; -#X obj 509 158 sig~ 0; -#X obj 467 371 +~; -#X obj 411 210 -~ 0.55; -#X obj 411 231 /~ 0.2; -#X obj 411 252 clip~ 0 1; -#X obj 411 282 *~; -#X obj 411 308 *~ 1000; -#X obj 366 334 +~; -#X obj 366 308 +~ 800; -#X obj 186 536 *~ 0.2; -#X obj 366 282 *~ 800; -#N canvas 568 775 135 226 <~ 0; -#X obj 20 -43 -~; -#X obj 20 27 +~ 1e-37; -#X obj 20 6 clip~ -1e-37 0; -#X obj 20 -88 inlet~; -#X obj 64 -87 inlet~; -#X obj 20 -64 max~; -#X obj 20 -19 *~ -1; -#X obj 20 79 outlet~; -#X obj 20 48 *~ 1e+37; -#X connect 0 0 6 0; -#X connect 1 0 8 0; -#X connect 2 0 1 0; -#X connect 3 0 5 0; -#X connect 4 0 0 1; -#X connect 4 0 5 1; -#X connect 5 0 0 0; -#X connect 6 0 2 0; -#X connect 8 0 7 0; -#X restore 186 367 pd <~ 0; -#N canvas 568 775 135 226 <~ 0; -#X obj 20 -43 -~; -#X obj 20 27 +~ 1e-37; -#X obj 20 6 clip~ -1e-37 0; -#X obj 20 -88 inlet~; -#X obj 64 -87 inlet~; -#X obj 20 -64 max~; -#X obj 20 -19 *~ -1; -#X obj 20 79 outlet~; -#X obj 20 48 *~ 1e+37; -#X connect 0 0 6 0; -#X connect 1 0 8 0; -#X connect 2 0 1 0; -#X connect 3 0 5 0; -#X connect 4 0 0 1; -#X connect 4 0 5 1; -#X connect 5 0 0 0; -#X connect 6 0 2 0; -#X connect 8 0 7 0; -#X restore 482 181 pd <~; -#X obj 186 428 *~; -#X obj 225 345 sig~ 1; -#X obj 186 394 lop~ 10; -#X text 524 393 << band-limited pulse; -#X text 10 367 reed stops when overblown >>; -#X obj 186 460 *~; -#X obj 186 480 *~; -#X text 25 470 exp amplitude response >>; -#X text 537 238 << detune frequency on change of direction; -#X obj 482 236 *~ -300; -#X obj 306 485 *~; -#X obj 306 449 *~ 0.1; -#X text 448 493 << noise simulates non-oscillating airflow when overblown +#X text 251 15 ............................; +#X text 251 25 . ____ ._____ _ .......___ .; +#X text 251 35 .| __ )| ____| |....../ _ |.; +#X text 251 55 .| |_) | |___| |___ / ___ |.; +#X text 251 65 .|____/|_____|_____/_/..._|.io; +#X text 251 75 ............................; +#X text 251 45 .| __ || __|.| |...../ _| |.; +#X obj 39 141 sigdelta; +#X obj 39 176 duckie; +#X text 113 176 <<< open this abstraction to see how the model works ; -#X obj 186 561 outlet~; -#N canvas 58 1286 407 525 pulse 0; -#X obj 83 340 *~; -#X obj 83 366 *~; -#X obj 31 366 sig~ 1; -#X obj 52 419 /~; -#X obj 67 393 +~; -#X text 116 366 X^2; -#X text 97 396 1+X^2; -#X text 84 421 1/(1+X^2); -#X obj 83 317 osc~; -#X obj 167 320 clip~ 0 999999; -#X obj 52 483 outlet~; -#X text 271 218 << tweak all this; -#X text 25 14 based on F04.waveshaping.pulse.pd; -#X obj 83 84 /~ 2; -#X obj 167 148 -~; -#X obj 167 170 /~ 127; -#X obj 52 452 hip~ 5; -#X obj 167 202 *~; -#X obj 167 232 *~; -#X obj 167 262 *~; -#X obj 167 294 *~ 1000; -#X obj 118 125 sig~ 139; -#X obj 83 58 inlet~; -#N canvas 331 1377 215 174 _ftom 0; -#X obj -482 -776 tabread4~ _ftom; -#X obj -482 -818 /~ 10000; -#X obj -482 -797 *~ 256; -#N canvas 0 23 450 278 (subpatch) 0; -#X array _ftom 256 float 3; -#A 0 0 27.0762 39.0762 46.0958 51.0762 54.9394 58.0958 60.7645 63.0762 -65.1153 66.9394 68.5894 70.0958 71.4815 72.7645 73.9589 75.0762 76.1258 -77.1153 78.0514 78.9394 79.784 80.5894 81.359 82.0958 82.8025 83.4815 -84.1349 84.7645 85.372 85.9589 86.5266 87.0762 87.609 88.1258 88.6276 -89.1153 89.5897 90.0514 90.5011 90.9394 91.3669 91.784 92.1914 92.5894 -92.9785 93.359 93.7313 94.0958 94.4528 94.8025 95.1453 95.4815 95.8113 -96.1349 96.4525 96.7645 97.0709 97.372 97.6679 97.9589 98.2451 98.5266 -98.8036 99.0762 99.3446 99.609 99.8693 100.126 100.379 100.628 100.873 -101.115 101.354 101.59 101.822 102.051 102.278 102.501 102.722 102.939 -103.154 103.367 103.577 103.784 103.989 104.191 104.392 104.589 104.785 -104.978 105.17 105.359 105.546 105.731 105.914 106.096 106.275 106.453 -106.629 106.803 106.975 107.145 107.314 107.482 107.647 107.811 107.974 -108.135 108.294 108.453 108.609 108.764 108.918 109.071 109.222 109.372 -109.521 109.668 109.814 109.959 110.103 110.245 110.386 110.527 110.666 -110.804 110.94 111.076 111.211 111.345 111.477 111.609 111.74 111.869 -111.998 112.126 112.253 112.379 112.504 112.628 112.751 112.873 112.995 -113.115 113.235 113.354 113.472 113.59 113.706 113.822 113.937 114.051 -114.165 114.278 114.39 114.501 114.612 114.722 114.831 114.939 115.047 -115.154 115.261 115.367 115.472 115.577 115.681 115.784 115.887 115.989 -116.09 116.191 116.292 116.392 116.491 116.589 116.688 116.785 116.882 -116.978 117.074 117.17 117.265 117.359 117.453 117.546 117.639 117.731 -117.823 117.915 118.005 118.096 118.186 118.275 118.364 118.453 118.541 -118.629 118.716 118.803 118.889 118.975 119.06 119.145 119.23 119.314 -119.398 119.482 119.565 119.647 119.729 119.811 119.893 119.974 120.055 -120.135 120.215 120.294 120.374 120.453 120.531 120.609 120.687 120.764 -120.842 120.918 120.995 121.071 121.147 121.222 121.297 121.372 121.446 -121.521 121.594 121.668 121.741 121.814 121.887 121.959 122.031 122.103 -122.174 122.245 122.316 122.386 122.457 122.527 122.596 122.666 122.735 -122.804 122.872 122.94 123.008; -#X coords 0 127 256 -12 50 50 1 0 0; -#X restore -546 -793 graph; -#X obj -482 -838 clip~ 0 10000; -#X obj -482 -858 inlet~; -#X obj -482 -755 outlet~; -#X text -567 -722 shoddy temp replacement for ftom~; -#X connect 0 0 6 0; -#X connect 1 0 2 0; -#X connect 2 0 0 0; -#X connect 4 0 1 0; -#X connect 5 0 4 0; -#X restore 182 125 pd _ftom; -#X connect 0 0 1 0; -#X connect 0 0 1 1; -#X connect 1 0 4 1; -#X connect 2 0 3 0; -#X connect 2 0 4 0; -#X connect 3 0 16 0; -#X connect 4 0 3 1; -#X connect 8 0 0 0; -#X connect 9 0 0 1; -#X connect 13 0 8 0; -#X connect 13 0 23 0; -#X connect 14 0 15 0; -#X connect 15 0 17 0; -#X connect 15 0 17 1; -#X connect 16 0 10 0; -#X connect 17 0 18 0; -#X connect 17 0 18 1; -#X connect 18 0 19 0; -#X connect 18 0 19 1; -#X connect 19 0 20 0; -#X connect 20 0 9 0; -#X connect 21 0 14 0; -#X connect 22 0 13 0; -#X connect 23 0 14 1; -#X restore 467 394 pd pulse; -#X obj 366 105 inlet~; -#X text 295 104 airflow >>; -#X text 218 118 ('squeeze pressure'); -#X text 13 20 Sound model of a rubber duckie toy; -#X text 14 51 Hint: use the differential of a continuous signal as -input for a realistic response; -#X text 13 29 ==================================; -#X obj 366 133 lop~ 0.5; -#X text 423 132 << airflow resistance; -#X connect 0 0 14 0; -#X connect 1 0 14 0; -#X connect 2 0 3 0; -#X connect 3 0 1 1; -#X connect 4 0 7 0; -#X connect 4 0 15 0; -#X connect 4 0 29 0; -#X connect 4 0 18 1; -#X connect 4 0 16 0; -#X connect 5 0 17 1; -#X connect 6 0 32 0; -#X connect 7 0 8 0; -#X connect 8 0 9 0; -#X connect 9 0 10 0; -#X connect 9 0 10 1; +#X text 113 141 <<< calculate differential on input signal; +#X obj 39 107 adc~ 3; +#X text 113 107 <<< use FSR on analog input 1; +#X text 53 260 ......................................................... +; +#X text 53 270 .........................==~~~~.......................... +; +#X text 53 280 .......................=?+?====~~~....................... +; +#X text 53 290 ......................++++==========..................... +; +#X text 53 300 .....................??+++++++++=====.................... +; +#X text 53 310 ....................N???+++...++++====................... +; +#X text 53 320 ...................N??????.O8O++++====~.................. +; +#X text 53 330 ..................??I+==??.DD++++++====.................. +; +#X text 53 350 .............7\$777$III????=++++++++====.................. +; +#X text 53 360 .............I$ZZZZ$$I???+?=+????+++===.................. +; +#X text 53 370 ................ZOZZZZ\$7III???+????++++=..=====.......... +; +#X text 53 390 ..............\$77II77$$$\$7\$77?II????+===========......... +; +#X text 53 400 ................7$$$$$$$$$$IIII????++============........ +; +#X text 53 410 ..............=+?I7\$7777777IIII???+++============:....... +; +#X text 53 430 ...........:????IIIIIIII??????++++++==============....... +; +#X text 53 450 ..........????????????++++++++====================~...... +; +#X text 53 440 ..........~???????????????+++++++++=+============~:...... +; +#X text 53 460 .........+???????????+++++++++===================~~...... +; +#X text 53 470 .........+???????????+++++++++++++++++++==========....... +; +#X text 53 480 .........+????????????????????????+????++++=======....... +; +#X text 53 490 .........:??????????????????????????????++++=====........ +; +#X text 53 500 ..........???????????????????????????II???+++===:........ +; +#X text 53 510 ...........?II?????????????IIIIII?I???I???+++++=......... +; +#X text 53 530 ..............+777IIIIIIIIIIIIIIIIIIIIIIIII$I+:.......... +; +#X text 53 520 ............7IIIIII??????IIIIIIIIIIIIIIII????I=:......... +; +#X text 53 540 ...............:=?$Z777IIIIIIIIIIIII77ZI+~:.............. +; +#X text 53 550 ........................::~~~~~~:........................ +; +#X text 53 560 ......................................................... +; +#X text 53 340 .............7$$|\\\$7I?????=++++++++++===.................. +; +#X text 53 420 .............+??I77$||\\\$7777III???++++++============...... +; +#X text 53 380 ..............7$$$$ZZZOZ$|\$7777?????++++++=+===.......... +; #X connect 10 0 11 0; -#X connect 11 0 12 1; -#X connect 12 0 6 0; -#X connect 13 0 12 0; -#X connect 14 0 31 0; -#X connect 15 0 13 0; -#X connect 16 0 20 0; -#X connect 17 0 27 0; -#X connect 18 0 23 0; -#X connect 18 0 23 1; -#X connect 19 0 16 1; -#X connect 20 0 18 0; -#X connect 23 0 24 1; -#X connect 23 0 24 0; -#X connect 24 0 0 0; -#X connect 27 0 6 1; -#X connect 28 0 1 0; -#X connect 29 0 28 1; -#X connect 29 0 28 0; -#X connect 32 0 0 1; -#X connect 33 0 39 0; -#X connect 39 0 4 0; -#X connect 39 0 17 0; -#X restore 39 127 pd duckie; -#X obj 39 77 adc~ 10; -#N canvas 0 22 504 229 differential 0; -#X obj 27 80 rzero~ 1; -#X obj 72 57 sig~ 1; -#X obj 27 152 *~ 44100; -#X obj 72 131 samplerate~; -#X obj 72 110 loadbang; -#X obj 27 25 inlet~; -#X obj 27 190 outlet~; -#X text 84 83 y[n] = x[n] - x[n-1]; -#X text 121 57 <<< heavy currently requires signal input to set coefficient -; -#X text 91 151 <<< multiply by samplerate to get velocity; -#X connect 0 0 2 0; -#X connect 1 0 0 1; -#X connect 2 0 6 0; -#X connect 3 0 2 1; -#X connect 4 0 3 0; -#X connect 5 0 0 0; -#X restore 39 101 pd differential; -#X connect 6 0 0 0; -#X connect 6 0 0 1; -#X connect 7 0 8 0; -#X connect 8 0 6 0; +#X connect 11 0 0 0; +#X connect 11 0 0 1; +#X connect 14 0 10 0;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/08-PureData/rubberDuckie/duckie.pd Thu Jun 23 20:40:05 2016 +0100 @@ -0,0 +1,219 @@ +#N canvas 997 707 847 621 10; +#X obj 186 510 *~; +#X obj 306 517 *~; +#X obj 372 468 noise~; +#X obj 372 492 bp~ 3000 10; +#X obj 366 162 abs~; +#X obj 529 158 sig~ 0; +#X obj 487 371 +~; +#X obj 431 210 -~ 0.55; +#X obj 431 231 /~ 0.2; +#X obj 431 252 clip~ 0 1; +#X obj 431 282 *~; +#X obj 431 308 *~ 1000; +#X obj 366 334 +~; +#X obj 366 308 +~ 800; +#X obj 366 282 *~ 800; +#N canvas 568 775 135 226 <~ 0; +#X obj 20 -43 -~; +#X obj 20 27 +~ 1e-37; +#X obj 20 6 clip~ -1e-37 0; +#X obj 20 -88 inlet~; +#X obj 64 -87 inlet~; +#X obj 20 -64 max~; +#X obj 20 -19 *~ -1; +#X obj 20 79 outlet~; +#X obj 20 48 *~ 1e+37; +#X connect 0 0 6 0; +#X connect 1 0 8 0; +#X connect 2 0 1 0; +#X connect 3 0 5 0; +#X connect 4 0 0 1; +#X connect 4 0 5 1; +#X connect 5 0 0 0; +#X connect 6 0 2 0; +#X connect 8 0 7 0; +#X restore 186 367 pd <~ 0; +#N canvas 568 775 135 226 <~ 0; +#X obj 20 -43 -~; +#X obj 20 27 +~ 1e-37; +#X obj 20 6 clip~ -1e-37 0; +#X obj 20 -88 inlet~; +#X obj 64 -87 inlet~; +#X obj 20 -64 max~; +#X obj 20 -19 *~ -1; +#X obj 20 79 outlet~; +#X obj 20 48 *~ 1e+37; +#X connect 0 0 6 0; +#X connect 1 0 8 0; +#X connect 2 0 1 0; +#X connect 3 0 5 0; +#X connect 4 0 0 1; +#X connect 4 0 5 1; +#X connect 5 0 0 0; +#X connect 6 0 2 0; +#X connect 8 0 7 0; +#X restore 502 181 pd <~; +#X obj 186 428 *~; +#X obj 225 345 sig~ 1; +#X obj 186 394 lop~ 10; +#X text 573 393 << band-limited pulse; +#X text 10 367 reed stops when overblown >>; +#X obj 186 460 *~; +#X obj 186 480 *~; +#X text 25 470 exp amplitude response >>; +#X text 577 211 << detune frequency on change of direction; +#X obj 502 209 *~ -300; +#X obj 306 485 *~; +#X obj 306 449 *~ 0.1; +#X text 478 493 << noise simulates non-oscillating airflow when overblown +; +#X obj 186 580 outlet~; +#N canvas 219 819 407 525 pulse 0; +#X obj 83 340 *~; +#X obj 83 366 *~; +#X obj 31 366 sig~ 1; +#X obj 52 419 /~; +#X obj 67 393 +~; +#X text 116 366 X^2; +#X text 97 396 1+X^2; +#X text 84 421 1/(1+X^2); +#X obj 83 317 osc~; +#X obj 167 320 clip~ 0 999999; +#X obj 52 483 outlet~; +#X text 271 218 << tweak all this; +#X text 25 14 based on F04.waveshaping.pulse.pd; +#X obj 83 84 /~ 2; +#X obj 167 148 -~; +#X obj 167 170 /~ 127; +#X obj 52 452 hip~ 5; +#X obj 167 202 *~; +#X obj 167 232 *~; +#X obj 167 262 *~; +#X obj 167 294 *~ 1000; +#X obj 118 125 sig~ 139; +#X obj 83 58 inlet~; +#N canvas 331 1377 277 202 _ftom 0; +#X obj 97 95 tabread4~ _ftom; +#X obj 97 53 /~ 10000; +#X obj 97 74 *~ 256; +#N canvas 0 23 450 278 (subpatch) 0; +#X array _ftom 256 float 3; +#A 0 0 27.0762 39.0762 46.0958 51.0762 54.9394 58.0958 60.7645 63.0762 +65.1153 66.9394 68.5894 70.0958 71.4815 72.7645 73.9589 75.0762 76.1258 +77.1153 78.0514 78.9394 79.784 80.5894 81.359 82.0958 82.8025 83.4815 +84.1349 84.7645 85.372 85.9589 86.5266 87.0762 87.609 88.1258 88.6276 +89.1153 89.5897 90.0514 90.5011 90.9394 91.3669 91.784 92.1914 92.5894 +92.9785 93.359 93.7313 94.0958 94.4528 94.8025 95.1453 95.4815 95.8113 +96.1349 96.4525 96.7645 97.0709 97.372 97.6679 97.9589 98.2451 98.5266 +98.8036 99.0762 99.3446 99.609 99.8693 100.126 100.379 100.628 100.873 +101.115 101.354 101.59 101.822 102.051 102.278 102.501 102.722 102.939 +103.154 103.367 103.577 103.784 103.989 104.191 104.392 104.589 104.785 +104.978 105.17 105.359 105.546 105.731 105.914 106.096 106.275 106.453 +106.629 106.803 106.975 107.145 107.314 107.482 107.647 107.811 107.974 +108.135 108.294 108.453 108.609 108.764 108.918 109.071 109.222 109.372 +109.521 109.668 109.814 109.959 110.103 110.245 110.386 110.527 110.666 +110.804 110.94 111.076 111.211 111.345 111.477 111.609 111.74 111.869 +111.998 112.126 112.253 112.379 112.504 112.628 112.751 112.873 112.995 +113.115 113.235 113.354 113.472 113.59 113.706 113.822 113.937 114.051 +114.165 114.278 114.39 114.501 114.612 114.722 114.831 114.939 115.047 +115.154 115.261 115.367 115.472 115.577 115.681 115.784 115.887 115.989 +116.09 116.191 116.292 116.392 116.491 116.589 116.688 116.785 116.882 +116.978 117.074 117.17 117.265 117.359 117.453 117.546 117.639 117.731 +117.823 117.915 118.005 118.096 118.186 118.275 118.364 118.453 118.541 +118.629 118.716 118.803 118.889 118.975 119.06 119.145 119.23 119.314 +119.398 119.482 119.565 119.647 119.729 119.811 119.893 119.974 120.055 +120.135 120.215 120.294 120.374 120.453 120.531 120.609 120.687 120.764 +120.842 120.918 120.995 121.071 121.147 121.222 121.297 121.372 121.446 +121.521 121.594 121.668 121.741 121.814 121.887 121.959 122.031 122.103 +122.174 122.245 122.316 122.386 122.457 122.527 122.596 122.666 122.735 +122.804 122.872 122.94 123.008; +#X coords 0 127 256 -12 50 50 1 0 0; +#X restore 33 78 graph; +#X obj 97 33 clip~ 0 10000; +#X obj 97 13 inlet~; +#X obj 97 116 outlet~; +#X text 12 162 (for heavy compatibility); +#X text 12 149 (very) shoddy temp replacement for ftom~; +#X connect 0 0 6 0; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X restore 182 125 pd _ftom; +#X connect 0 0 1 0; +#X connect 0 0 1 1; +#X connect 1 0 4 1; +#X connect 2 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 16 0; +#X connect 4 0 3 1; +#X connect 8 0 0 0; +#X connect 9 0 0 1; +#X connect 13 0 8 0; +#X connect 13 0 23 0; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 15 0 17 1; +#X connect 16 0 10 0; +#X connect 17 0 18 0; +#X connect 17 0 18 1; +#X connect 18 0 19 0; +#X connect 18 0 19 1; +#X connect 19 0 20 0; +#X connect 20 0 9 0; +#X connect 21 0 14 0; +#X connect 22 0 13 0; +#X connect 23 0 14 1; +#X restore 487 394 pd pulse; +#X obj 366 105 inlet~; +#X text 295 104 airflow >>; +#X text 218 118 ('squeeze pressure'); +#X text 13 20 Sound model of a rubber duckie toy; +#X text 14 51 Hint: use the differential of a continuous signal as +input for a realistic response; +#X text 13 29 ==================================; +#X obj 366 133 lop~ 0.5; +#X text 443 132 << airflow resistance; +#X obj 186 536 *~ 1; +#X obj 186 558 hip~ 10; +#X text 759 581 @krighxz 2015; +#X connect 0 0 40 0; +#X connect 1 0 40 0; +#X connect 2 0 3 0; +#X connect 3 0 1 1; +#X connect 4 0 7 0; +#X connect 4 0 14 0; +#X connect 4 0 28 0; +#X connect 4 0 17 1; +#X connect 4 0 15 0; +#X connect 5 0 16 1; +#X connect 6 0 31 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 9 0 10 1; +#X connect 10 0 11 0; +#X connect 11 0 12 1; +#X connect 12 0 6 0; +#X connect 13 0 12 0; +#X connect 14 0 13 0; +#X connect 15 0 19 0; +#X connect 16 0 26 0; +#X connect 17 0 22 0; +#X connect 17 0 22 1; +#X connect 18 0 15 1; +#X connect 19 0 17 0; +#X connect 22 0 23 1; +#X connect 22 0 23 0; +#X connect 23 0 0 0; +#X connect 26 0 6 1; +#X connect 27 0 1 0; +#X connect 28 0 27 1; +#X connect 28 0 27 0; +#X connect 31 0 0 1; +#X connect 32 0 38 0; +#X connect 38 0 4 0; +#X connect 38 0 16 0; +#X connect 40 0 41 0; +#X connect 41 0 30 0;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/08-PureData/rubberDuckie/sigdelta.pd Thu Jun 23 20:40:05 2016 +0100 @@ -0,0 +1,21 @@ +#N canvas 872 646 508 300 10; +#X obj 27 140 rzero~ 1; +#X obj 72 117 sig~ 1; +#X obj 27 212 *~ 44100; +#X obj 72 191 samplerate~; +#X obj 72 170 loadbang; +#X obj 27 85 inlet~; +#X obj 27 250 outlet~; +#X text 112 141 y[n] = x[n] - x[n-1]; +#X text 141 117 <<< heavy currently requires signal input to set coefficient +; +#X text 111 211 <<< multiply by samplerate to get velocity; +#X text 28 18 This abstraction calculates the differential from an +input; +#X text 28 32 signal.; +#X connect 0 0 2 0; +#X connect 1 0 0 1; +#X connect 2 0 6 0; +#X connect 3 0 2 1; +#X connect 4 0 3 0; +#X connect 5 0 0 0;
--- a/examples/08-PureData/samphold/_main.pd Thu Jun 23 13:22:59 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -#N canvas 275 504 414 247 10; -#X obj 55 212 dac~ 1 2; -#X obj 55 171 *~ 0.1; -#X obj 55 150 osc~ 440; -#X obj 55 61 noise~; -#X obj 55 128 samphold~; -#X text 51 21 ==================; -#X text 51 11 Sample and hold FM; -#X obj 55 85 lop~ 1; -#X obj 122 107 phasor~ 880; -#X obj 55 107 *~ 1e+06; -#X text 193 199 ---------------------------------; -#X text 193 189 @krighxz / BELA / heavy / 12/2015; -#X text 217 208 beaglert.cc / enzienaudio.com; -#X connect 1 0 0 1; -#X connect 1 0 0 0; -#X connect 2 0 1 0; -#X connect 3 0 7 0; -#X connect 4 0 2 0; -#X connect 7 0 9 0; -#X connect 8 0 4 1; -#X connect 9 0 4 0;
--- a/examples/08-PureData/scope/_main.pd Thu Jun 23 13:22:59 2016 +0100 +++ b/examples/08-PureData/scope/_main.pd Thu Jun 23 20:40:05 2016 +0100 @@ -1,15 +1,24 @@ -#N canvas 394 368 477 304 10; -#X text 16 25 ============; -#X obj 104 239 dac~ 27 28 29 30; -#X obj 27 186 osc~ 2321; -#X obj 123 175 osc~ 12; -#X obj 267 175 noise~; -#X obj 192 170 phasor~ 10; +#N canvas 1035 935 404 295 10; +#X obj 126 235 dac~ 27 28 29 30; +#X obj 76 201 osc~ 2321; +#X obj 143 201 osc~ 12; +#X obj 268 201 noise~; +#X obj 197 201 phasor~ 10; #X text 16 15 Bela Scope; -#X text 11 46 Make sure the IDE is running ( ./ide.sh start ) and then -bring up the scope in your browser http://192.168.7.2/scope/ You can -log to the scope by sending to dac~ 27 to 30; -#X connect 2 0 1 0; -#X connect 3 0 1 1; -#X connect 4 0 1 3; -#X connect 5 0 1 2; +#X text 16 25 ==========; +#X text 16 81 If you're running this example in the Bela IDE \, simply +click; +#X text 16 95 the scope icon to see the signals being visualised.; +#X text 16 43 You can log any signal to the scope by using the DAC~ +; +#X text 16 57 outputs 27-30; +#X text 17 117 If using the build scripts or compiled using Heavy \, +make; +#X text 16 146 up the scope in your browser http://192.168.7.2/scope/ +; +#X text 17 132 sure the IDE is running ( ./ide.sh start ) and then +bring; +#X connect 1 0 0 0; +#X connect 2 0 0 1; +#X connect 3 0 0 3; +#X connect 4 0 0 2;
--- a/examples/08-PureData/simple-fm/_main.pd Thu Jun 23 13:22:59 2016 +0100 +++ b/examples/08-PureData/simple-fm/_main.pd Thu Jun 23 20:40:05 2016 +0100 @@ -1,42 +1,50 @@ -#N canvas 275 573 409 282 10; -#X obj 37 230 dac~ 1 2; -#X text 175 222 ---------------------------------; -#X obj 37 102 *~ 1000; -#X obj 37 199 *~ 0.1; -#X obj 37 79 adc~ 3; -#X obj 65 125 adc~ 4; -#X obj 94 147 adc~ 5; -#N canvas 81 574 322 252 FMvoice 1; -#X obj 20 174 +~; -#X obj 93 116 osc~; -#X obj 93 157 *~; -#X obj 93 76 *~; -#X obj 158 98 *~; -#X obj 20 225 outlet~; -#X obj 20 200 osc~; -#X obj 20 39 inlet~ freq; -#X obj 108 39 inlet~ harmRatio~; -#X obj 173 69 inlet~ modIndex~; -#X connect 0 0 6 0; -#X connect 1 0 2 0; -#X connect 2 0 0 1; -#X connect 3 0 4 0; -#X connect 3 0 1 0; -#X connect 4 0 2 1; -#X connect 6 0 5 0; -#X connect 7 0 3 0; -#X connect 7 0 0 0; -#X connect 8 0 3 1; -#X connect 9 0 4 1; -#X restore 37 169 pd FMvoice; +#N canvas 1487 943 648 549 10; +#X obj 36 162 *~ 1000; +#X obj 36 139 adc~ 3; +#X obj 154 162 adc~ 4; +#X obj 293 162 adc~ 5; #X text 33 22 Simple FM; #X text 33 32 =========; -#X text 175 212 @krighxz / BELA / heavy / 12/2015; -#X text 199 231 beaglert.cc / enzienaudio.com; -#X connect 2 0 7 0; -#X connect 3 0 0 1; -#X connect 3 0 0 0; -#X connect 4 0 2 0; -#X connect 5 0 7 1; -#X connect 6 0 7 2; -#X connect 7 0 3 0; +#X obj 36 431 +~; +#X obj 109 373 osc~; +#X obj 109 414 *~; +#X obj 109 333 *~; +#X obj 174 355 *~; +#X obj 36 457 osc~; +#X obj 36 513 dac~ 1 2; +#X obj 36 482 *~ 0.1; +#X obj 36 267 receive~ frequency; +#X obj 124 296 receive~ harmonicRatio; +#X obj 189 326 receive~ modulationIndex; +#X obj 36 184 send~ frequency; +#X obj 154 184 send~ harmonicRatio; +#X obj 293 184 send~ modulationIndex; +#X text 33 55 Simple frequency modulation synthesis. Use the first +three; +#X text 33 69 analog inputs to change frequency \, harmonic ratio and +; +#X text 33 83 modulation index.; +#X text 445 15 ............................; +#X text 445 25 . ____ ._____ _ .......___ .; +#X text 445 35 .| __ )| ____| |....../ _ |.; +#X text 445 55 .| |_) | |___| |___ / ___ |.; +#X text 445 65 .|____/|_____|_____/_/..._|.io; +#X text 445 75 ............................; +#X text 445 45 .| __ || __|.| |...../ _| |.; +#X connect 0 0 17 0; +#X connect 1 0 0 0; +#X connect 2 0 18 0; +#X connect 3 0 19 0; +#X connect 6 0 11 0; +#X connect 7 0 8 0; +#X connect 8 0 6 1; +#X connect 9 0 10 0; +#X connect 9 0 7 0; +#X connect 10 0 8 1; +#X connect 11 0 13 0; +#X connect 13 0 12 1; +#X connect 13 0 12 0; +#X connect 14 0 9 0; +#X connect 14 0 6 0; +#X connect 15 0 9 1; +#X connect 16 0 10 1;
--- a/examples/08-PureData/tableScrubbing/_main.pd Thu Jun 23 13:22:59 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -#N canvas 503 319 861 473 10; -#N canvas 0 22 450 278 (subpatch) 0; -#X array exampleTable 65238 float 2; -#X coords 0 1 65238 -1 200 140 1 0 0; -#X restore 21 213 graph; -#X obj 243 329 adc~ 1 2 3; -#X obj 300 426 dac~; -#X text 317 264 <<< delete this object before compiling!; -#X obj 300 392 tabread4~ exampleTable; -#X msg 243 218 read -resize rt.wav exampleTable; -#X obj 300 350 lop~ 1; -#X obj 300 371 *~ 65238; -#X obj 243 266 soundfiler; -#X text 489 229 right-click array -> properties -> toggle "save contents" -; -#X text 463 216 <<< after loading a file:; -#X text 17 23 Load sample into table and scrub using analog input; -#X text 17 33 ===================================================; -#X text 362 351 <<< avoid zipper noise; -#X text 362 371 <<< length of sample; -#X text 317 328 <<< analog input 0 (range 0-1); -#X text 631 419 ---------------------------------; -#X text 631 409 @krighxz / BELA / heavy / 12/2015; -#X text 655 428 beaglert.cc / enzienaudio.com; -#X text 30 61 N.B. the patch cannot be bigger than 512kb in size \; -only use this for *very small soundfiles*; -#X text 29 99 You can modify the render.cpp file to load samples into -tables using the Heavy API: https://enzienaudio.com/docs/c.html#api-hv-table -; -#X connect 1 2 6 0; -#X connect 4 0 2 0; -#X connect 4 0 2 1; -#X connect 5 0 8 0; -#X connect 6 0 7 0; -#X connect 7 0 4 0;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/10-Instruments/midi-poly-synth/_main.pd Thu Jun 23 20:40:05 2016 +0100 @@ -0,0 +1,196 @@ +#N canvas 204 382 1168 1183 10; +#X obj 409 198 pack 0 0; +#X obj 409 247 pack 0 0 0; +#X obj 407 1106 dac~ 1 2; +#X obj 409 299 s voice-note-1; +#X obj 499 299 s voice-note-2; +#X obj 589 299 s voice-note-3; +#X obj 679 299 s voice-note-4; +#X obj 408 642 catch~ output; +#X obj 408 396 voice 1; +#X obj 922 249 loadbang; +#X obj 922 271 metro 10; +#X obj 922 293 s metro; +#X obj 646 923 * 1000; +#X obj 646 968 s attack; +#X obj 738 923 * 8000; +#X obj 738 945 + 200; +#X obj 646 945 + 5; +#X obj 828 945 *~ 25; +#X obj 850 685 clip~ 0 0.999; +#X obj 646 730 *~; +#X obj 409 269 route 1 2 3 4, f 36; +#X obj 705 629 +~ 100; +#X obj 705 605 *~ 1900; +#X obj 409 225 poly 4 1; +#X obj 474 889 *~ 0.5; +#X obj 408 890 *~ 0.5; +#X obj 407 917 hip~ 5; +#X obj 424 768 hip~ 5; +#X obj 424 790 hv_tanh; +#X obj 646 757 hip~ 5; +#X obj 646 779 hv_tanh; +#N canvas 0 22 178 130 snapshot 0; +#X obj 24 20 inlet~; +#X obj 24 62 snapshot~; +#X obj 24 84 outlet; +#X obj 86 29 r metro; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 3 0 1 0; +#X restore 705 658 pd snapshot; +#X obj 159 243 s c1; +#X obj 159 303 s c2; +#X obj 159 363 s c3; +#X obj 159 423 s c4; +#X obj 446 983 r c1; +#X obj 446 1005 / 127; +#X obj 646 898 / 127; +#X obj 646 876 r c2; +#X obj 738 898 / 127; +#X obj 738 876 r c3; +#X obj 828 898 / 127; +#X obj 828 876 r c4; +#X obj 828 923 sig~; +#X obj 159 483 s c5; +#X obj 159 543 s c6; +#X obj 705 527 / 127; +#X obj 705 549 sig~; +#X obj 705 504 r c5; +#X obj 850 639 / 127; +#X obj 850 661 sig~; +#X obj 850 617 r c6; +#X obj 408 719 *~ 0.5; +#X obj 646 686 vd~ ddd; +#X obj 407 944 hv_tanh; +#X obj 408 690 lop~ 1000; +#X obj 705 578 lop~ 10; +#X obj 159 603 s c7; +#X obj 159 663 s c8; +#X obj 919 923 * 8000; +#X obj 919 945 + 200; +#X obj 919 898 / 127; +#X obj 919 876 r c7; +#X obj 407 1050 lop~ 8000; +#X obj 1019 876 r c8; +#X obj 1019 899 / 127; +#X obj 1019 968 s octVol; +#X obj 424 811 delwrite~ \$0-del 2000; +#X obj 705 686 delread~ \$0-del 500; +#X obj 407 1028 *~ 0.75; +#X obj 78 213 ctlin 1 0; +#X obj 78 273 ctlin 2 0; +#X obj 78 333 ctlin 3 0; +#X obj 78 393 ctlin 4 0; +#X obj 78 453 ctlin 5 0; +#X obj 78 513 ctlin 6 0; +#X obj 78 573 ctlin 7 0; +#X obj 78 633 ctlin 8 0; +#X obj 409 169 notein 0; +#X obj 828 968 s~ detune; +#X obj 478 396 voice 2; +#X obj 549 396 voice 3; +#X obj 618 396 voice 4; +#X text 71 55 Polyphonic subtractive synth controllable via MIDI; +#X text 71 65 ==================================================; +#X text 400 135 Voice management; +#X text 400 145 ----------------; +#X text 400 365 Voices; +#X text 400 375 ------; +#X text 400 495 Post-effects and output; +#X text 400 505 -----------------------; +#X text 80 146 Midi CC routing; +#X text 80 156 ---------------; +#X text 205 242 gain; +#X text 205 302 attack/release; +#X obj 738 968 s cutoff; +#X obj 919 968 s cutoffP; +#X obj 478 1028 r cutoffP; +#X obj 459 667 r cutoff; +#X text 205 362 cutoff (pre-FX); +#X text 205 422 osc2 detune; +#X text 205 482 delay length; +#X text 205 542 delay feedback; +#X text 205 602 cutoff (post-FX); +#X text 205 662 sub-oscillator gain; +#X text 918 47 ............................; +#X text 918 57 . ____ ._____ _ .......___ .; +#X text 918 67 .| __ )| ____| |....../ _ |.; +#X text 918 87 .| |_) | |___| |___ / ___ |.; +#X text 918 97 .|____/|_____|_____/_/..._|.io; +#X text 918 107 ............................; +#X text 918 77 .| __ || __|.| |...../ _| |.; +#X text 1011 1094 @rjack0101; +#X connect 0 0 23 0; +#X connect 1 0 20 0; +#X connect 7 0 56 0; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 12 0 16 0; +#X connect 14 0 15 0; +#X connect 15 0 96 0; +#X connect 16 0 13 0; +#X connect 17 0 80 0; +#X connect 18 0 19 1; +#X connect 19 0 24 0; +#X connect 19 0 29 0; +#X connect 20 0 3 0; +#X connect 20 1 4 0; +#X connect 20 2 5 0; +#X connect 20 3 6 0; +#X connect 21 0 31 0; +#X connect 21 0 54 0; +#X connect 22 0 21 0; +#X connect 23 0 1 0; +#X connect 23 1 1 1; +#X connect 23 2 1 2; +#X connect 24 0 26 0; +#X connect 25 0 26 0; +#X connect 26 0 55 0; +#X connect 27 0 28 0; +#X connect 28 0 68 0; +#X connect 29 0 30 0; +#X connect 30 0 68 0; +#X connect 31 0 69 0; +#X connect 36 0 37 0; +#X connect 37 0 70 1; +#X connect 38 0 12 0; +#X connect 39 0 38 0; +#X connect 40 0 14 0; +#X connect 41 0 40 0; +#X connect 42 0 44 0; +#X connect 43 0 42 0; +#X connect 44 0 17 0; +#X connect 47 0 48 0; +#X connect 48 0 57 0; +#X connect 49 0 47 0; +#X connect 50 0 51 0; +#X connect 51 0 18 0; +#X connect 52 0 50 0; +#X connect 53 0 25 0; +#X connect 53 0 27 0; +#X connect 54 0 19 0; +#X connect 55 0 70 0; +#X connect 56 0 53 0; +#X connect 57 0 22 0; +#X connect 60 0 61 0; +#X connect 61 0 97 0; +#X connect 62 0 60 0; +#X connect 63 0 62 0; +#X connect 64 0 2 0; +#X connect 64 0 2 1; +#X connect 65 0 66 0; +#X connect 66 0 67 0; +#X connect 70 0 64 0; +#X connect 71 0 32 0; +#X connect 72 0 33 0; +#X connect 73 0 34 0; +#X connect 74 0 35 0; +#X connect 75 0 45 0; +#X connect 76 0 46 0; +#X connect 77 0 58 0; +#X connect 78 0 59 0; +#X connect 79 0 0 0; +#X connect 79 1 0 1; +#X connect 98 0 64 1; +#X connect 99 0 56 1;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/10-Instruments/midi-poly-synth/backmain.pd Thu Jun 23 20:40:05 2016 +0100 @@ -0,0 +1,79 @@ +#N canvas 85 58 1280 685 10; +#X obj 19 396 dac~ 1 2; +#X text 39 1 Hello world!; +#X text 37 11 ============; +#X obj 31 353 *~ 0.1; +#X text 202 448 ---------------------------------; +#X text 202 438 @krighxz / BELA / heavy / 12/2015; +#X text 226 457 beaglert.cc / enzienaudio.com; +#X obj 39 132 mtof; +#X floatatom 79 59 5 0 0 0 - - -, f 5; +#X floatatom 122 59 5 0 0 0 - - -, f 5; +#X floatatom 41 63 5 0 0 0 - - -, f 5; +#X obj 26 170 phasor~ 440; +#X text 100 363 (the harsh sound of success); +#X obj 260 83 * 20; +#X obj 261 112 + 200; +#X obj 132 85 loadbang; +#X msg 131 111 1000; +#X obj 125 166 sig~; +#X text 673 121 [pgmin]; +#X obj 218 178 * 10; +#X obj 30 250 hip~; +#X obj 26 275 hip~; +#X obj 20 302 hip~; +#X obj 19 323 hip~; +#X obj 87 192 lop~ 4; +#X obj 152 256 line; +#X obj 200 200 + 50; +#X msg 170 227 \$1 200; +#X msg 93 114 0; +#X msg 185 112 0; +#X obj 29 224 vcf~ 4; +#X obj 70 333 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 42 92 mono; +#X obj 40 28 bela_notein 0; +#X obj 260 60 bela_ctlin 5 0; +#X obj 220 151 bela_ctlin 6 0; +#X obj 408 121 bela_pgmin 3; +#X text 537 58 [ctlin]; +#X text 332 27 [notein]; +#X text 140 29 <== the bela equivalent of ==>; +#X text 349 59 <== the bela equivalent of ==>; +#X text 483 121 <== the bela equivalent of ==>; +#X connect 3 0 0 1; +#X connect 3 0 0 0; +#X connect 7 0 11 0; +#X connect 8 0 32 1; +#X connect 10 0 32 0; +#X connect 11 0 30 0; +#X connect 13 0 14 0; +#X connect 14 0 17 0; +#X connect 15 0 16 0; +#X connect 15 0 29 0; +#X connect 15 0 28 0; +#X connect 16 0 17 0; +#X connect 17 0 24 0; +#X connect 19 0 26 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 3 0; +#X connect 24 0 30 1; +#X connect 25 0 20 1; +#X connect 25 0 21 1; +#X connect 25 0 22 1; +#X connect 25 0 23 1; +#X connect 26 0 27 0; +#X connect 27 0 25 0; +#X connect 29 0 19 0; +#X connect 30 0 20 0; +#X connect 31 0 3 1; +#X connect 32 0 7 0; +#X connect 32 1 31 0; +#X connect 33 0 10 0; +#X connect 33 1 8 0; +#X connect 33 2 9 0; +#X connect 34 0 13 0; +#X connect 35 0 19 0;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/10-Instruments/midi-poly-synth/countTo.pd Thu Jun 23 20:40:05 2016 +0100 @@ -0,0 +1,33 @@ +#N canvas 584 255 450 300 10; +#X obj 65 196 outlet; +#X obj 98 8 inlet; +#X text 189 49 counts from 0 to the given number -1; +#X text 214 95 inlet:N; +#X text 212 112 outlet: 0 \, 1 \, 2 \, ... \, N-1; +#X obj 143 61 f; +#X obj 100 138 spigot; +#X obj 129 89 <; +#X obj 129 113 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 95 28 t b f b; +#X obj 92 74 + 1; +#X obj 43 73 f; +#X obj 63 104 t b f f f; +#X msg 92 53 0; +#X obj 16 144 delay 0; +#X connect 1 0 9 0; +#X connect 5 0 7 1; +#X connect 6 0 11 0; +#X connect 7 0 8 0; +#X connect 8 0 6 1; +#X connect 9 0 11 0; +#X connect 9 1 5 0; +#X connect 9 1 13 0; +#X connect 10 0 11 1; +#X connect 11 0 12 0; +#X connect 12 0 14 0; +#X connect 12 1 0 0; +#X connect 12 2 7 0; +#X connect 12 3 10 0; +#X connect 13 0 11 1; +#X connect 14 0 6 0;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/10-Instruments/midi-poly-synth/hv_tanh.pd Thu Jun 23 20:40:05 2016 +0100 @@ -0,0 +1,27 @@ +#N canvas 254 82 445 331 10; +#X obj 39 37 inlet~; +#X obj 39 67 clip~ -3 3; +#X obj 54 107 *~; +#X obj 39 277 outlet~; +#X obj 109 107 sig~ 27; +#X obj 54 147 +~; +#X obj 54 217 /~; +#X obj 39 247 *~; +#X obj 94 147 *~ 9; +#X obj 94 187 +~; +#X text 142 177 // http://www.musicdsp.org/showone.php?id=238; +#X text 140 198 // y = x * (27 + x^2) / (27 + 9*x^2); +#X text 144 152 // pade-approximation of tanh function; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 0 2 1; +#X connect 1 0 7 0; +#X connect 2 0 5 0; +#X connect 2 0 8 0; +#X connect 4 0 5 1; +#X connect 4 0 9 1; +#X connect 5 0 6 0; +#X connect 6 0 7 1; +#X connect 7 0 3 0; +#X connect 8 0 9 0; +#X connect 9 0 6 1;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/10-Instruments/midi-poly-synth/maxArray.pd Thu Jun 23 20:40:05 2016 +0100 @@ -0,0 +1,67 @@ +#N canvas 464 23 1002 583 10; +#X obj 224 202 max; +#X obj 265 200 f; +#X obj 223 229 change; +#X obj 223 251 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 223 271 f; +#X obj 259 323 f; +#X obj 187 315 f; +#X obj 268 282 t b b; +#X obj 183 364 outlet; +#X obj 269 379 outlet; +#X obj 179 17 inlet; +#X obj 225 177 tabread \$1; +#X obj 230 88 t f f b; +#X text 376 37 Finds a maximum value in an array; +#X text 531 112 \$2 arrayLength; +#X obj 292 10 inlet; +#X text 425 146 inlets:; +#X text 473 144 1 bang to find the maximum; +#X text 475 157 2 arrayLength; +#X text 407 90 creation arguments: \$1 arrayName; +#X obj 246 38 \$2; +#X obj 202 40 bang; +#X obj 230 65 f; +#X obj 224 6 loadbang; +#X text 444 216 outlets: 1 maximum value; +#X text 498 231 2 index of the maximum value; +#X msg 276 141 -1e+15; +#X obj 222 142 t f f f; +#X floatatom 158 266 5 0 0 0 - - -, f 5; +#X obj 332 302 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 288 253 select 127; +#X floatatom 301 324 5 0 0 0 - - -, f 5; +#X text 362 256 heavy does not support the second inlet of select so +I have to hard code 127 in here; +#X obj 223 110 countTo; +#X connect 0 0 1 0; +#X connect 0 0 2 0; +#X connect 0 0 6 1; +#X connect 0 0 28 0; +#X connect 1 0 0 1; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 5 1; +#X connect 4 0 31 0; +#X connect 5 0 9 0; +#X connect 6 0 8 0; +#X connect 7 0 6 0; +#X connect 7 1 5 0; +#X connect 10 0 21 0; +#X connect 11 0 0 0; +#X connect 12 0 33 0; +#X connect 12 2 26 0; +#X connect 15 0 22 1; +#X connect 20 0 22 1; +#X connect 21 0 22 0; +#X connect 22 0 12 0; +#X connect 23 0 20 0; +#X connect 26 0 0 1; +#X connect 27 0 30 0; +#X connect 27 1 11 0; +#X connect 27 2 4 1; +#X connect 30 0 7 0; +#X connect 30 0 29 0; +#X connect 33 0 27 0;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/10-Instruments/midi-poly-synth/mono.pd Thu Jun 23 20:40:05 2016 +0100 @@ -0,0 +1,106 @@ +#N canvas 69 182 1020 452 10; +#N canvas 0 23 450 278 (subpatch) 0; +#X array \$0-activeNotes 127 float 2; +#X coords 0 100 127 -1 200 140 1 0 0; +#X restore 537 25 graph; +#N canvas 89 91 450 300 resetArray 1; +#X obj 121 145 tabwrite \$0-activeNotes; +#X msg 123 115 -0.5; +#X obj 154 90 t b f; +#X msg 129 45 128; +#X obj 103 14 inlet; +#X text 212 71 countto; +#X obj 153 69 countTo; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 2 1 0 1; +#X connect 3 0 6 0; +#X connect 4 0 3 0; +#X connect 6 0 2 0; +#X restore 83 49 pd resetArray; +#X obj 83 3 loadbang; +#X obj 88 25 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 39 188 maxArray \$0-activeNotes 128; +#X obj 183 219 f; +#X obj 39 237 >= 0; +#X floatatom 148 313 5 0 0 0 - - -, f 5; +#X obj 70 262 select 1; +#X obj 366 87 f; +#X obj 426 60 f; +#X text 334 39 note; +#X text 424 16 velocity; +#X obj 423 87 > 0; +#X obj 344 281 tabwrite \$0-activeNotes; +#X obj 330 207 f; +#X floatatom 303 178 5 0 0 0 - - -, f 5; +#X obj 265 163 f; +#X obj 304 150 + 1; +#X msg 277 130 -1; +#X msg 371 207 -0.5; +#X obj 400 116 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 367 137 spigot; +#X obj 447 134 spigot; +#X obj 460 86 == 0; +#X obj 470 109 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 434 163 t b f; +#X obj 337 60 inlet; +#X obj 426 32 inlet; +#X obj 148 350 outlet; +#X obj 275 89 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 41 163 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 363 172 t b f; +#X obj 334 240 t b f; +#X text 578 211 pass in velocity/note pairs (velocity first) and obtain +as an output the most recent note still active; +#X text 581 268 outlet 2 gate; +#X obj 330 366 outlet; +#X text 583 251 outlet 1 most recent note active (-1 otherwise); +#X text 155 329 most recent note active; +#X msg 338 338 0; +#X msg 378 339 1; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 3 0 19 0; +#X connect 4 0 6 0; +#X connect 4 1 5 1; +#X connect 5 0 7 0; +#X connect 5 0 40 0; +#X connect 6 0 8 0; +#X connect 7 0 29 0; +#X connect 8 0 5 0; +#X connect 8 1 39 0; +#X connect 9 0 22 0; +#X connect 9 0 23 0; +#X connect 10 0 13 0; +#X connect 10 0 24 0; +#X connect 13 0 21 0; +#X connect 15 0 33 0; +#X connect 16 0 15 1; +#X connect 17 0 18 0; +#X connect 18 0 16 0; +#X connect 18 0 17 1; +#X connect 19 0 17 1; +#X connect 20 0 33 0; +#X connect 21 0 22 1; +#X connect 22 0 32 0; +#X connect 23 0 26 0; +#X connect 24 0 25 0; +#X connect 25 0 23 1; +#X connect 26 0 20 0; +#X connect 26 1 14 1; +#X connect 27 0 9 0; +#X connect 28 0 10 0; +#X connect 28 0 30 0; +#X connect 30 0 17 0; +#X connect 31 0 4 0; +#X connect 32 0 15 0; +#X connect 32 1 14 1; +#X connect 33 0 31 0; +#X connect 33 1 14 0; +#X connect 39 0 36 0; +#X connect 40 0 36 0;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/10-Instruments/midi-poly-synth/voice.pd Thu Jun 23 20:40:05 2016 +0100 @@ -0,0 +1,62 @@ +#N canvas 145 23 439 703 10; +#X obj 137 43 r voice-note-\$1; +#X obj 137 65 unpack 0 0; +#X obj 137 131 mtof; +#X obj 149 594 *~; +#X obj 300 515 / 127; +#X obj 149 648 throw~ output; +#X obj 300 567 line~; +#X obj 300 541 pack 0 0; +#X obj 164 284 phasor~; +#X obj 46 284 phasor~; +#X obj 149 352 +~; +#X obj 345 515 r attack; +#X obj 46 218 sig~; +#X obj 46 263 +~; +#X obj 164 306 *~ 2; +#X obj 164 328 -~ 1; +#X obj 46 306 *~ 2; +#X obj 46 328 -~ 1; +#X obj 196 476 r octVol; +#X obj 164 475 osc~; +#X obj 164 497 *~; +#X obj 149 519 +~; +#X obj 149 623 *~ 0.5; +#X obj 164 452 mtof; +#X obj 164 429 - 12; +#X obj 61 241 r~ detune; +#X obj 137 153 t f f; +#X obj 137 87 t f f; +#X obj 164 407 r \$0-midinote; +#X obj 164 109 s \$0-midinote; +#X connect 0 0 1 0; +#X connect 1 0 27 0; +#X connect 1 1 4 0; +#X connect 2 0 26 0; +#X connect 3 0 22 0; +#X connect 4 0 7 0; +#X connect 6 0 3 1; +#X connect 7 0 6 0; +#X connect 8 0 14 0; +#X connect 9 0 16 0; +#X connect 10 0 21 0; +#X connect 11 0 7 1; +#X connect 12 0 13 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 10 1; +#X connect 16 0 17 0; +#X connect 17 0 10 0; +#X connect 18 0 20 1; +#X connect 19 0 20 0; +#X connect 20 0 21 1; +#X connect 21 0 3 0; +#X connect 22 0 5 0; +#X connect 23 0 19 0; +#X connect 24 0 23 0; +#X connect 25 0 13 1; +#X connect 26 0 12 0; +#X connect 26 1 8 0; +#X connect 27 0 2 0; +#X connect 27 1 29 0; +#X connect 28 0 24 0;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/10-Instruments/vangelisiser/_main.pd Thu Jun 23 20:40:05 2016 +0100 @@ -0,0 +1,274 @@ +#N canvas 825 500 1305 1225 10; +#X obj 941 614 s~ _gain; +#X obj 477 523 lop~ 30; +#X obj 941 437 abs~; +#X obj 941 481 clip~ 0 1; +#N canvas 1785 452 296 317 input-controller 0; +#X obj 89 85 abs~; +#X obj 89 157 clip~ 0 10; +#X obj 89 105 lop~ 30; +#X obj 89 65 *~ 150000; +#X obj 89 125 -~ 0.25; +#X obj 46 191 sig~ 1; +#X obj 73 217 /~; +#X obj 89 190 q8_rsqrt~; +#N canvas 1265 891 433 402 accelerometer-integration 0; +#X obj 72 225 rpole~ 1; +#X obj 72 246 hip~ 1; +#X obj 72 155 lop~ 100; +#X obj 132 225 rpole~ 1; +#X obj 132 246 hip~ 1; +#X obj 132 155 lop~ 100; +#X obj 192 225 rpole~ 1; +#X obj 192 246 hip~ 1; +#X obj 192 155 lop~ 100; +#X obj 72 289 *~; +#X obj 132 289 *~; +#X obj 192 289 *~; +#X obj 29 320 sig~ 1; +#X obj 55 345 /~; +#X obj 72 319 q8_rsqrt~; +#X obj 346 176 samplerate~; +#X obj 318 133 loadbang; +#X obj 318 155 t b b; +#X obj 317 175 f 1; +#X obj 317 194 /; +#X obj 316 215 s _invsr; +#X obj 206 177 r _invsr; +#X obj 146 177 r _invsr; +#X obj 86 177 r _invsr; +#X obj 192 197 *~ 0; +#X obj 132 197 *~ 0; +#X obj 72 197 *~ 0; +#X obj 314 349 s~ _zacc; +#X obj 315 272 -~ 0.5; +#X obj 315 294 *~ 4; +#X obj 315 320 clip~ -1 1; +#X obj 55 367 outlet~; +#X text 29 21 Integrate accelerometer data to estimate velocity; +#X text 29 31 =================================================; +#X obj 72 65 receive~ \$0-x; +#X obj 132 95 receive~ \$0-y; +#X obj 192 125 receive~ \$0-z; +#X connect 0 0 1 0; +#X connect 1 0 9 0; +#X connect 1 0 9 1; +#X connect 2 0 26 0; +#X connect 3 0 4 0; +#X connect 4 0 10 0; +#X connect 4 0 10 1; +#X connect 5 0 25 0; +#X connect 6 0 7 0; +#X connect 7 0 11 0; +#X connect 7 0 11 1; +#X connect 8 0 24 0; +#X connect 8 0 28 0; +#X connect 9 0 14 0; +#X connect 10 0 14 0; +#X connect 11 0 14 0; +#X connect 12 0 13 0; +#X connect 13 0 31 0; +#X connect 14 0 13 1; +#X connect 15 0 19 1; +#X connect 16 0 17 0; +#X connect 17 0 18 0; +#X connect 17 1 15 0; +#X connect 18 0 19 0; +#X connect 19 0 20 0; +#X connect 21 0 24 1; +#X connect 22 0 25 1; +#X connect 23 0 26 1; +#X connect 24 0 6 0; +#X connect 25 0 3 0; +#X connect 26 0 0 0; +#X connect 28 0 29 0; +#X connect 29 0 30 0; +#X connect 30 0 27 0; +#X connect 34 0 2 0; +#X connect 35 0 5 0; +#X connect 36 0 8 0; +#X restore 89 30 pd accelerometer-integration; +#X obj 73 256 outlet~; +#X connect 0 0 2 0; +#X connect 1 0 7 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 1 0; +#X connect 5 0 6 0; +#X connect 6 0 9 0; +#X connect 7 0 6 1; +#X connect 8 0 3 0; +#X restore 941 364 pd input-controller; +#X obj 424 1183 dac~; +#X obj 235 250 loadbang; +#X obj 451 995 loadbang; +#X obj 830 938 s~ fmod; +#X obj 830 906 lop~ 20; +#X obj 830 838 sig~ 1; +#X obj 830 860 -~; +#X obj 477 545 *~ 0.75; +#X obj 376 865 *~; +#X obj 961 512 s~ accvel; +#X obj 531 649 r~ accvel; +#X obj 376 1047 e_platereverb; +#X obj 941 459 -~ 0.0025; +#X obj 235 1017 predel 2; +#X obj 257 982 lop~ 20; +#X obj 469 680 -~ 0.25; +#X obj 477 569 -~ 0.75; +#X obj 257 940 *~ 2; +#X obj 257 962 -~ 1; +#X obj 941 558 lop~ 5; +#X msg 451 1017 0; +#X obj 941 406 *~ 0.666; +#X obj 481 802 sig~ 1; +#X obj 481 824 -~; +#X obj 235 864 *~; +#X obj 531 802 clip~ 0 1; +#X obj 531 780 *~ 2; +#X obj 531 758 -~ 0.75; +#X obj 468 732 clip~ 0.3 1; +#X obj 376 1018 predel 5; +#X obj 469 702 *~ 2; +#X obj 941 586 clip~ 0 3; +#X obj 235 614 vangex; +#X obj 376 1109 hv_tanh; +#X obj 486 1109 hv_tanh; +#X obj 477 383 k.ramp~ 0 0.3; +#X obj 468 754 lop~ 5; +#X msg 235 272 33; +#X obj 830 884 *~ 5; +#X obj 235 1048 *~ 2; +#X obj 280 1047 *~ 2; +#X obj 376 1141 *~ 2; +#X obj 486 1140 *~ 2; +#X obj 235 313 + 12; +#X obj 335 312 + 19; +#X obj 285 313 + 16; +#X obj 385 313 + 28; +#X obj 477 441 k.ramp~ 0.6 0.3; +#X obj 477 422 k.ramp~ 0.4 0.3; +#X obj 477 402 k.ramp~ 0.2 0.3; +#X obj 385 614 vangex; +#X obj 335 614 vangex; +#X obj 285 614 vangex; +#X text 1157 1177 @krighxz 2016; +#X text 1044 513 velocity derived from accelerometer; +#X text 612 648 use velocity to control reverb input level; +#X obj 233 174 adc~ 3; +#X obj 233 196 send~ \$0-x; +#X obj 303 174 adc~ 4; +#X obj 373 174 adc~ 5; +#X obj 303 196 send~ \$0-y; +#X obj 373 196 send~ \$0-z; +#X obj 458 352 receive~ \$0-x; +#X obj 477 501 receive~ \$0-z; +#X obj 257 918 receive~ \$0-x; +#X text 70 1016 delay-based panning >>>; +#X obj 895 838 receive~ \$0-z; +#X text 586 500 z axis controls timbre (harmonic ratio); +#X text 568 353 x axis controls gain weightings of voices; +#X text 48 920 x axis controls panning >>>; +#X text 1022 614 <<< velocity controls gain of voices; +#X text 1001 838 <<< z axis modulates frequency of all voices; +#X text 35 16 The 'Vangelisiser'; +#X text 35 26 ==================; +#X text 35 46 This is a synth designed to be controlled using a single +; +#X text 35 59 accelerometer. Inspired by the emotional sounds of Vangelis +; +#X text 35 73 four voices tuned to a chord are controlled using axes +of; +#X text 35 87 the accelerometer as well as overall velocity derived +from; +#X text 35 102 all three axes.; +#X text 35 116 This patch should ideally be compiled using Heavy and +run; +#X text 35 130 at a block size of 64; +#X text 1062 30 ............................; +#X text 1062 40 . ____ ._____ _ .......___ .; +#X text 1062 50 .| __ )| ____| |....../ _ |.; +#X text 1062 70 .| |_) | |___| |___ / ___ |.; +#X text 1062 80 .|____/|_____|_____/_/..._|.io; +#X text 1062 90 ............................; +#X text 1062 60 .| __ || __|.| |...../ _| |.; +#X connect 1 0 12 0; +#X connect 2 0 17 0; +#X connect 3 0 14 0; +#X connect 3 0 24 0; +#X connect 4 0 26 0; +#X connect 6 0 42 0; +#X connect 7 0 25 0; +#X connect 9 0 8 0; +#X connect 10 0 11 0; +#X connect 11 0 43 0; +#X connect 12 0 21 0; +#X connect 13 0 34 0; +#X connect 15 0 20 0; +#X connect 15 0 32 0; +#X connect 16 0 38 0; +#X connect 16 1 39 0; +#X connect 17 0 3 0; +#X connect 18 0 44 0; +#X connect 18 1 45 0; +#X connect 19 0 18 1; +#X connect 19 0 34 1; +#X connect 20 0 35 0; +#X connect 21 0 55 2; +#X connect 21 0 56 2; +#X connect 21 0 57 2; +#X connect 21 0 37 2; +#X connect 22 0 23 0; +#X connect 23 0 19 0; +#X connect 24 0 36 0; +#X connect 25 0 16 2; +#X connect 26 0 2 0; +#X connect 27 0 28 0; +#X connect 28 0 29 1; +#X connect 29 0 18 0; +#X connect 30 0 28 1; +#X connect 31 0 30 0; +#X connect 32 0 31 0; +#X connect 33 0 41 0; +#X connect 34 0 16 0; +#X connect 34 1 16 1; +#X connect 35 0 33 0; +#X connect 36 0 0 0; +#X connect 37 0 13 0; +#X connect 37 0 29 0; +#X connect 38 0 46 0; +#X connect 39 0 47 0; +#X connect 40 0 37 1; +#X connect 41 0 13 1; +#X connect 42 0 48 0; +#X connect 42 0 50 0; +#X connect 42 0 49 0; +#X connect 42 0 51 0; +#X connect 43 0 9 0; +#X connect 44 0 38 0; +#X connect 45 0 39 0; +#X connect 46 0 5 0; +#X connect 47 0 5 1; +#X connect 48 0 37 0; +#X connect 49 0 56 0; +#X connect 50 0 57 0; +#X connect 51 0 55 0; +#X connect 52 0 55 1; +#X connect 53 0 56 1; +#X connect 54 0 57 1; +#X connect 55 0 13 0; +#X connect 55 0 29 0; +#X connect 56 0 13 0; +#X connect 56 0 29 0; +#X connect 57 0 13 0; +#X connect 57 0 29 0; +#X connect 61 0 62 0; +#X connect 63 0 65 0; +#X connect 64 0 66 0; +#X connect 67 0 40 0; +#X connect 67 0 52 0; +#X connect 67 0 53 0; +#X connect 67 0 54 0; +#X connect 68 0 1 0; +#X connect 69 0 22 0; +#X connect 71 0 11 1;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/10-Instruments/vangelisiser/c_xfade.pd Thu Jun 23 20:40:05 2016 +0100 @@ -0,0 +1,23 @@ +#N canvas 0 22 799 322 10; +#X obj 76 87 inlet~; +#X obj 142 87 inlet~; +#X obj 77 198 outlet~; +#X obj 201 87 inlet; +#X obj 141 136 -~; +#X obj 141 156 *~; +#X text 371 150 (1-x)*a + x*b; +#X text 371 167 = a - x*a + x*b; +#X text 371 184 = a + x*(b - a); +#X text 366 119 x: fade factor (0-1); +#X text 366 90 a: sig from inlet~ 0; +#X text 339 50 Linear crossfade according to the following calculation: +; +#X text 367 104 b: sig from inlet~ 1; +#X obj 201 127 line; +#X connect 0 0 4 1; +#X connect 0 0 2 0; +#X connect 1 0 4 0; +#X connect 3 0 13 0; +#X connect 4 0 5 0; +#X connect 5 0 2 0; +#X connect 13 0 5 1;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/10-Instruments/vangelisiser/cheap-reverb.pd Thu Jun 23 20:40:05 2016 +0100 @@ -0,0 +1,82 @@ +#N canvas 0 22 973 666 10; +#X obj 297 35 inlet~; +#X obj 297 235 +~; +#X obj 339 235 +~; +#X obj 87 296 outlet~; +#X obj 157 296 outlet~; +#X obj 258 354 +~; +#X obj 367 355 +~; +#X obj 300 354 -~; +#X obj 407 354 -~; +#X obj 257 410 +~; +#X obj 301 411 +~; +#X obj 345 412 -~; +#X obj 384 412 -~; +#X obj 344 494 *~ 0; +#X obj 302 493 *~ 0; +#X obj 257 492 *~ 0; +#X obj 385 495 *~ 0; +#X obj 652 385 inlet; +#X obj 652 457 / 200; +#X obj 652 409 min 100; +#X obj 652 432 max 0; +#X obj 258 603 delwrite~ loop-del1 60; +#X obj 303 581 delwrite~ loop-del2 71.9345; +#X obj 384 535 delwrite~ loop-del4 95.945; +#X obj 318 174 delread~ loop-del1 60; +#X obj 360 199 delread~ loop-del2 71.9345; +#X obj 428 253 delread~ loop-del4 95.945; +#X obj 406 228 delread~ loop-del3 86.7545; +#X obj 345 558 delwrite~ loop-del3 86.7545; +#X text 306 62 "early echo" generators \, which also increase echo +density. Open one to see what they do.; +#X text 320 135 Get the outputs of the recirculating delays. Add the +inputs to two of them.; +#X text 440 333 Do a power-conserving mix of them in pairs. First combine +(1 \, 2) and (3 \, 4)...; +#X text 422 405 ...then (1 \, 3) and (2 \, 4); +#X text 466 489 The two mixing stages have a combined gain of 2 \, +so the recirculation gain is limited to 0.5.; +#X text 606 562 Put the signals back into the; +#X text 604 577 recirculating delays.; +#X text 49 316 Tap outputs from here.; +#X text 728 401 0 to 100 to control reverb; +#X text 739 416 time.; +#X text 711 384 feedback gain on a scale of; +#X connect 0 0 1 0; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 1 0 5 0; +#X connect 1 0 7 0; +#X connect 2 0 4 0; +#X connect 2 0 5 1; +#X connect 2 0 7 1; +#X connect 5 0 9 0; +#X connect 5 0 11 0; +#X connect 6 0 11 1; +#X connect 6 0 9 1; +#X connect 7 0 10 0; +#X connect 7 0 12 0; +#X connect 8 0 10 1; +#X connect 8 0 12 1; +#X connect 9 0 15 0; +#X connect 10 0 14 0; +#X connect 11 0 13 0; +#X connect 12 0 16 0; +#X connect 13 0 28 0; +#X connect 14 0 22 0; +#X connect 15 0 21 0; +#X connect 16 0 23 0; +#X connect 17 0 19 0; +#X connect 18 0 16 1; +#X connect 18 0 15 1; +#X connect 18 0 14 1; +#X connect 18 0 13 1; +#X connect 19 0 20 0; +#X connect 20 0 18 0; +#X connect 24 0 1 1; +#X connect 25 0 2 1; +#X connect 26 0 6 1; +#X connect 26 0 8 1; +#X connect 27 0 6 0; +#X connect 27 0 8 0;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/10-Instruments/vangelisiser/e_platereverb.pd Thu Jun 23 20:40:05 2016 +0100 @@ -0,0 +1,817 @@ +#N canvas 115 309 823 465 10; +#X obj 24 32 inlet~; +#X obj 23 380 outlet~; +#X obj 118 380 outlet~; +#N canvas 0 166 634 506 input_diffusion 0; +#X obj 30 60 inlet~; +#X obj 29 295 outlet~; +#X obj 337 79 r \$0-input_diffusion1; +#X obj 336 170 r \$0-input_diffusion2; +#N canvas 393 22 574 578 allpass 0; +#X obj 56 127 inlet~; +#X obj 56 400 +~; +#X obj 427 232 loadbang; +#X obj 417 286 t f f; +#X obj 417 310 *; +#X obj 253 364 *~; +#X obj 232 394 +~; +#X obj 114 177 * -1; +#X obj 88 207 *~; +#X obj 232 426 outlet~; +#X obj 417 129 inlet; +#X obj 114 117 loadbang; +#X obj 75 365 *~ -1; +#X obj 201 364 *~ -1; +#X obj 114 149 f 0.75; +#X obj 417 262 f 0.75; +#X obj 56 491 delwrite~ \$0-tap_13_14 200; +#X obj 252 262 *~ 0.75; +#X obj 252 53 delread~ \$0-tap_13_14 4.77134; +#X obj 417 336 swap 1; +#X obj 417 360 -; +#X connect 0 0 1 0; +#X connect 0 0 8 0; +#X connect 1 0 16 0; +#X connect 2 0 15 0; +#X connect 3 0 4 0; +#X connect 3 1 4 1; +#X connect 4 0 19 0; +#X connect 5 0 6 1; +#X connect 6 0 9 0; +#X connect 7 0 8 1; +#X connect 8 0 13 0; +#X connect 10 0 14 0; +#X connect 10 0 15 0; +#X connect 10 0 17 1; +#X connect 11 0 14 0; +#X connect 12 0 1 1; +#X connect 13 0 6 0; +#X connect 14 0 7 0; +#X connect 15 0 3 0; +#X connect 17 0 5 0; +#X connect 17 0 12 0; +#X connect 18 0 17 0; +#X connect 19 0 20 0; +#X connect 19 1 20 1; +#X connect 20 0 5 1; +#X restore 30 99 pd allpass tap_13_14; +#N canvas 314 22 579 582 allpass 0; +#X obj 56 127 inlet~; +#X obj 56 400 +~; +#X obj 427 232 loadbang; +#X obj 417 286 t f f; +#X obj 417 310 *; +#X obj 253 364 *~; +#X obj 232 394 +~; +#X obj 114 177 * -1; +#X obj 88 207 *~; +#X obj 232 426 outlet~; +#X obj 417 129 inlet; +#X obj 114 117 loadbang; +#X obj 75 365 *~ -1; +#X obj 201 364 *~ -1; +#X obj 114 149 f 0.75; +#X obj 417 262 f 0.75; +#X obj 252 262 *~ 0.75; +#X obj 56 491 delwrite~ \$0-tap_19_20 200; +#X obj 252 53 delread~ \$0-tap_19_20 3.5953; +#X obj 417 336 swap 1; +#X obj 417 360 -; +#X connect 0 0 1 0; +#X connect 0 0 8 0; +#X connect 1 0 17 0; +#X connect 2 0 15 0; +#X connect 3 0 4 0; +#X connect 3 1 4 1; +#X connect 4 0 19 0; +#X connect 5 0 6 1; +#X connect 6 0 9 0; +#X connect 7 0 8 1; +#X connect 8 0 13 0; +#X connect 10 0 14 0; +#X connect 10 0 15 0; +#X connect 10 0 16 1; +#X connect 11 0 14 0; +#X connect 12 0 1 1; +#X connect 13 0 6 0; +#X connect 14 0 7 0; +#X connect 15 0 3 0; +#X connect 16 0 5 0; +#X connect 16 0 12 0; +#X connect 18 0 16 0; +#X connect 19 0 20 0; +#X connect 19 1 20 1; +#X connect 20 0 5 1; +#X restore 30 135 pd allpass tap_19_20; +#N canvas 238 22 570 590 allpass 0; +#X obj 56 127 inlet~; +#X obj 56 400 +~; +#X obj 427 232 loadbang; +#X obj 417 286 t f f; +#X obj 417 310 *; +#X obj 253 364 *~; +#X obj 232 394 +~; +#X obj 114 177 * -1; +#X obj 88 207 *~; +#X obj 232 426 outlet~; +#X obj 417 129 inlet; +#X obj 114 117 loadbang; +#X obj 75 365 *~ -1; +#X obj 201 364 *~ -1; +#X obj 114 149 f 0.625; +#X obj 252 262 *~ 0.625; +#X obj 417 262 f 0.625; +#X obj 56 491 delwrite~ \$0-tap_15_16 200; +#X obj 252 53 delread~ \$0-tap_15_16 12.7348; +#X obj 417 336 swap 1; +#X obj 417 360 -; +#X connect 0 0 1 0; +#X connect 0 0 8 0; +#X connect 1 0 17 0; +#X connect 2 0 16 0; +#X connect 3 0 4 0; +#X connect 3 1 4 1; +#X connect 4 0 19 0; +#X connect 5 0 6 1; +#X connect 6 0 9 0; +#X connect 7 0 8 1; +#X connect 8 0 13 0; +#X connect 10 0 14 0; +#X connect 10 0 15 1; +#X connect 10 0 16 0; +#X connect 11 0 14 0; +#X connect 12 0 1 1; +#X connect 13 0 6 0; +#X connect 14 0 7 0; +#X connect 15 0 5 0; +#X connect 15 0 12 0; +#X connect 16 0 3 0; +#X connect 18 0 15 0; +#X connect 19 0 20 0; +#X connect 19 1 20 1; +#X connect 20 0 5 1; +#X restore 30 190 pd allpass tap_15_16; +#N canvas 238 22 566 586 allpass 0; +#X obj 56 127 inlet~; +#X obj 56 400 +~; +#X obj 427 232 loadbang; +#X obj 417 286 t f f; +#X obj 417 310 *; +#X obj 253 364 *~; +#X obj 232 394 +~; +#X obj 114 177 * -1; +#X obj 88 207 *~; +#X obj 232 426 outlet~; +#X obj 417 129 inlet; +#X obj 114 117 loadbang; +#X obj 75 365 *~ -1; +#X obj 201 364 *~ -1; +#X obj 114 149 f 0.625; +#X obj 252 262 *~ 0.625; +#X obj 417 262 f 0.625; +#X obj 56 491 delwrite~ \$0-tap_21_22 200; +#X obj 252 53 delread~ \$0-tap_21_22 9.30748; +#X obj 417 336 swap 1; +#X obj 417 360 -; +#X connect 0 0 1 0; +#X connect 0 0 8 0; +#X connect 1 0 17 0; +#X connect 2 0 16 0; +#X connect 3 0 4 0; +#X connect 3 1 4 1; +#X connect 4 0 19 0; +#X connect 5 0 6 1; +#X connect 6 0 9 0; +#X connect 7 0 8 1; +#X connect 8 0 13 0; +#X connect 10 0 14 0; +#X connect 10 0 15 1; +#X connect 10 0 16 0; +#X connect 11 0 14 0; +#X connect 12 0 1 1; +#X connect 13 0 6 0; +#X connect 14 0 7 0; +#X connect 15 0 5 0; +#X connect 15 0 12 0; +#X connect 16 0 3 0; +#X connect 18 0 15 0; +#X connect 19 0 20 0; +#X connect 19 1 20 1; +#X connect 20 0 5 1; +#X restore 30 230 pd allpass tap_21_22; +#X connect 0 0 4 0; +#X connect 2 0 4 1; +#X connect 2 0 5 1; +#X connect 3 0 6 1; +#X connect 3 0 7 1; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 7 0 1 0; +#X restore 25 208 pd input_diffusion; +#N canvas 38 72 501 476 reverberation_tank 0; +#X obj 168 85 inlet~; +#X obj 43 120 +~; +#X obj 255 121 +~; +#N canvas 0 22 458 308 z^-4217 0; +#X obj 106 55 inlet~; +#X obj 105 120 delwrite~ \$0-tap_48_54 141.695; +#X text 358 135 4217; +#X obj 105 147 delread~ \$0-tap_48_54 141.695; +#X obj 106 223 outlet~; +#X connect 0 0 1 0; +#X connect 3 0 4 0; +#X restore 255 190 pd z^-4217; +#N canvas 0 22 458 308 z^-4453 0; +#X obj 41 104 delwrite~ \$0-tap_24_30 149.625; +#X obj 42 128 delread~ \$0-tap_24_30 149.625; +#X text 287 119 4453; +#X obj 43 60 inlet~; +#X obj 43 168 outlet~; +#X connect 1 0 4 0; +#X connect 3 0 0 0; +#X restore 43 192 pd z^-4453; +#N canvas 0 22 466 316 damping 0; +#X obj 74 53 inlet~; +#X obj 70 222 outlet~; +#X obj 73 137 lop~ 22050; +#X obj 162 137 r \$0-damping; +#X obj 162 159 * 48000; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 4 0 2 1; +#X restore 44 221 pd damping; +#N canvas 0 22 470 320 damping 0; +#X obj 74 53 inlet~; +#X obj 70 222 outlet~; +#X obj 73 137 lop~ 22050; +#X obj 162 137 r \$0-damping; +#X obj 162 159 * 48000; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 4 0 2 1; +#X restore 256 221 pd damping; +#N canvas 0 22 470 320 decay 0; +#X obj 71 66 inlet~; +#X obj 71 220 outlet~; +#X obj 140 139 r \$0-decay; +#X obj 70 140 *~ 0.5; +#X connect 0 0 3 0; +#X connect 2 0 3 1; +#X connect 3 0 1 0; +#X restore 43 249 pd decay; +#N canvas 0 22 470 320 decay 0; +#X obj 71 66 inlet~; +#X obj 71 220 outlet~; +#X obj 140 139 r \$0-decay; +#X obj 70 140 *~ 0.5; +#X connect 0 0 3 0; +#X connect 2 0 3 1; +#X connect 3 0 1 0; +#X restore 257 250 pd decay; +#N canvas 0 22 466 316 decay 0; +#X obj 71 66 inlet~; +#X obj 71 220 outlet~; +#X obj 140 139 r \$0-decay; +#X obj 70 140 *~ 0.5; +#X connect 0 0 3 0; +#X connect 2 0 3 1; +#X connect 3 0 1 0; +#X restore 43 87 pd decay; +#N canvas 0 22 466 316 decay 0; +#X obj 71 66 inlet~; +#X obj 71 220 outlet~; +#X obj 140 139 r \$0-decay; +#X obj 70 140 *~ 0.5; +#X connect 0 0 3 0; +#X connect 2 0 3 1; +#X connect 3 0 1 0; +#X restore 273 85 pd decay; +#N canvas 0 22 498 348 decay_diffusion1 0; +#N canvas 232 298 494 344 excursion 0; +#X obj 64 192 outlet~; +#X obj 62 90 osc~ 1; +#X obj 63 143 *~ 0.53761; +#X obj 130 109 r \$0-excursion; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 3 0 2 1; +#X restore 133 120 pd excursion; +#X obj 43 32 inlet~; +#X obj 44 250 outlet~; +#X obj 88 84 r \$0-decay_diffusion1; +#N canvas 409 74 612 523 allpassvd 0; +#X obj 48 83 inlet~; +#X obj 48 296 +~; +#X obj 285 142 loadbang; +#X obj 285 196 t f f; +#X obj 285 220 *; +#X obj 229 277 *~; +#X obj 216 300 +~; +#X obj 94 138 * -1; +#X obj 80 163 *~; +#X obj 217 401 outlet~; +#X obj 392 30 inlet~; +#X obj 447 56 sig~; +#X obj 447 10 loadbang; +#X obj 390 78 +~; +#X obj 255 45 inlet; +#X obj 94 60 loadbang; +#X text 9 6 arguments: delay(ms) feedback(mult); +#X text 10 20 inlets: signal feedback(mult) excursion; +#X obj 94 114 f 0.7; +#X obj 230 152 *~ 0.7; +#X obj 285 172 f 0.7; +#X obj 391 404 +~; +#X text 372 428 excursion; +#X obj 48 327 delwrite~ \$0-tap_23_24 100; +#X obj 283 101 vd~ \$0-tap_23_24; +#X obj 447 33 f 22.5599; +#X obj 285 244 swap 1; +#X obj 285 268 -; +#X connect 0 0 1 0; +#X connect 0 0 8 0; +#X connect 1 0 23 0; +#X connect 2 0 20 0; +#X connect 3 0 4 0; +#X connect 3 1 4 1; +#X connect 4 0 26 0; +#X connect 5 0 6 1; +#X connect 6 0 9 0; +#X connect 7 0 8 1; +#X connect 8 0 6 0; +#X connect 10 0 13 0; +#X connect 11 0 13 1; +#X connect 12 0 25 0; +#X connect 13 0 21 0; +#X connect 13 0 24 0; +#X connect 14 0 18 0; +#X connect 14 0 19 1; +#X connect 14 0 20 0; +#X connect 15 0 18 0; +#X connect 18 0 7 0; +#X connect 19 0 1 1; +#X connect 19 0 5 0; +#X connect 20 0 3 0; +#X connect 24 0 19 0; +#X connect 25 0 11 0; +#X connect 26 0 27 0; +#X connect 26 1 27 1; +#X connect 27 0 5 1; +#X restore 43 150 pd allpassvd; +#X connect 0 0 4 2; +#X connect 1 0 4 0; +#X connect 3 0 4 1; +#X connect 4 0 2 0; +#X restore 44 156 pd decay_diffusion1; +#N canvas 0 22 529 394 decay_diffusion1 0; +#N canvas 232 298 482 332 excursion 0; +#X obj 65 192 outlet~; +#X obj 63 81 osc~ 1; +#X obj 64 134 *~ 0.53761; +#X obj 139 104 r \$0-excursion; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 3 0 2 1; +#X restore 138 92 pd excursion; +#X obj 49 25 inlet~; +#X obj 49 200 outlet~; +#X obj 93 60 r \$0-decay_diffusion1; +#N canvas 348 52 608 519 allpassvd 0; +#X obj 48 83 inlet~; +#X obj 48 296 +~; +#X obj 285 142 loadbang; +#X obj 285 196 t f f; +#X obj 285 220 *; +#X obj 229 277 *~; +#X obj 216 300 +~; +#X obj 94 138 * -1; +#X obj 80 163 *~; +#X obj 217 401 outlet~; +#X obj 392 30 inlet~; +#X obj 447 56 sig~; +#X obj 447 10 loadbang; +#X obj 390 78 +~; +#X obj 255 45 inlet; +#X obj 94 60 loadbang; +#X text 9 6 arguments: delay(ms) feedback(mult); +#X text 10 20 inlets: signal feedback(mult) excursion; +#X obj 48 327 delwrite~ \$0-tap_46_48 100; +#X obj 283 101 vd~ \$0-tap_46_48; +#X obj 447 33 f 30.5097; +#X obj 94 114 f 0.7; +#X obj 230 152 *~ 0.7; +#X obj 285 172 f 0.7; +#X obj 391 404 +~; +#X text 372 428 excursion; +#X obj 285 244 swap 1; +#X obj 285 268 -; +#X connect 0 0 1 0; +#X connect 0 0 8 0; +#X connect 1 0 18 0; +#X connect 2 0 23 0; +#X connect 3 0 4 0; +#X connect 3 1 4 1; +#X connect 4 0 26 0; +#X connect 5 0 6 1; +#X connect 6 0 9 0; +#X connect 7 0 8 1; +#X connect 8 0 6 0; +#X connect 10 0 13 0; +#X connect 11 0 13 1; +#X connect 12 0 20 0; +#X connect 13 0 19 0; +#X connect 13 0 24 0; +#X connect 14 0 21 0; +#X connect 14 0 22 1; +#X connect 14 0 23 0; +#X connect 15 0 21 0; +#X connect 19 0 22 0; +#X connect 20 0 11 0; +#X connect 21 0 7 0; +#X connect 22 0 1 1; +#X connect 22 0 5 0; +#X connect 23 0 3 0; +#X connect 26 0 27 0; +#X connect 26 1 27 1; +#X connect 27 0 5 1; +#X restore 48 135 pd allpassvd; +#X connect 0 0 4 2; +#X connect 1 0 4 0; +#X connect 3 0 4 1; +#X connect 4 0 2 0; +#X restore 256 155 pd decay_diffusion1; +#N canvas 327 329 552 336 decay_diffusion2 0; +#X obj 37 63 inlet~; +#X obj 37 220 outlet~; +#N canvas 393 22 582 586 allpass 0; +#X obj 56 127 inlet~; +#X obj 56 400 +~; +#X obj 427 232 loadbang; +#X obj 417 286 t f f; +#X obj 417 310 *; +#X obj 253 364 *~; +#X obj 232 394 +~; +#X obj 114 177 * -1; +#X obj 88 207 *~; +#X obj 232 426 outlet~; +#X obj 417 129 inlet; +#X obj 114 117 loadbang; +#X obj 75 365 *~ -1; +#X obj 201 364 *~ -1; +#X obj 252 52 delread~ \$0-tap_31_33 60.4818; +#X obj 56 491 delwrite~ \$0-tap_31_33 200; +#X obj 114 149 f 0.5; +#X obj 252 262 *~ 0.5; +#X obj 417 262 f 0.5; +#X obj 417 334 swap 1; +#X obj 417 358 -; +#X connect 0 0 1 0; +#X connect 0 0 8 0; +#X connect 1 0 15 0; +#X connect 2 0 18 0; +#X connect 3 0 4 0; +#X connect 3 1 4 1; +#X connect 4 0 19 0; +#X connect 5 0 6 1; +#X connect 6 0 9 0; +#X connect 7 0 8 1; +#X connect 8 0 13 0; +#X connect 10 0 16 0; +#X connect 10 0 17 1; +#X connect 10 0 18 0; +#X connect 11 0 16 0; +#X connect 12 0 1 1; +#X connect 13 0 6 0; +#X connect 14 0 17 0; +#X connect 16 0 7 0; +#X connect 17 0 5 0; +#X connect 17 0 12 0; +#X connect 18 0 3 0; +#X connect 19 0 20 0; +#X connect 19 1 20 1; +#X connect 20 0 5 1; +#X restore 36 143 pd allpass tap_31_33; +#X obj 191 114 r \$0-decay_diffusion2; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 2 1; +#X restore 43 277 pd decay_diffusion2; +#N canvas 0 22 553 336 decay_diffusion2 0; +#X obj 52 38 inlet~; +#X obj 54 171 outlet~; +#X obj 210 85 r \$0-decay_diffusion2; +#N canvas 393 22 586 590 allpass 0; +#X obj 56 127 inlet~; +#X obj 56 400 +~; +#X obj 427 232 loadbang; +#X obj 417 286 t f f; +#X obj 417 310 *; +#X obj 253 364 *~; +#X obj 232 394 +~; +#X obj 114 177 * -1; +#X obj 88 207 *~; +#X obj 232 426 outlet~; +#X obj 417 129 inlet; +#X obj 114 117 loadbang; +#X obj 75 365 *~ -1; +#X obj 201 364 *~ -1; +#X obj 114 149 f 0.5; +#X obj 252 262 *~ 0.5; +#X obj 417 262 f 0.5; +#X obj 56 491 delwrite~ \$0-tap_55_59 200; +#X obj 252 52 delread~ \$0-tap_55_59 89.2443; +#X obj 417 334 swap 1; +#X obj 417 358 -; +#X connect 0 0 1 0; +#X connect 0 0 8 0; +#X connect 1 0 17 0; +#X connect 2 0 16 0; +#X connect 3 0 4 0; +#X connect 3 1 4 1; +#X connect 4 0 19 0; +#X connect 5 0 6 1; +#X connect 6 0 9 0; +#X connect 7 0 8 1; +#X connect 8 0 13 0; +#X connect 10 0 14 0; +#X connect 10 0 15 1; +#X connect 10 0 16 0; +#X connect 11 0 14 0; +#X connect 12 0 1 1; +#X connect 13 0 6 0; +#X connect 14 0 7 0; +#X connect 15 0 5 0; +#X connect 15 0 12 0; +#X connect 16 0 3 0; +#X connect 18 0 15 0; +#X connect 19 0 20 0; +#X connect 19 1 20 1; +#X connect 20 0 5 1; +#X restore 55 114 pd allpass tap_55_59; +#X connect 0 0 3 0; +#X connect 2 0 3 1; +#X connect 3 0 1 0; +#X restore 256 278 pd decay_diffusion2; +#N canvas 0 22 454 304 feedback 0; +#X obj 43 118 outlet~; +#X obj 44 55 delread~ \$0-tap_59_63 106.28; +#X connect 1 0 0 0; +#X restore 43 49 pd feedback; +#N canvas 0 22 454 304 feedback 0; +#X obj 81 188 outlet~; +#X obj 81 134 delread~ \$0-tap_33_39 124.996; +#X connect 1 0 0 0; +#X restore 274 51 pd feedback; +#N canvas 0 22 458 308 to_left 0; +#X obj 48 52 inlet~; +#X obj 48 95 delwrite~ \$0-tap_59_63 106.28; +#X connect 0 0 1 0; +#X restore 255 306 pd to_left; +#N canvas 0 22 454 304 to_right 0; +#X obj 53 173 delwrite~ \$0-tap_33_39 124.996; +#X obj 56 100 inlet~; +#X connect 1 0 0 0; +#X restore 44 305 pd to_right; +#X text 344 190 48_54; +#X text 136 193 24_30; +#X obj 170 357 outlet~; +#X text 242 358 dummy; +#X connect 0 0 1 1; +#X connect 0 0 2 0; +#X connect 1 0 11 0; +#X connect 2 0 12 0; +#X connect 3 0 6 0; +#X connect 4 0 5 0; +#X connect 5 0 7 0; +#X connect 6 0 8 0; +#X connect 7 0 13 0; +#X connect 8 0 14 0; +#X connect 9 0 1 0; +#X connect 10 0 2 1; +#X connect 11 0 4 0; +#X connect 12 0 3 0; +#X connect 13 0 18 0; +#X connect 14 0 17 0; +#X connect 15 0 9 0; +#X connect 16 0 10 0; +#X restore 25 238 pd reverberation_tank; +#N canvas 58 172 593 487 predelay 0; +#X obj 97 19 inlet~; +#X obj 97 317 outlet~; +#X obj 393 56 sel 0; +#X obj 96 209 *~ 1; +#X obj 110 178 f 1; +#X obj 140 179 f 0; +#X obj 428 106 t a b; +#X obj 377 222 *~ 1; +#X obj 402 191 f 0; +#X obj 433 191 f 1; +#X text 17 210 no delay; +#X text 237 212 delay; +#N canvas 294 159 273 227 predelay 0; +#X obj 35 52 inlet~; +#X obj 94 54 inlet; +#N canvas 345 153 450 300 dw 0; +#X obj 35 52 inlet~; +#X obj 35 101 delwrite~ \$0-predelay 1000; +#X obj 34 140 outlet~; +#X connect 0 0 1 0; +#X restore 34 84 pd dw; +#N canvas 326 259 416 179 dr 0; +#X obj 126 29 inlet; +#X obj 49 28 inlet~; +#X obj 126 65 delread~ \$0-predelay 1; +#X obj 126 88 outlet~; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X restore 33 116 pd dr; +#X obj 33 138 outlet~; +#X connect 0 0 2 0; +#X connect 1 0 3 1; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X restore 297 190 pd predelay; +#X obj 393 25 r \$0-predelay; +#X connect 0 0 3 0; +#X connect 0 0 12 0; +#X connect 2 0 4 0; +#X connect 2 0 8 0; +#X connect 2 1 6 0; +#X connect 3 0 1 0; +#X connect 4 0 3 1; +#X connect 5 0 3 1; +#X connect 6 0 12 1; +#X connect 6 1 5 0; +#X connect 6 1 9 0; +#X connect 7 0 1 0; +#X connect 8 0 7 1; +#X connect 9 0 7 1; +#X connect 12 0 7 0; +#X connect 13 0 2 0; +#X restore 25 145 pd predelay; +#X obj 85 32 inlet~; +#N canvas 0 22 458 308 bandwidth 0; +#X obj 66 22 inlet~; +#X obj 65 183 outlet~; +#X obj 65 107 lop~; +#X obj 92 44 r \$0-bandwidth; +#X obj 92 66 * 48000; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 4 0 2 1; +#X restore 25 177 pd bandwidth; +#N canvas 0 22 458 308 1/2 0; +#X obj 102 56 inlet~; +#X obj 182 56 inlet~; +#X obj 103 138 *~ 0.5; +#X obj 103 102 +~; +#X obj 103 175 outlet~; +#X connect 0 0 3 0; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X restore 25 112 pd 1/2; +#N canvas 120 111 856 498 output_taps 0; +#X obj 28 409 outlet~; +#X obj 30 267 -~; +#X obj 31 109 +~; +#X obj 30 215 +~; +#X obj 29 369 -~; +#X text 30 26 left; +#X obj 32 55 delread~ \$0-tap_48_54 8.93787; +#X obj 51 82 delread~ \$0-tap_48_54 99.9294; +#X obj 50 134 delread~ \$0-tap_55_59 64.2787; +#X obj 31 163 -~; +#X obj 49 188 delread~ \$0-tap_59_63 67.0676; +#X obj 50 240 delread~ \$0-tap_24_30 66.866; +#X obj 50 293 delread~ \$0-tap_31_33 6.28339; +#X obj 30 317 -~; +#X obj 49 342 delread~ \$0-tap_33_39 35.8187; +#X obj 371 407 outlet~; +#X obj 370 105 +~; +#X obj 371 261 -~; +#X obj 370 208 +~; +#X obj 371 365 -~; +#X text 370 20 right; +#X obj 371 51 delread~ \$0-tap_24_30 11.8612; +#X obj 390 78 delread~ \$0-tap_24_30 121.871; +#X obj 390 130 delread~ \$0-tap_31_33 41.2621; +#X obj 390 181 delread~ \$0-tap_33_39 89.8155; +#X obj 391 234 delread~ \$0-tap_48_54 70.9317; +#X obj 372 313 -~; +#X obj 392 286 delread~ \$0-tap_55_59 11.2563; +#X obj 390 338 delread~ \$0-tap_59_63 4.06572; +#X obj 370 154 -~; +#X obj 161 15 inlet~; +#X text 222 15 dummy; +#X connect 1 0 13 0; +#X connect 2 0 9 0; +#X connect 3 0 1 0; +#X connect 4 0 0 0; +#X connect 6 0 2 0; +#X connect 7 0 2 1; +#X connect 8 0 9 1; +#X connect 9 0 3 0; +#X connect 10 0 3 1; +#X connect 11 0 1 1; +#X connect 12 0 13 1; +#X connect 13 0 4 0; +#X connect 14 0 4 1; +#X connect 16 0 29 0; +#X connect 17 0 26 0; +#X connect 18 0 17 0; +#X connect 19 0 15 0; +#X connect 21 0 16 0; +#X connect 22 0 16 1; +#X connect 23 0 29 1; +#X connect 24 0 18 1; +#X connect 25 0 17 1; +#X connect 26 0 19 0; +#X connect 27 0 26 1; +#X connect 28 0 19 1; +#X connect 29 0 18 0; +#X restore 24 268 pd output_taps; +#N canvas 228 198 627 317 LICENSE-BSD 0; +#X text 121 56 This software is copyrighted by Miller Puckette \, Reality +Jockey Ltd. and others. The terms (the "Standard Improved BSD License") +apply to all files associated with the software unless explicitly disclaimed +in individual files.; +#X text 123 148 See the file LICENSE.txt for the full license text. +; +#X restore 373 40 pd LICENSE-BSD; +#X msg 164 290 \$1 10; +#X obj 187 137 inlet dry; +#X obj 286 192 s \$0-predelay; +#X msg 286 170 0; +#X obj 431 192 s \$0-bandwidth; +#X obj 431 242 s \$0-damping; +#X obj 286 242 s \$0-decay; +#X obj 286 292 s \$0-input_diffusion1; +#X msg 286 270 0.75; +#X msg 431 271 0.7; +#X obj 431 292 s \$0-decay_diffusion1; +#X obj 431 342 s \$0-decay_diffusion2; +#X obj 286 342 s \$0-input_diffusion2; +#X msg 286 320 0.625; +#X obj 286 392 s \$0-excursion; +#X obj 286 142 t b; +#X obj 281 87 loadbang; +#X obj 281 109 del 2000; +#X obj 367 83 r tick; +#X obj 367 105 mod 100; +#X obj 367 127 sel 0; +#X msg 431 171 10000; +#X msg 286 370 0; +#X msg 431 321 0.84; +#X obj 23 347 c_xfade; +#X obj 118 349 c_xfade; +#X floatatom 542 219 5 0 0 0 - - -, f 5; +#X floatatom 543 272 5 0 0 0 - - -, f 5; +#X msg 286 220 0.8; +#X msg 431 221 3000; +#X connect 0 0 8 0; +#X connect 0 0 35 1; +#X connect 3 0 4 0; +#X connect 4 0 9 0; +#X connect 5 0 7 0; +#X connect 6 0 8 1; +#X connect 6 0 36 1; +#X connect 7 0 3 0; +#X connect 8 0 5 0; +#X connect 9 0 35 0; +#X connect 9 1 36 0; +#X connect 11 0 35 2; +#X connect 11 0 36 2; +#X connect 12 0 11 0; +#X connect 12 0 26 0; +#X connect 14 0 13 0; +#X connect 19 0 18 0; +#X connect 20 0 21 0; +#X connect 24 0 23 0; +#X connect 26 0 14 0; +#X connect 26 0 32 0; +#X connect 26 0 39 0; +#X connect 26 0 40 0; +#X connect 26 0 19 0; +#X connect 26 0 20 0; +#X connect 26 0 34 0; +#X connect 26 0 24 0; +#X connect 26 0 33 0; +#X connect 27 0 28 0; +#X connect 28 0 26 0; +#X connect 29 0 30 0; +#X connect 30 0 31 0; +#X connect 31 0 26 0; +#X connect 32 0 15 0; +#X connect 33 0 25 0; +#X connect 34 0 22 0; +#X connect 35 0 1 0; +#X connect 36 0 2 0; +#X connect 37 0 16 0; +#X connect 38 0 17 0; +#X connect 39 0 17 0; +#X connect 40 0 16 0;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/10-Instruments/vangelisiser/hv_gte~.pd Thu Jun 23 20:40:05 2016 +0100 @@ -0,0 +1,34 @@ +#N canvas 855 553 292 175 10; +#X obj 150 34 inlet~; +#X obj 45 34 inlet~; +#X obj 45 129 outlet~; +#N canvas 467 216 450 300 @hv_obj 0; +#X obj 217 60 inlet~; +#X obj 120 60 inlet~; +#X obj 170 183 outlet~; +#X connect 1 0 2 0; +#X restore 45 105 pd @hv_obj __and~f; +#X obj 150 83 sig~ 1; +#N canvas 249 541 148 189 @hv_obj 1; +#X obj 23 69 -~; +#X obj 23 94 clip~ -1e-37 0; +#X obj 23 18 inlet~; +#X obj 67 19 inlet~; +#X obj 23 159 outlet~; +#X obj 23 136 *~ 1e+37; +#X obj 23 44 min~; +#X obj 23 115 +~ 1e-37; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 3 0 0 1; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 5 0; +#X restore 45 57 pd @hv_obj __gte~f; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/10-Instruments/vangelisiser/hv_tanh.pd Thu Jun 23 20:40:05 2016 +0100 @@ -0,0 +1,49 @@ +#N canvas 229 24 862 575 10; +#X obj 81 124 inlet~; +#X text 293 426 __; +#X text 375 426 __; +#X text 327 426 __; +#X text 426 426 __; +#X text 293 443 1 +; +#X text 329 443 3 +; +#X text 377 443 5 +; +#X text 427 443 7 +; +#X text 243 369 As a continued fraction; +#X obj 96 211 *~; +#X obj 81 322 /~; +#X obj 81 412 /~; +#X obj 81 352 /~; +#X obj 81 382 /~; +#X text 227 415 tanh(z) = z z^2 4z^2 9z^2 ...; +#X obj 148 238 *~ 4; +#X obj 147 269 +~ 3; +#X obj 191 237 *~ 9; +#X obj 190 268 +~ 5; +#X obj 231 238 *~ 16; +#X obj 230 268 +~ 7; +#X obj 96 269 +~ 1; +#X obj 81 472 outlet~; +#X obj 81 442 *~ 576; +#X obj 81 154 *~ 0.308319; +#X text 159 155 1/pi; +#X text 285 476 via Andy Farnell 2009; +#X connect 0 0 25 0; +#X connect 10 0 16 0; +#X connect 10 0 18 0; +#X connect 10 0 20 0; +#X connect 10 0 22 0; +#X connect 11 0 13 0; +#X connect 12 0 24 0; +#X connect 13 0 14 0; +#X connect 14 0 12 0; +#X connect 16 0 17 0; +#X connect 17 0 13 1; +#X connect 18 0 19 0; +#X connect 19 0 14 1; +#X connect 20 0 21 0; +#X connect 21 0 12 1; +#X connect 22 0 11 1; +#X connect 24 0 23 0; +#X connect 25 0 10 1; +#X connect 25 0 10 0; +#X connect 25 0 11 0;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/10-Instruments/vangelisiser/k.ramp.pd Thu Jun 23 20:40:05 2016 +0100 @@ -0,0 +1,68 @@ +#N canvas 313 400 372 357 10; +#X obj 86 156 -; +#X obj 53 201 * 2; +#X obj 175 95 inlet radius; +#X obj 86 95 inlet centre; +#X obj 86 115 f \$1; +#X obj 175 115 f \$2; +#X obj 260 98 loadbang; +#X obj 94 135 t b f; +#X obj 32 75 inlet value; +#X obj 32 173 - 0; +#X obj 32 221 / 1; +#X obj 32 241 clip 0 1; +#X obj 32 304 outlet; +#X obj 32 262 * 511; +#N canvas 0 22 300 350 init 0; +#X obj 153 80 t f f; +#X obj 153 8 loadbang; +#X msg 24 252 0; +#X obj 24 101 sel 1 511; +#X obj 75 126 / 512; +#X obj 75 146 * 6.28319; +#X obj 75 166 cos; +#X obj 75 207 * 0.5; +#X obj 75 186 + 1; +#X msg 75 227 1 \$1; +#X obj 75 247 -; +#X obj 153 50 k.tommygun 513; +#X obj 75 272 tabwrite \$0-ramp; +#X obj 75 292 table \$0-ramp 513; +#X connect 0 0 3 0; +#X connect 0 1 12 1; +#X connect 1 0 11 0; +#X connect 2 0 12 0; +#X connect 3 0 2 0; +#X connect 3 1 2 0; +#X connect 3 2 4 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 8 0; +#X connect 7 0 9 0; +#X connect 8 0 7 0; +#X connect 9 0 10 0; +#X connect 10 0 12 0; +#X connect 11 0 0 0; +#X restore 241 305 pd init; +#X obj 32 284 tabread \$0-ramp; +#X text 31 18 Ramps up/down towards value based on radius parameter +; +#X text 31 28 ===================================================== +; +#X connect 0 0 9 1; +#X connect 1 0 10 1; +#X connect 2 0 5 0; +#X connect 3 0 4 0; +#X connect 4 0 0 0; +#X connect 5 0 1 0; +#X connect 5 0 7 0; +#X connect 6 0 4 0; +#X connect 6 0 5 0; +#X connect 7 0 0 0; +#X connect 7 1 0 1; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 11 0 13 0; +#X connect 13 0 15 0; +#X connect 15 0 12 0;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/10-Instruments/vangelisiser/k.ramp~.pd Thu Jun 23 20:40:05 2016 +0100 @@ -0,0 +1,69 @@ +#N canvas 1322 824 351 339 10; +#X obj 68 131 -; +#X obj 35 176 * 2; +#X obj 14 196 /~ 1; +#X obj 14 148 -~ 0; +#X obj 157 70 inlet radius; +#X obj 68 70 inlet centre; +#X obj 68 90 f \$1; +#X obj 157 90 f \$2; +#X obj 242 73 loadbang; +#X obj 14 279 outlet~; +#X obj 14 50 inlet~ signal; +#X obj 76 110 t b f; +#X obj 14 216 clip~ 0 1; +#X obj 14 237 *~ 512; +#N canvas 0 22 300 350 init 0; +#X obj 153 80 t f f; +#X obj 153 8 loadbang; +#X msg 24 252 0; +#X obj 24 101 sel 1 511; +#X obj 75 126 / 512; +#X obj 75 146 * 6.28319; +#X obj 75 166 cos; +#X obj 75 207 * 0.5; +#X obj 75 186 + 1; +#X msg 75 227 1 \$1; +#X obj 75 247 -; +#X obj 153 50 k.tommygun 513; +#X obj 75 272 tabwrite \$0-ramp; +#X obj 75 292 table \$0-ramp 513; +#X connect 0 0 3 0; +#X connect 0 1 12 1; +#X connect 1 0 11 0; +#X connect 2 0 12 0; +#X connect 3 0 2 0; +#X connect 3 1 2 0; +#X connect 3 2 4 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 8 0; +#X connect 7 0 9 0; +#X connect 8 0 7 0; +#X connect 9 0 10 0; +#X connect 10 0 12 0; +#X connect 11 0 0 0; +#X restore 254 283 pd init; +#X text 11 18 Ramps up/down towards value based on radius parameter +; +#X text 11 28 ===================================================== +; +#X obj 14 259 tabread4~ \$0-ramp; +#X text 254 308 @krighxz 2014; +#X connect 0 0 3 1; +#X connect 1 0 2 1; +#X connect 2 0 12 0; +#X connect 3 0 2 0; +#X connect 4 0 7 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 7 0 1 0; +#X connect 7 0 11 0; +#X connect 8 0 6 0; +#X connect 8 0 7 0; +#X connect 10 0 3 0; +#X connect 11 0 0 0; +#X connect 11 1 0 1; +#X connect 12 0 13 0; +#X connect 13 0 17 0; +#X connect 17 0 9 0;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/10-Instruments/vangelisiser/k.tommygun.pd Thu Jun 23 20:40:05 2016 +0100 @@ -0,0 +1,25 @@ +#N canvas 938 613 156 229 10; +#X obj 28 93 f; +#X msg 111 137 0; +#X obj 54 137 sel 1 0; +#X obj 54 93 + 1; +#X msg 28 71 0; +#X obj 26 137 - 1; +#X obj 26 189 outlet; +#X obj 28 50 inlet; +#X obj 54 116 < \$1; +#X obj 54 159 del 0; +#X text 15 11 Simple counter; +#X text 15 21 ==============; +#X connect 0 0 3 0; +#X connect 1 0 0 1; +#X connect 2 0 9 0; +#X connect 2 1 1 0; +#X connect 3 0 0 1; +#X connect 3 0 5 0; +#X connect 3 0 8 0; +#X connect 4 0 0 0; +#X connect 5 0 6 0; +#X connect 7 0 4 0; +#X connect 8 0 2 0; +#X connect 9 0 0 0;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/10-Instruments/vangelisiser/predel.pd Thu Jun 23 20:40:05 2016 +0100 @@ -0,0 +1,62 @@ +#N canvas 1202 971 629 513 10; +#X obj 34 58 inlet~; +#X obj 43 246 delwrite~ \$0-l 100; +#X obj 173 246 delwrite~ \$0-r 100; +#X obj 68 290 vd~ \$0-l; +#X obj 177 283 vd~ \$0-r; +#X obj 325 97 inlet~ pan; +#X obj 325 119 *~ 5; +#X obj 365 141 *~ -1; +#X obj 325 171 +~ 6; +#X obj 365 171 +~ 6; +#X obj 48 330 outlet~; +#X obj 178 330 outlet~; +#X obj 460 99 inlet time; +#X text 43 27 ultra basic presedence delay; +#X text 43 37 ============================; +#X obj 401 24 loadbang; +#X obj 401 46 f \$1; +#X obj 401 68 route 0; +#X obj 460 121 + 5; +#X obj 205 88 *~ 0.5; +#X obj 205 109 +~ 0.5; +#X obj 149 115 sig~ 1; +#X obj 149 137 -~; +#X obj 20 217 *~; +#X obj 118 206 *~; +#X obj 149 160 *~ 0.5; +#X obj 199 159 *~ 0.5; +#X obj 149 182 +~ 0.5; +#X obj 199 182 +~ 0.5; +#X connect 0 0 23 0; +#X connect 0 0 24 0; +#X connect 3 0 10 0; +#X connect 4 0 11 0; +#X connect 5 0 6 0; +#X connect 5 0 19 0; +#X connect 6 0 7 0; +#X connect 6 0 8 0; +#X connect 7 0 9 0; +#X connect 8 0 3 0; +#X connect 9 0 4 0; +#X connect 12 0 6 1; +#X connect 12 0 18 0; +#X connect 15 0 16 0; +#X connect 16 0 17 0; +#X connect 17 1 6 1; +#X connect 17 1 18 0; +#X connect 18 0 9 1; +#X connect 18 0 8 1; +#X connect 19 0 20 0; +#X connect 20 0 22 1; +#X connect 20 0 26 0; +#X connect 21 0 22 0; +#X connect 22 0 25 0; +#X connect 23 0 1 0; +#X connect 23 0 10 0; +#X connect 24 0 2 0; +#X connect 24 0 11 0; +#X connect 25 0 27 0; +#X connect 26 0 28 0; +#X connect 27 0 23 1; +#X connect 28 0 24 1;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/10-Instruments/vangelisiser/vangex.pd Thu Jun 23 20:40:05 2016 +0100 @@ -0,0 +1,68 @@ +#N canvas 1707 210 456 633 10; +#X obj 95 271 phasor~ 5; +#X obj 95 347 rpole~ 1; +#X obj 179 304 sig~ 0.1; +#X obj 95 552 delwrite~ \$0-vang 1000; +#X obj 252 356 vd~ \$0-vang; +#X obj 95 119 inlet midinote; +#X obj 252 552 outlet~; +#X obj 252 400 hip~ 1; +#X obj 252 422 hv_tanh; +#X obj 95 451 *~; +#X obj 110 430 r~ _gain; +#X obj 322 275 *~ 0.01; +#X obj 322 297 +~ 1; +#X obj 252 327 *~; +#X obj 322 251 inlet~ harmonicMod; +#X obj 95 186 mtof~; +#X obj 44 142 r~ fmod; +#X obj 95 141 sig~; +#X obj 252 216 sig~ 1000; +#X obj 252 238 /~; +#X obj 95 503 *~; +#X obj 110 481 inlet~ gain; +#X obj 95 369 *~ 0.0001; +#X obj 252 296 *~ 2; +#X obj 159 528 lop~ 4000; +#X obj 252 444 lop~ 4000; +#X obj 95 391 lop~ 1000; +#X obj 252 378 *~ 0.98; +#X obj 252 274 lop~ 4; +#X text 33 23 Single voice for vangelis-inspired synthesiser; +#X text 33 37 Combines a pulse-width modulated squarewave; +#X text 33 51 with a delay line tuned to the same frequency; +#X text 33 64 feeding back into itself. Changing the tuning of; +#X text 33 77 the delay line results in nice trumpet-like effects; +#X text 353 590 @krighxz 2016; +#X obj 140 325 hv_gte~; +#X connect 0 0 1 0; +#X connect 0 0 35 0; +#X connect 1 0 22 0; +#X connect 2 0 35 1; +#X connect 4 0 27 0; +#X connect 5 0 17 0; +#X connect 7 0 8 0; +#X connect 8 0 25 0; +#X connect 9 0 20 0; +#X connect 10 0 9 1; +#X connect 11 0 12 0; +#X connect 12 0 13 1; +#X connect 13 0 4 0; +#X connect 14 0 11 0; +#X connect 15 0 0 0; +#X connect 15 0 19 1; +#X connect 16 0 15 0; +#X connect 17 0 15 0; +#X connect 18 0 19 0; +#X connect 19 0 28 0; +#X connect 20 0 3 0; +#X connect 21 0 20 1; +#X connect 22 0 26 0; +#X connect 23 0 13 0; +#X connect 24 0 3 0; +#X connect 25 0 6 0; +#X connect 26 0 9 0; +#X connect 27 0 7 0; +#X connect 27 0 24 0; +#X connect 28 0 23 0; +#X connect 35 0 1 1;