chris@162: #N canvas 146 218 359 287 10; chris@162: #X obj 28 207 dac~; chris@162: #N canvas 324 380 556 621 env 0; chris@162: #N canvas 886 1001 131 207 >~ 0; chris@162: #X obj 19 -37 -~; chris@162: #X obj 19 -58 min~; chris@162: #X obj 19 26 *~ 1e+37; chris@162: #X obj 19 5 +~ 1e-37; chris@162: #X obj 19 -16 clip~ -1e-37 0; chris@162: #X obj 19 -83 inlet~; chris@162: #X obj 62 -83 inlet~; chris@162: #X obj 19 48 outlet~; chris@162: #X connect 0 0 4 0; chris@162: #X connect 1 0 0 0; chris@162: #X connect 2 0 7 0; chris@162: #X connect 3 0 2 0; chris@162: #X connect 4 0 3 0; chris@162: #X connect 5 0 1 0; chris@162: #X connect 6 0 0 1; chris@162: #X connect 6 0 1 1; chris@162: #X restore 199 106 pd >~; chris@162: #X obj 23 173 /~ 44100; chris@162: #X obj 68 153 samplerate~; chris@162: #X obj 68 133 loadbang; chris@162: #X obj 199 128 biquad~ 0 0 -1 1 0; chris@162: #X obj 23 209 rpole~; chris@162: #X obj 23 153 sig~ 1; chris@162: #X obj 226 171 sig~ 0.5; chris@162: #N canvas 0 22 110 231 <~ 0; chris@162: #X obj 11 -41 -~; chris@162: #X obj 11 29 +~ 1e-37; chris@162: #X obj 11 8 clip~ -1e-37 0; chris@162: #X obj 11 -86 inlet~; chris@162: #X obj 55 -85 inlet~; chris@162: #X obj 11 -62 max~; chris@162: #X obj 11 -17 *~ -1; chris@162: #X obj 11 81 outlet~; chris@162: #X obj 11 50 *~ 1e+37; chris@162: #X connect 0 0 6 0; chris@162: #X connect 1 0 8 0; chris@162: #X connect 2 0 1 0; chris@162: #X connect 3 0 5 0; chris@162: #X connect 4 0 0 1; chris@162: #X connect 4 0 5 1; chris@162: #X connect 5 0 0 0; chris@162: #X connect 6 0 2 0; chris@162: #X connect 8 0 7 0; chris@162: #X restore 199 192 pd <~; chris@162: #X text 237 193 (x != x); chris@162: #X obj 23 447 *~; chris@162: #X obj 199 150 *~ -1; chris@162: #X obj 23 331 *~ 512; chris@162: #X obj 23 229 clip~ 0 1; chris@162: #X obj 23 390 tabread4~ env1; chris@162: #X obj 23 310 *~; chris@162: #X obj 199 64 abs~; chris@162: #X obj 199 43 hip~ 1; chris@162: #X obj 199 22 inlet~ excitationSignal; chris@162: #X obj 218 269 sig~ 1; chris@162: #X obj 218 292 /~; chris@162: #X obj 226 86 inlet~ threshold; chris@162: #X obj 262 229 inlet~ envDuration; chris@162: #X obj 178 430 osc~ 220; chris@162: #X obj 178 348 tabread4~ env1; chris@162: #X obj 178 410 +~ 50; chris@162: #X obj 178 370 *~; chris@162: #X obj 178 390 *~ 1000; chris@162: #X obj 262 269 clip~ 1e-05 100000; chris@162: #X obj 23 467 outlet~; chris@162: #N canvas 0 22 450 278 (subpatch) 0; chris@162: #X array env1 512 float 3; chris@162: #A 0 0 0.0625 0.0883883 0.108253 0.125 0.139754 0.153093 0.165359 0.176777 chris@162: 0.1875 0.197642 0.207289 0.216506 0.225347 0.233854 0.242061 0.25 0.257694 chris@162: 0.265165 0.272431 0.279509 0.286411 0.293151 0.299739 0.306186 0.3125 chris@162: 0.318689 0.32476 0.330719 0.336573 0.342327 0.347985 0.353553 0.359035 chris@162: 0.364434 0.369755 0.375 0.380173 0.385276 0.390312 0.395285 0.400195 chris@162: 0.405046 0.40984 0.414578 0.419263 0.423896 0.428478 0.433013 0.4375 chris@162: 0.441942 0.446339 0.450694 0.455007 0.459279 0.463512 0.467707 0.471865 chris@162: 0.475986 0.480072 0.484123 0.488141 0.492125 0.496078 0.5 0.503891 chris@162: 0.507752 0.511585 0.515388 0.519164 0.522913 0.526634 0.53033 0.534 chris@162: 0.537645 0.541266 0.544862 0.548435 0.551985 0.555512 0.559017 0.5625 chris@162: 0.565962 0.569402 0.572822 0.576222 0.579601 0.582961 0.586302 0.589624 chris@162: 0.592927 0.596212 0.599479 0.602728 0.60596 0.609175 0.612372 0.615554 chris@162: 0.618718 0.621867 0.625 0.628117 0.631219 0.634306 0.637377 0.640434 chris@162: 0.643477 0.646505 0.649519 0.652519 0.655506 0.658478 0.661438 0.664384 chris@162: 0.667317 0.670238 0.673146 0.676041 0.678924 0.681795 0.684653 0.6875 chris@162: 0.690335 0.693159 0.695971 0.698771 0.701561 0.704339 0.707107 0.709864 chris@162: 0.71261 0.715345 0.71807 0.720785 0.72349 0.726184 0.728869 0.731544 chris@162: 0.734209 0.736864 0.73951 0.742146 0.744773 0.747391 0.75 0.7526 0.75519 chris@162: 0.757772 0.760345 0.76291 0.765466 0.768013 0.770552 0.773082 0.775605 chris@162: 0.778119 0.780625 0.783123 0.785613 0.788095 0.790569 0.793036 0.795495 chris@162: 0.797947 0.800391 0.802827 0.805256 0.807678 0.810093 0.8125 0.8149 chris@162: 0.817294 0.81968 0.822059 0.824432 0.826797 0.829156 0.831508 0.833854 chris@162: 0.836193 0.838525 0.840851 0.843171 0.845484 0.847791 0.850092 0.852386 chris@162: 0.854675 0.856957 0.859233 0.861503 0.863767 0.866025 0.868278 0.870524 chris@162: 0.872765 0.875 0.877229 0.879453 0.881671 0.883883 0.88609 0.888292 chris@162: 0.890488 0.892679 0.894864 0.897044 0.899218 0.901388 0.903552 0.905711 chris@162: 0.907865 0.910014 0.912157 0.914296 0.91643 0.918559 0.920682 0.922801 chris@162: 0.924916 0.927025 0.929129 0.931229 0.933324 0.935414 0.9375 0.939581 chris@162: 0.941657 0.943729 0.945797 0.947859 0.949918 0.951972 0.954021 0.956066 chris@162: 0.958107 0.960143 0.962175 0.964203 0.966227 0.968246 0.970261 0.972272 chris@162: 0.974279 0.976281 0.97828 0.980274 0.982265 0.984251 0.986233 0.988212 chris@162: 0.990186 0.992157 0.994123 0.996086 0.998045 1 0.992172 0.984375 0.976609 chris@162: 0.968874 0.961169 0.953495 0.945852 0.938239 0.930657 0.923106 0.915586 chris@162: 0.908097 0.900638 0.89321 0.885813 0.878447 0.871111 0.863806 0.856532 chris@162: 0.849289 0.842076 0.834894 0.827743 0.820623 0.813533 0.806474 0.799446 chris@162: 0.792449 0.785483 0.778547 0.771642 0.764767 0.757924 0.751111 0.744329 chris@162: 0.737578 0.730857 0.724168 0.717509 0.71088 0.704283 0.697716 0.69118 chris@162: 0.684675 0.678201 0.671757 0.665344 0.658962 0.652611 0.64629 0.64 chris@162: 0.633741 0.627513 0.621315 0.615148 0.609012 0.602907 0.596832 0.590788 chris@162: 0.584775 0.578793 0.572841 0.56692 0.56103 0.555171 0.549343 0.543545 chris@162: 0.537778 0.532041 0.526336 0.520661 0.515017 0.509404 0.503822 0.49827 chris@162: 0.492749 0.487259 0.481799 0.476371 0.470973 0.465605 0.460269 0.454963 chris@162: 0.449689 0.444444 0.439231 0.434048 0.428897 0.423775 0.418685 0.413625 chris@162: 0.408597 0.403599 0.398631 0.393695 0.388789 0.383914 0.37907 0.374256 chris@162: 0.369473 0.364721 0.36 0.355309 0.35065 0.346021 0.341423 0.336855 chris@162: 0.332318 0.327812 0.323337 0.318893 0.314479 0.310096 0.305744 0.301423 chris@162: 0.297132 0.292872 0.288643 0.284444 0.280277 0.27614 0.272034 0.267958 chris@162: 0.263914 0.2599 0.255917 0.251965 0.248043 0.244152 0.240292 0.236463 chris@162: 0.232664 0.228897 0.22516 0.221453 0.217778 0.214133 0.210519 0.206936 chris@162: 0.203383 0.199862 0.196371 0.19291 0.189481 0.186082 0.182714 0.179377 chris@162: 0.176071 0.172795 0.16955 0.166336 0.163153 0.16 0.156878 0.153787 chris@162: 0.150727 0.147697 0.144698 0.14173 0.138793 0.135886 0.13301 0.130165 chris@162: 0.127351 0.124567 0.121815 0.119093 0.116401 0.113741 0.111111 0.108512 chris@162: 0.105944 0.103406 0.1009 0.0984237 0.0959785 0.093564 0.0911803 0.0888274 chris@162: 0.0865052 0.0842138 0.0819531 0.0797232 0.077524 0.0753556 0.073218 chris@162: 0.0711111 0.069035 0.0669896 0.064975 0.0629911 0.0610381 0.0591157 chris@162: 0.0572241 0.0553633 0.0535332 0.0517339 0.0499654 0.0482276 0.0465206 chris@162: 0.0448443 0.0431988 0.041584 0.04 0.0384467 0.0369243 0.0354325 0.0339715 chris@162: 0.0325413 0.0311419 0.0297732 0.0284352 0.027128 0.0258516 0.0246059 chris@162: 0.023391 0.0222068 0.0210534 0.0199308 0.0188389 0.0177778 0.0167474 chris@162: 0.0157478 0.0147789 0.0138408 0.0129335 0.0120569 0.0112111 0.010396 chris@162: 0.00961169 0.00885813 0.00813533 0.00744329 0.00678201 0.00615148 0.00555171 chris@162: 0.0049827 0.00444444 0.00393695 0.00346021 0.00301423 0.002599 0.00221453 chris@162: 0.00186082 0.00153787 0.00124567 0.000984237 0.000753556 0.000553633 chris@162: 0.000384467 0.000246059 0.000138408 6.15148e-05 1.53787e-05 0; chris@162: #X coords 0 1 512 0 512 64 1 0 0; chris@162: #X restore 24 516 graph; chris@162: #X text 244 55 centre signal around zero and take abs value; chris@162: #X text 243 107 if greater than threshold output 1; chris@162: #X text 313 129 differentiator; chris@162: #X text 238 150 (generates impulse on positive trigger (0->1); chris@162: #X text 67 210 signal-rate counter; chris@162: #X text 296 193 -> resets counter by briefly setting; chris@162: #X text 314 204 rpole~ coeff to 0; chris@162: #X text 246 391 kickdrum 101 :P; chris@162: #X text 400 494 pre-generated envelope; chris@162: #X obj 262 249 *~; chris@162: #X connect 0 0 4 0; chris@162: #X connect 1 0 5 0; chris@162: #X connect 2 0 1 1; chris@162: #X connect 3 0 2 0; chris@162: #X connect 4 0 11 0; chris@162: #X connect 5 0 13 0; chris@162: #X connect 6 0 1 0; chris@162: #X connect 7 0 8 1; chris@162: #X connect 8 0 5 1; chris@162: #X connect 10 0 29 0; chris@162: #X connect 11 0 8 0; chris@162: #X connect 12 0 14 0; chris@162: #X connect 12 0 24 0; chris@162: #X connect 13 0 15 0; chris@162: #X connect 14 0 10 0; chris@162: #X connect 15 0 12 0; chris@162: #X connect 16 0 0 0; chris@162: #X connect 17 0 16 0; chris@162: #X connect 18 0 17 0; chris@162: #X connect 19 0 20 0; chris@162: #X connect 20 0 15 1; chris@162: #X connect 21 0 0 1; chris@162: #X connect 22 0 40 0; chris@162: #X connect 22 0 40 1; chris@162: #X connect 23 0 10 1; chris@162: #X connect 24 0 26 0; chris@162: #X connect 24 0 26 1; chris@162: #X connect 25 0 23 0; chris@162: #X connect 26 0 27 0; chris@162: #X connect 27 0 25 0; chris@162: #X connect 28 0 20 1; chris@162: #X connect 40 0 28 0; chris@162: #X restore 28 174 pd env; chris@162: #X obj 79 110 adc~ 9; chris@162: #X obj 129 130 adc~ 10; chris@162: #X obj 28 90 adc~ 8; chris@162: #X text 72 90 piezo input for excitation; chris@162: #X text 123 110 fader 1 sets threshold; chris@162: #X text 183 130 fader 2 sets duration; chris@162: #X text 29 17 SAMPLE-ACCURATE ENVELOPE TRIGGER; chris@162: #X text 29 27 ================================; chris@162: #X text 142 259 @krighxz / BELA / heavy / 11/2015; chris@162: #X connect 1 0 0 0; chris@162: #X connect 1 0 0 1; chris@162: #X connect 2 0 1 1; chris@162: #X connect 3 0 1 2; chris@162: #X connect 4 0 1 0;