aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nusmuk-audio/ADSR-help.pd33
-rw-r--r--nusmuk-audio/ADSR.pd145
2 files changed, 178 insertions, 0 deletions
diff --git a/nusmuk-audio/ADSR-help.pd b/nusmuk-audio/ADSR-help.pd
new file mode 100644
index 0000000..7b534f0
--- /dev/null
+++ b/nusmuk-audio/ADSR-help.pd
@@ -0,0 +1,33 @@
+#N canvas 745 272 838 561 12;
+#X obj 49 377 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
+-1 -1 7366 1;
+#X obj 49 46 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1
+;
+#X obj 49 344 * 127;
+#X obj 49 315 ADSR -------;
+#X obj 72 78 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
+-1 -1 0 1;
+#X obj 95 98 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
+-1 -1 0 1;
+#X obj 118 123 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
+-1 -1 0 1;
+#X obj 142 149 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
+-1 -1 0 1;
+#X text 280 37 Standard analog style ADSR;
+#X text 92 74 Attack;
+#X text 118 94 Decay;
+#X text 138 116 Sustain;
+#X text 159 140 Release;
+#X text 72 43 On / Off;
+#X obj 118 288 / 127;
+#X text 281 73 A \, D \, R are from 0 to 127 \, using arbitrary unit
+;
+#X text 280 102 S is from 0 to 1 \, output is from 0 to 1;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 4 0 3 1;
+#X connect 5 0 3 2;
+#X connect 6 0 14 0;
+#X connect 7 0 3 4;
+#X connect 14 0 3 3;
diff --git a/nusmuk-audio/ADSR.pd b/nusmuk-audio/ADSR.pd
new file mode 100644
index 0000000..c6fd574
--- /dev/null
+++ b/nusmuk-audio/ADSR.pd
@@ -0,0 +1,145 @@
+#N canvas 94 563 851 413 10;
+#X obj 86 222 f;
+#X obj 86 96 metro 5;
+#X obj 86 77 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1
+;
+#X msg 263 140 -0.05;
+#N canvas 149 275 450 300 attack 0;
+#X obj 23 29 inlet;
+#X obj 23 79 outlet;
+#X obj 118 156 s rampe_time;
+#X obj 118 106 f;
+#X obj 133 30 inlet;
+#X obj 23 52 t b b;
+#X obj 118 130 max 0.01;
+#X connect 0 0 5 0;
+#X connect 3 0 6 0;
+#X connect 4 0 3 1;
+#X connect 5 0 1 0;
+#X connect 5 1 3 0;
+#X connect 6 0 2 0;
+#X restore 193 113 pd attack;
+#X obj 98 288 change;
+#X obj 98 309 sel 1;
+#X obj 316 139 f;
+#X obj 193 82 sel 1 0;
+#N canvas 1 113 450 300 release 0;
+#X obj 23 29 inlet;
+#X obj 23 166 outlet;
+#X obj 118 165 s rampe_time;
+#X obj 118 106 f;
+#X obj 23 50 t b b;
+#X obj 133 32 inlet;
+#X obj 118 139 max 0.01;
+#X connect 0 0 4 0;
+#X connect 3 0 6 0;
+#X connect 4 0 1 0;
+#X connect 4 1 3 0;
+#X connect 5 0 3 1;
+#X connect 6 0 2 0;
+#X restore 263 114 pd release;
+#X obj 119 220 r rampe_time;
+#N canvas 88 319 560 586 iir 0;
+#X obj 18 40 inlet;
+#X obj 159 466 outlet;
+#X obj 159 316 +;
+#X obj 230 240 + 1;
+#X obj 230 46 inlet;
+#X obj 230 183 1;
+#X obj 230 160 /;
+#X msg 230 139 1 \$1;
+#X obj 159 351 / 2;
+#X obj 159 223 * 1;
+#X obj 159 186 t f f;
+#X obj 18 62 route float reset;
+#X obj 76 86 route float;
+#X msg 150 108 0;
+#X msg 377 311 0;
+#X obj 299 263 moses -1e-25;
+#X obj 376 286 moses 1e-25;
+#X obj 159 377 max 0;
+#X obj 159 396 min 1;
+#X connect 0 0 11 0;
+#X connect 2 0 8 0;
+#X connect 3 0 8 1;
+#X connect 4 0 7 0;
+#X connect 5 0 3 0;
+#X connect 5 0 9 1;
+#X connect 6 0 5 0;
+#X connect 7 0 6 0;
+#X connect 8 0 17 0;
+#X connect 9 0 2 0;
+#X connect 10 0 9 0;
+#X connect 11 0 10 0;
+#X connect 11 1 12 0;
+#X connect 12 0 2 1;
+#X connect 12 1 13 0;
+#X connect 13 0 2 1;
+#X connect 14 0 2 1;
+#X connect 15 0 2 1;
+#X connect 15 1 16 0;
+#X connect 16 0 14 0;
+#X connect 16 1 2 1;
+#X connect 17 0 18 0;
+#X connect 18 0 1 0;
+#X connect 18 0 15 0;
+#X restore 86 242 pd iir;
+#X obj 86 57 loadbang;
+#X obj 86 358 outlet;
+#X obj 193 -1 inlet;
+#X obj 286 3 inlet;
+#X obj 367 5 inlet;
+#X obj 452 6 inlet;
+#X obj 525 6 inlet;
+#N canvas 1 101 450 300 decay 0;
+#X obj 23 29 inlet;
+#X obj 23 159 outlet;
+#X obj 118 159 s rampe_time;
+#X obj 118 106 f;
+#X obj 23 50 t b b;
+#X obj 133 28 inlet;
+#X obj 118 133 max 0.01;
+#X connect 0 0 4 0;
+#X connect 3 0 6 0;
+#X connect 4 0 1 0;
+#X connect 4 1 3 0;
+#X connect 5 0 3 1;
+#X connect 6 0 2 0;
+#X restore 98 330 pd decay;
+#X obj 98 267 >= 1;
+#X msg 193 139 1.05;
+#X obj 286 54 pow 3;
+#X obj 367 57 pow 3;
+#X obj 525 58 pow 2;
+#X obj 524 27 / 6;
+#X obj 367 29 / 6;
+#X obj 286 29 / 6;
+#X connect 0 0 11 0;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 0 0;
+#X connect 4 0 21 0;
+#X connect 5 0 6 0;
+#X connect 6 0 19 0;
+#X connect 7 0 0 0;
+#X connect 8 0 4 0;
+#X connect 8 1 9 0;
+#X connect 9 0 3 0;
+#X connect 10 0 11 1;
+#X connect 11 0 13 0;
+#X connect 11 0 20 0;
+#X connect 12 0 2 0;
+#X connect 14 0 8 0;
+#X connect 15 0 27 0;
+#X connect 16 0 26 0;
+#X connect 17 0 7 1;
+#X connect 18 0 25 0;
+#X connect 19 0 7 0;
+#X connect 20 0 5 0;
+#X connect 21 0 0 0;
+#X connect 22 0 4 1;
+#X connect 23 0 19 1;
+#X connect 24 0 9 1;
+#X connect 25 0 24 0;
+#X connect 26 0 23 0;
+#X connect 27 0 22 0;