911 eg
moog911 · modulation911 Envelope Generator (moogafakkin System 55/35 clone — categorized under Ports -> moogafakkin). NOT a literal ADSR: a three-time-constant CONTOUR generator with a single sustain LEVEL. On S-trigger (gate high) it ATTACKS over T1 from 0 to the peak (1.0), INITIAL-DECAYS over T2 down to ESUS (the sustain level), then HOLDS at ESUS while the gate is held; on release (gate low) it FINAL-DECAYS over T3 back to 0. Trigger-close forces the T3 final-decay stage regardless of which stage was running, so a short trigger that releases mid-attack still decays over T3 from wherever it reached. T1 / T2 / T3 each span up to 10 s (log knobs); ESUS is a linear 0..1 level. Outputs the unipolar 0..1 contour on env plus an inverted tap (1 - env) on env_inv for ducking / sidechain modulation. CV inputs (t1_cv / t2_cv / t3_cv log-scaled, esus_cv linear) sweep each control. DSP is own-code: a clean-room exponential-segment contour generator (not a port of any moogafakkin schematic or copyleft source - permissive only). Beige moogafakkin faceplate (the intrinsic always-on look shared by the moogafakkin module family).
the faceplate
inputs
| id | cable | what it does |
|---|---|---|
gate | gate | The trigger/sustain gate (an S-trigger). A rising edge starts the contour (ATTACK → INITIAL DECAY → hold at SUSTAIN); the envelope holds at the sustain level while the gate stays high, and the falling edge starts the FINAL DECAY (T3) back to zero. A short gate that falls before settling still triggers a clean release. gate / trigger; gate — acts while the level is high (reacts to both edges) |
t1_cv | cv | CV that scales the ATTACK time (T1) around the knob setting: a positive voltage lengthens the rise, a negative one shortens it (log-scaled, so the full natural decade range sweeps centered on where you set the knob). control voltage (CV); modulates t1 (multiplicative ≈ octaves — ±1 CV spans the param’s log range) |
t2_cv | cv | CV that scales the INITIAL-DECAY time (T2) — how fast the envelope falls from its peak down to the sustain level — around the knob setting (log-scaled). control voltage (CV); modulates t2 (multiplicative ≈ octaves — ±1 CV spans the param’s log range) |
esus_cv | cv | CV that displaces the SUSTAIN LEVEL (Esus, 0..1) up or down from the knob position, changing the level the contour holds at while the gate is held (linear, unipolar). control voltage (CV); modulates esus (additive offset — ±1 CV sweeps the full range, centered on the knob) |
t3_cv | cv | CV that scales the FINAL-DECAY time (T3) — the release slope back to zero after the gate falls — around the knob setting (log-scaled). control voltage (CV); modulates t3 (multiplicative ≈ octaves — ±1 CV spans the param’s log range) |
outputs
| id | cable | what it does |
|---|---|---|
env | cv | The contour itself, a unipolar 0..1 control voltage. Patch it into a VCA's gain or a filter's cutoff to shape each note's loudness/brightness over time. control voltage (CV) |
env_inv | cv | The inverted contour (1 − env): high when the envelope is low and vice-versa. The standard Eurorack ducking/sidechain tap — patch it into a VCA to pull a level DOWN whenever the envelope fires. Note that it therefore SITS AT FULL SCALE (exactly 1.0) at rest, with nothing patched and no gate — measured bit-exactly over a full unpatched second — so it is a live DC source the moment you patch it, not a silent jack waiting for a trigger. control voltage (CV) |
params
| id | label | range | default | curve |
|---|---|---|---|---|
t1 | T1 | 0.0001..10s | 0.01 | log |
t2 | T2 | 0.0001..10s | 0.2 | log |
esus | Esus | 0..1 | 0.6 | linear |
t3 | T3 | 0.0001..10s | 0.4 | log |
controls
| control | what it does |
|---|---|
| Esus | SUSTAIN LEVEL (Esus): the level the envelope holds at while the gate is held, from 0 (decays all the way to silence, an AD-style pluck) to 1 (holds at full, no initial decay). ⚠ It is the module's only control that changes what ANOTHER control does: it sets how far both the initial decay and the final decay have to travel, so it re-times T2 and T3 without either of those dials moving. |
| T1 | ATTACK time (T1): how fast the envelope rises when the gate opens — from an instant click to a slow ~10 s swell (log taper). ⚠ It is a TIME CONSTANT, not the stage's duration: the rise actually completes in T1 × 1.38, so the 10 ms default delivers 13.8 ms. It also decides whether a short TRIGGER opens the envelope at all — a 1 ms pulse (what the 911A emits) reaches only 39 % of full scale at the default, and needs T1 at or below about 0.7 ms to open the contour fully. |
| T2 | INITIAL-DECAY time (T2): how fast the envelope settles from its peak onto the SUSTAIN level after the attack completes (log taper). ⚠ Its real duration is set by SUSTAIN LEVEL as much as by this dial, because the stage ends when the envelope gets within 0.001 of the shelf: at T2 = 0.2 s the settle takes 276 ms at Esus 0, 240 ms at the 0.6 default and 92 ms at Esus 0.99, and above Esus 0.999 the contour is already there — the stage is skipped and this dial does nothing at all. |
| T3 | FINAL-DECAY time (T3): the release — how fast the envelope falls back to zero after the gate falls (log taper). A trigger close forces T3 from whatever stage the contour was in. ⚠ Like T2 its real duration depends on SUSTAIN LEVEL, because that is the height it falls FROM: at T3 = 0.4 s a release off the shelf takes 640 ms at Esus 0.3, 696 ms at the 0.6 default and 737 ms at Esus 1, and at Esus 0 there is nothing left on the shelf to decay (a release caught mid-attack still uses T3 normally). |
source
moog911.ts on GitHub.