annotate examples/08-PureData/envelopeTrigger/_main.pd @ 552:f8bb6186498d prerelease

added customRender example for predate
author chnrx <chris.heinrichs@gmail.com>
date Fri, 24 Jun 2016 16:22:17 +0100
parents ddb86944e138
children
rev   line source
chris@531 1 #N canvas 646 209 853 1174 10;
chris@531 2 #X text 29 17 SAMPLE-ACCURATE ENVELOPE TRIGGER;
chris@531 3 #X text 29 27 ================================;
chris@531 4 #X obj 33 543 /~ 44100;
chris@531 5 #X obj 78 523 samplerate~;
chris@531 6 #X obj 78 503 loadbang;
chris@531 7 #X obj 33 619 rpole~;
chris@531 8 #X obj 33 477 sig~ 1;
chris@531 9 #X obj 438 571 sig~ 0.5;
chris@531 10 #X obj 33 937 *~;
chris@531 11 #X obj 399 550 *~ -1;
chris@531 12 #X obj 33 801 *~ 512;
chris@531 13 #X obj 33 639 clip~ 0 1;
chris@531 14 #X obj 33 822 tabread4~ env1;
chris@531 15 #X obj 33 780 *~;
chris@531 16 #X obj 399 424 abs~;
chris@531 17 #X obj 48 736 sig~ 1;
chris@531 18 #X obj 48 759 /~;
chris@531 19 #X obj 48 915 osc~ 220;
chris@531 20 #X obj 48 895 +~ 50;
chris@531 21 #X obj 48 855 *~;
chris@531 22 #X obj 112 736 clip~ 1e-05 100000;
robert@464 23 #N canvas 0 22 450 278 (subpatch) 0;
robert@464 24 #X array env1 512 float 3;
robert@464 25 #A 0 0 0.0625 0.0883883 0.108253 0.125 0.139754 0.153093 0.165359 0.176777
robert@464 26 0.1875 0.197642 0.207289 0.216506 0.225347 0.233854 0.242061 0.25 0.257694
robert@464 27 0.265165 0.272431 0.279509 0.286411 0.293151 0.299739 0.306186 0.3125
robert@464 28 0.318689 0.32476 0.330719 0.336573 0.342327 0.347985 0.353553 0.359035
robert@464 29 0.364434 0.369755 0.375 0.380173 0.385276 0.390312 0.395285 0.400195
robert@464 30 0.405046 0.40984 0.414578 0.419263 0.423896 0.428478 0.433013 0.4375
robert@464 31 0.441942 0.446339 0.450694 0.455007 0.459279 0.463512 0.467707 0.471865
robert@464 32 0.475986 0.480072 0.484123 0.488141 0.492125 0.496078 0.5 0.503891
robert@464 33 0.507752 0.511585 0.515388 0.519164 0.522913 0.526634 0.53033 0.534
robert@464 34 0.537645 0.541266 0.544862 0.548435 0.551985 0.555512 0.559017 0.5625
robert@464 35 0.565962 0.569402 0.572822 0.576222 0.579601 0.582961 0.586302 0.589624
robert@464 36 0.592927 0.596212 0.599479 0.602728 0.60596 0.609175 0.612372 0.615554
robert@464 37 0.618718 0.621867 0.625 0.628117 0.631219 0.634306 0.637377 0.640434
robert@464 38 0.643477 0.646505 0.649519 0.652519 0.655506 0.658478 0.661438 0.664384
robert@464 39 0.667317 0.670238 0.673146 0.676041 0.678924 0.681795 0.684653 0.6875
robert@464 40 0.690335 0.693159 0.695971 0.698771 0.701561 0.704339 0.707107 0.709864
robert@464 41 0.71261 0.715345 0.71807 0.720785 0.72349 0.726184 0.728869 0.731544
robert@464 42 0.734209 0.736864 0.73951 0.742146 0.744773 0.747391 0.75 0.7526 0.75519
robert@464 43 0.757772 0.760345 0.76291 0.765466 0.768013 0.770552 0.773082 0.775605
robert@464 44 0.778119 0.780625 0.783123 0.785613 0.788095 0.790569 0.793036 0.795495
robert@464 45 0.797947 0.800391 0.802827 0.805256 0.807678 0.810093 0.8125 0.8149
robert@464 46 0.817294 0.81968 0.822059 0.824432 0.826797 0.829156 0.831508 0.833854
robert@464 47 0.836193 0.838525 0.840851 0.843171 0.845484 0.847791 0.850092 0.852386
robert@464 48 0.854675 0.856957 0.859233 0.861503 0.863767 0.866025 0.868278 0.870524
robert@464 49 0.872765 0.875 0.877229 0.879453 0.881671 0.883883 0.88609 0.888292
robert@464 50 0.890488 0.892679 0.894864 0.897044 0.899218 0.901388 0.903552 0.905711
robert@464 51 0.907865 0.910014 0.912157 0.914296 0.91643 0.918559 0.920682 0.922801
robert@464 52 0.924916 0.927025 0.929129 0.931229 0.933324 0.935414 0.9375 0.939581
robert@464 53 0.941657 0.943729 0.945797 0.947859 0.949918 0.951972 0.954021 0.956066
robert@464 54 0.958107 0.960143 0.962175 0.964203 0.966227 0.968246 0.970261 0.972272
robert@464 55 0.974279 0.976281 0.97828 0.980274 0.982265 0.984251 0.986233 0.988212
robert@464 56 0.990186 0.992157 0.994123 0.996086 0.998045 1 0.992172 0.984375 0.976609
robert@464 57 0.968874 0.961169 0.953495 0.945852 0.938239 0.930657 0.923106 0.915586
robert@464 58 0.908097 0.900638 0.89321 0.885813 0.878447 0.871111 0.863806 0.856532
robert@464 59 0.849289 0.842076 0.834894 0.827743 0.820623 0.813533 0.806474 0.799446
robert@464 60 0.792449 0.785483 0.778547 0.771642 0.764767 0.757924 0.751111 0.744329
robert@464 61 0.737578 0.730857 0.724168 0.717509 0.71088 0.704283 0.697716 0.69118
robert@464 62 0.684675 0.678201 0.671757 0.665344 0.658962 0.652611 0.64629 0.64
robert@464 63 0.633741 0.627513 0.621315 0.615148 0.609012 0.602907 0.596832 0.590788
robert@464 64 0.584775 0.578793 0.572841 0.56692 0.56103 0.555171 0.549343 0.543545
robert@464 65 0.537778 0.532041 0.526336 0.520661 0.515017 0.509404 0.503822 0.49827
robert@464 66 0.492749 0.487259 0.481799 0.476371 0.470973 0.465605 0.460269 0.454963
robert@464 67 0.449689 0.444444 0.439231 0.434048 0.428897 0.423775 0.418685 0.413625
robert@464 68 0.408597 0.403599 0.398631 0.393695 0.388789 0.383914 0.37907 0.374256
robert@464 69 0.369473 0.364721 0.36 0.355309 0.35065 0.346021 0.341423 0.336855
robert@464 70 0.332318 0.327812 0.323337 0.318893 0.314479 0.310096 0.305744 0.301423
robert@464 71 0.297132 0.292872 0.288643 0.284444 0.280277 0.27614 0.272034 0.267958
robert@464 72 0.263914 0.2599 0.255917 0.251965 0.248043 0.244152 0.240292 0.236463
robert@464 73 0.232664 0.228897 0.22516 0.221453 0.217778 0.214133 0.210519 0.206936
robert@464 74 0.203383 0.199862 0.196371 0.19291 0.189481 0.186082 0.182714 0.179377
robert@464 75 0.176071 0.172795 0.16955 0.166336 0.163153 0.16 0.156878 0.153787
robert@464 76 0.150727 0.147697 0.144698 0.14173 0.138793 0.135886 0.13301 0.130165
robert@464 77 0.127351 0.124567 0.121815 0.119093 0.116401 0.113741 0.111111 0.108512
robert@464 78 0.105944 0.103406 0.1009 0.0984237 0.0959785 0.093564 0.0911803 0.0888274
robert@464 79 0.0865052 0.0842138 0.0819531 0.0797232 0.077524 0.0753556 0.073218
robert@464 80 0.0711111 0.069035 0.0669896 0.064975 0.0629911 0.0610381 0.0591157
robert@464 81 0.0572241 0.0553633 0.0535332 0.0517339 0.0499654 0.0482276 0.0465206
robert@464 82 0.0448443 0.0431988 0.041584 0.04 0.0384467 0.0369243 0.0354325 0.0339715
robert@464 83 0.0325413 0.0311419 0.0297732 0.0284352 0.027128 0.0258516 0.0246059
robert@464 84 0.023391 0.0222068 0.0210534 0.0199308 0.0188389 0.0177778 0.0167474
robert@464 85 0.0157478 0.0147789 0.0138408 0.0129335 0.0120569 0.0112111 0.010396
robert@464 86 0.00961169 0.00885813 0.00813533 0.00744329 0.00678201 0.00615148 0.00555171
robert@464 87 0.0049827 0.00444444 0.00393695 0.00346021 0.00301423 0.002599 0.00221453
robert@464 88 0.00186082 0.00153787 0.00124567 0.000984237 0.000753556 0.000553633
robert@464 89 0.000384467 0.000246059 0.000138408 6.15148e-05 1.53787e-05 0;
robert@464 90 #X coords 0 1 512 0 512 64 1 0 0;
chris@531 91 #X restore 34 1026 graph;
chris@531 92 #X text 475 477 if greater than threshold output 1;
chris@531 93 #X text 513 521 differentiator;
chris@531 94 #X text 512 539 (generates impulse on positive trigger (0->1);
chris@531 95 #X text 107 620 signal-rate counter;
chris@531 96 #X text 497 618 rpole~ coeff to 0;
chris@531 97 #X text 410 1004 pre-generated envelope;
chris@531 98 #X obj 112 692 *~;
chris@531 99 #X obj 399 476 hv_gte~;
chris@531 100 #X obj 399 592 hv_lte~;
chris@531 101 #X text 116 891 kickdrum 101 :);
chris@531 102 #X obj 399 392 receive~ excitationSignal;
chris@531 103 #X obj 438 456 receive~ threshold;
chris@531 104 #X obj 112 672 receive~ envDuration;
chris@531 105 #X obj 38 311 send~ excitationSignal;
chris@531 106 #X obj 198 311 send~ threshold;
chris@531 107 #X obj 318 311 send~ envDuration;
chris@531 108 #X obj 33 967 dac~;
chris@531 109 #X text 29 57 Sample-accurate signal processing can often be hard to
chris@531 110 ;
chris@531 111 #X text 29 71 do in puredata \, which generally works on a per-block
chris@531 112 ;
chris@531 113 #X text 29 85 basis. In this example we use a combination of;
chris@531 114 #X text 95 102 and;
chris@531 115 #X obj 125 102 rpole~;
chris@531 116 #X obj 48 875 *~ 1000;
chris@531 117 #X obj 112 714 *~ 0.25;
chris@531 118 #X obj 444 507 sig~ 1;
chris@531 119 #X obj 399 528 rzero~ 1;
chris@531 120 #X text 187 102 objects to perform;
chris@531 121 #X text 29 120 sample-accurate envelope triggering based on the;
chris@531 122 #X text 29 134 signal fed into the first audio channel.;
chris@531 123 #X obj 38 210 adc~ 1;
chris@531 124 #X obj 198 240 adc~ 3;
chris@531 125 #X obj 318 280 adc~ 4;
chris@531 126 #X text 252 240 use a potentiometer on first analog in to set;
chris@531 127 #X text 252 253 triggering threshold...;
chris@531 128 #X text 382 280 ...second analog in sets envelope duration;
chris@531 129 #X obj 32 102 rzero~;
chris@531 130 #X text 605 12 ............................;
chris@531 131 #X text 605 22 . ____ ._____ _ .......___ .;
chris@531 132 #X text 605 32 .| __ )| ____| |....../ _ |.;
chris@531 133 #X text 605 52 .| |_) | |___| |___ / ___ |.;
chris@531 134 #X text 605 62 .|____/|_____|_____/_/..._|.io;
chris@531 135 #X text 605 72 ............................;
chris@531 136 #X text 605 42 .| __ || __|.| |...../ _| |.;
chris@531 137 #X text 475 424 take absolute value of signal;
chris@531 138 #X text 497 630 (coefficient of 1 causes rpole~ to;
chris@531 139 #X text 497 643 accumulate input samples);
chris@531 140 #X text 108 542 setting input to (1/sampleRate) means;
chris@531 141 #X text 108 555 rpole~ counts seconds when its coefficient;
chris@531 142 #X text 108 569 is set to 1 (resets when 0);
chris@531 143 #X text 147 822 use envelope value for volume and frequency;
chris@531 144 #X text 479 594 -> boolean (x != x);
chris@531 145 #X text 92 210 Left audio input for excitation (a piezo disk works
chris@531 146 well);
chris@531 147 #X text 111 767 multiplies counter output allowing to alter;
chris@531 148 #X text 111 781 playback speed of envelope;
chris@531 149 #X text 497 607 resets counter by briefly setting;
chris@531 150 #X connect 2 0 5 0;
chris@531 151 #X connect 3 0 2 1;
chris@531 152 #X connect 4 0 3 0;
chris@531 153 #X connect 5 0 11 0;
chris@531 154 #X connect 6 0 2 0;
chris@531 155 #X connect 7 0 30 1;
chris@531 156 #X connect 8 0 38 0;
chris@531 157 #X connect 8 0 38 1;
chris@531 158 #X connect 9 0 30 0;
chris@531 159 #X connect 10 0 12 0;
chris@531 160 #X connect 11 0 13 0;
chris@531 161 #X connect 12 0 8 0;
chris@531 162 #X connect 12 0 19 0;
chris@531 163 #X connect 12 0 19 1;
chris@531 164 #X connect 13 0 10 0;
chris@531 165 #X connect 14 0 29 0;
chris@531 166 #X connect 15 0 16 0;
chris@531 167 #X connect 16 0 13 1;
chris@531 168 #X connect 17 0 8 1;
robert@464 169 #X connect 18 0 17 0;
chris@531 170 #X connect 19 0 44 0;
chris@531 171 #X connect 20 0 16 1;
chris@531 172 #X connect 28 0 45 0;
chris@531 173 #X connect 29 0 47 0;
chris@531 174 #X connect 30 0 5 1;
chris@531 175 #X connect 32 0 14 0;
chris@531 176 #X connect 33 0 29 1;
chris@531 177 #X connect 34 0 28 0;
chris@531 178 #X connect 34 0 28 1;
chris@531 179 #X connect 44 0 18 0;
chris@531 180 #X connect 45 0 20 0;
chris@531 181 #X connect 46 0 47 1;
chris@531 182 #X connect 47 0 9 0;
chris@531 183 #X connect 51 0 35 0;
chris@531 184 #X connect 52 0 36 0;
chris@531 185 #X connect 53 0 37 0;