Vac is a semi-stable attack/release envelope generator in 6 HP. It has the usual A/R shape, and each stage has a STAB (stability) control that varies its timing from one cycle to the next by an amount you set, much as the response of a vactrol (an LED driving a photoresistor) drifts. At STAB=0 it is an ordinary, repeatable envelope. Turn STAB up or down and each trigger’s rise or fall, or both, stretches or shortens by a fresh random amount, so a repeated pattern no longer plays with identical timing on every note.
How the drift works
Each rising-edge trigger samples a fresh random factor for the rise and fall stages, scaled exponentially by their STAB knobs:
factor = exp(STAB · r · ln 2.5) where r = random 0..1
- STAB = 0 → factor = 1 (perfectly stable, like any normal envelope).
- STAB = +1 → factor in 1×-2.5× (stages run longer, by a random amount each cycle).
- STAB = −1 → factor in 0.4×-1× (stages run shorter).
The exponential form is log-symmetric around 1, so STAB never shortens a stage to zero. A multiplicative factor also matches how a vactrol drifts: its timing scales up and down rather than gaining or losing a fixed amount. Rise and fall have independent STAB controls, so you can keep attacks tight while letting releases wander, or vice versa.
Controls
| Control | Function |
|---|---|
| RISE | Attack time |
| RISE STAB | Bipolar stability of the rise stage (0 = stable; ± = random longer/shorter per trigger) |
| FALL | Release time |
| FALL STAB | Bipolar stability of the fall stage |
| CURVE | Blends linear-rate to exponential-rate stage shaping (Swell-style), applied to both stages |
| LOOP (button + LED) | Latches auto-retriggering: when the fall completes, a new cycle starts. Toggling LOOP on from idle also kicks off a cycle (no external trigger needed) |
Inputs
| Input | Function |
|---|---|
| TRIG | Rising edge starts one A/R cycle |
| RISE CV | Rise time modulation (±5V → ±50%) |
| RISE STAB CV | Rise stability modulation |
| FALL CV | Fall time modulation |
| FALL STAB CV | Fall stability modulation |
| CURVE CV | Curve modulation (±5V → ±50%) |
Outputs
| Output | Function |
|---|---|
| ENV | The envelope, 0-10V |
| END | 1ms trigger fired at the end of each fall stage (chain it, or use it to clock other events at the envelope’s own drifting rate) |
Context menu
- Continuous drift (rate wobbles during stage): instead of one random factor sampled per stage, the rate varies smoothly throughout each stage, so the speed changes partway through a rise or fall as well as between cycles.
Patch ideas
Humanized plucks: trigger Vac from a sequencer’s gate, set a short RISE and medium FALL, and set RISE STAB and FALL STAB to about ±0.2. Each note’s envelope is slightly different in length, while the notes still start on the sequencer’s steps.
Self-running drifting LFO: turn on LOOP with no trigger patched and Vac runs on its own. Raise the STAB controls and it becomes a slow LFO whose period changes on every cycle. Take END to clock other modules at that varying rate.
Vactrol-style filter pings: send ENV to a filter’s cutoff or a VCA, trigger it rhythmically, and use FALL STAB to vary the length of each decay, as a vactrol-based low-pass gate does.
Generative timing: patch END to the TRIG of another Vac, or back into a sequencer’s clock, so the drifting release time sets when the next event happens. Small STAB values give rhythms whose spacing varies slightly from beat to beat.
Fixed timing: set both STAB knobs to 0 and Vac is a repeatable A/R envelope with a linear-to-exponential CURVE control.
In the synthesis guide
- ADSR Envelopes: Attack, Decay, Sustain, Release
An envelope turns each gate into a control signal that rises and falls in four stages: attack, decay, sustain and release.
Pair with
-
OvertoneUse Vac as Overtone's amplitude envelope, and each additive note rises and falls over a slightly different time.
-
IntoneShape Intone's level with Vac, and each vocal phrase swells and fades a little differently from the last.
-
TineTrigger Tine and shape its ring with Vac, and the decay of each hit varies a little in length.