annotate examples/08-PureData/karplusStrong/_main.pd @ 531:ddb86944e138 prerelease

cleaned up all pd examples (and removed some). added polysynth and vangelisiser to instruments examples
author chnrx <chris.heinrichs@gmail.com>
date Thu, 23 Jun 2016 20:40:05 +0100
parents 8fcfbfb32aa0
children
rev   line source
chris@531 1 #N canvas 826 561 694 734 10;
chris@531 2 #X obj 40 660 dac~ 1 2;
robert@464 3 #X text 33 22 Karplus Strong;
robert@464 4 #X text 33 32 ==============;
chris@531 5 #X obj 40 613 vd~ \$0-wg1;
chris@531 6 #X obj 120 635 lop~ 1000;
chris@531 7 #X obj 120 679 s~ \$0-fb1;
chris@531 8 #X obj 40 286 hip~ 100;
chris@531 9 #X obj 105 345 r~ \$0-fb1;
chris@531 10 #X obj 40 368 delwrite~ \$0-wg1 100;
chris@531 11 #X obj 40 538 *~;
chris@531 12 #X obj 40 560 *~ 10;
chris@531 13 #X text 135 286 <<< centre (i.e. DC block) signal with high-pass filter
robert@464 14 ;
chris@531 15 #X text 126 492 <<< use potentiometer or fader on second analog in
robert@464 16 ;
chris@531 17 #X text 37 190 EXCITATION INPUT:;
chris@531 18 #X text 37 418 DELAY PERIOD:;
chris@531 19 #X text 214 655 <<< and decay here [0-0.9999];
chris@531 20 #X text 155 307 <<< thresholding to remove any consistent noise in
chris@531 21 the excitation signal;
chris@531 22 #X obj 40 234 adc~ 1;
chris@531 23 #X obj 40 466 sig~ 1;
chris@531 24 #X obj 40 515 -~;
chris@531 25 #X obj 55 491 adc~ 3;
chris@531 26 #X obj 40 582 +~ 2;
chris@531 27 #X text 214 635 <<< set damping here [100-20000];
chris@531 28 #X obj 120 657 *~ 0.99;
chris@531 29 #X text 126 573 <<< period range between 2-12ms;
chris@531 30 #X text 151 505 to set period (or 'length of string');
chris@531 31 #X text 36 55 This is an example of simple 'Karplus Strong' synthesis
chris@531 32 ;
chris@531 33 #X text 36 69 which produces a sound resembling a plucked string by
chris@531 34 ;
chris@531 35 #X text 36 84 feeding the filtered output of a delay line back into
chris@531 36 ;
chris@531 37 #X text 36 98 itself. Here we use the left audio input as an excitation
chris@531 38 ;
chris@531 39 #X text 36 112 mechanism for the string. Try connecting a piezo to
chris@531 40 bela's;
chris@531 41 #X text 36 126 audio input and tapping against it. The first analog
chris@531 42 input;
chris@531 43 #X text 36 140 sets the length of the string.;
chris@531 44 #X text 485 15 ............................;
chris@531 45 #X text 485 25 . ____ ._____ _ .......___ .;
chris@531 46 #X text 485 35 .| __ )| ____| |....../ _ |.;
chris@531 47 #X text 485 55 .| |_) | |___| |___ / ___ |.;
chris@531 48 #X text 485 65 .|____/|_____|_____/_/..._|.io;
chris@531 49 #X text 485 75 ............................;
chris@531 50 #X text 485 45 .| __ || __|.| |...../ _| |.;
chris@531 51 #X obj 40 307 gate-xfer 0.1;
chris@531 52 #X text 116 234 <<< use piezo or microphone on left audio channel;
chris@531 53 #X text 140 248 (you can even try hooking up an accelerometer...);
chris@531 54 #X text 37 200 ----------------;
chris@531 55 #X text 37 429 ------------;
robert@464 56 #X connect 3 0 4 0;
chris@531 57 #X connect 3 0 0 0;
chris@531 58 #X connect 3 0 0 1;
chris@531 59 #X connect 4 0 23 0;
chris@531 60 #X connect 6 0 40 0;
robert@464 61 #X connect 7 0 8 0;
robert@464 62 #X connect 9 0 10 0;
chris@531 63 #X connect 10 0 21 0;
chris@531 64 #X connect 17 0 6 0;
chris@531 65 #X connect 18 0 19 0;
chris@531 66 #X connect 19 0 9 1;
chris@531 67 #X connect 19 0 9 0;
chris@531 68 #X connect 20 0 19 1;
chris@531 69 #X connect 21 0 3 0;
chris@531 70 #X connect 23 0 5 0;
chris@531 71 #X connect 40 0 8 0;