v0.1Latest

Modulation and Envelopes

Modulation and Envelopes

Modulation is how a patch changes over time. A modulation source produces a moving control signal, and you route that signal into a control input somewhere else in the patch.

Most modulation sources output control signals, usually in a 0 to 1 or -1 to +1 range. Match that range to the destination with Map Range when they differ. See Data Types and Conversion for why range and unit matter.

Envelopes

An envelope is a one-shot shape triggered by a note. Use ADSR for the classic attack, decay, sustain, release contour.

  • The Gate input accepts MIDI, gate, or trigger, so you can drive it straight from MIDI Input or from a MIDI Decode gate.
  • The Velocity input scales the output by how hard the note was played.
  • Attack, Decay, and Release are in seconds; Sustain is a 0 to 1 level; Curve chooses linear, exponential, or logarithmic shaping.
  • The Envelope output is a 0 to 1 control signal.

The most common destination is amplitude. Send the envelope to the Gain input of a VCA so the note fades in and out instead of droning.

LFOs

An LFO is a free-running cyclic source for vibrato, tremolo, and slow sweeps.

  • Waveform picks sine, triangle, saw up, saw down, square, or sample-and-hold.
  • Rate sets the speed in Hz; the Rate input lets another signal modulate it.
  • Polarity chooses bipolar (-1 to +1) or unipolar (0 to +1). Bipolar swings above and below the centre; unipolar only adds.
  • Range Mode with Out Min and Out Max maps the output to an explicit range so you do not need a separate Map Range.
  • The Reset trigger restarts the phase, which is useful for syncing the LFO to a note or clock.

Other Modulation Sources

  • Random produces a new random value each time its Trigger fires, bounded by Min and Max. Good for per-note variation.
  • Sample & Hold samples its input on each trigger and holds that value until the next one. Feed it noise or an LFO for stepped, stair-step modulation.
  • Slew Limiter smooths a signal by limiting how fast it can change. Use it for portamento on pitch or to soften a jumpy controller.

Common Patch Examples

Amplitude envelope

This turns the droning oscillator from Getting Started into a played note.

  1. MIDI Input MIDI Out → ADSR Gate.
  2. ADSR Envelope → VCA Gain.
  3. Oscillator Signal → VCA Signal → Audio Output Audio In.
graph LR MIDI[MIDI Input] -->|Gate| ADSR[ADSR] ADSR -->|Envelope| VCA[VCA] OSC[Oscillator] -->|Signal| VCA VCA -->|Audio| OUT[Audio Output]

LFO filter sweep

  1. LFO Signal → Map Range into a useful cutoff span, for example 200 Hz to 2000 Hz.
  2. Map Range output → Filter cutoff.
graph LR LFO[LFO] -->|Signal| MAP[Map Range] MAP -->|Cutoff| FILT[Filter]

Set the LFO to unipolar if you only want the cutoff to rise from a base, or bipolar to swing around a centre.

Stepped random pitch

  1. A clock or LFO trigger drives Sample & Hold.
  2. Feed Sample & Hold a changing source on its input.
  3. Send the held value through Map Range into an oscillator pitch input.
graph LR TRIG[Clock / LFO] -->|Trigger| SH[Sample & Hold] SRC[Changing source] -->|Input| SH SH -->|Held value| MAP[Map Range] MAP -->|Pitch| OSC[Oscillator]

Rules of Thumb

  • A source produces movement; a destination is the control input you route it into.
  • Use an ADSR into a VCA for amplitude. Use an LFO for repeating motion.
  • Match range and unit at the destination. Reach for Map Range when they differ.
  • Bipolar modulation swings both ways; unipolar only adds. Pick the one the destination expects.
  • Use Slew Limiter to smooth, Sample & Hold to step, and Random to vary.