Automation
Animate parameters over time
Overview
Use env() to animate any effect parameter over beats. Create filter sweeps, volume builds, and evolving textures.
Basic Usage
// Filter sweep over 4 beats
bass |> lowpass(env(0: 200, 4: 4000))
// Volume build
drums |> gain(env(0: 0.3, 4: 1.0))
// Auto-pan
lead |> pan(env(0: -1, 2: 1, loop: true))Syntax
env(beat1: value1, beat2: value2, ..., curve: "type", loop: bool)| Parameter | Type | Default | Description |
|---|---|---|---|
beat: value | pairs | required | Keyframes at beat positions |
curve | string | "linear" | Interpolation curve |
loop | bool | false | Loop envelope at last keyframe |
Curves
- linear - Straight line interpolation (default)
- exp - Exponential curve (good for frequencies)
- log - Logarithmic curve (good for volume)
- step - Jump to value at keyframe (no interpolation)
Examples
// Psytrance filter sweep with exponential curve
bass |> saw |> lowpass(env(0: 200, 4: 4000, curve: "exp"))
// Looping auto-pan for stereo movement
lead |> pan(env(0: -1, 2: 1, loop: true))
// Volume riser
riser |> gain(env(0: 0, 8: 1.0))
// Step modulation for rhythmic effects
synth |> lowpass(env(0: 500, 0.5: 2000, 1: 500, 1.5: 2000, loop: true, curve: "step"))Supported Parameters
Envelope automation works with:
lowpass(cutoff, resonance)highpass(cutoff, resonance)bandpass(cutoff, resonance)notch(cutoff, resonance)diode(cutoff, resonance)reverb(size, mix)convolve(mix)delay(time, feedback)distortion(drive, tone)clip(threshold)gain(level)pan(position)wavetable(position)