Jitter
Envelopes & ModjitterLight CPU
Randomly-segmented drift — new target, new duration, every segment.
What it does
Randomly-segmented random line — irregular, organic drift.
Wraps daisysp::Jitter (LGPL). It interpolates toward a fresh random target, and when it arrives it draws both a new target and a new segment duration between Rate Min and Rate Max. Every setter on the class calls its internal Reset(), so the two rate bounds are baked once at init; Amp is instead applied as a post-multiply on the output, which leaves it modulatable without restarting the segment.
Parameters
-
Rate Min (Hz)
cpsMinThe slowest a segment may be. Each new segment picks its own duration at random between Rate Min and Rate Max, which is what makes the drift irregular rather than merely smooth. Set at build time — changing it while the patch runs would restart the segment on every sample.
-
Rate Max (Hz)
cpsMaxThe fastest a segment may be. Bring it close to Rate Min for an almost-regular wobble; open the gap wide for movement that lurches and then hangs. Set at build time, for the same reason as Rate Min.
-
Amplitude
amplitudeOutput depth. Applied as a post-multiply rather than through the class's own amplitude setter, so this one IS safe to modulate — wire an envelope here to fade the drift in and out.
Random drift with a random rhythm: each segment slews to a new random value over a duration drawn between Rate Min and Rate Max. Output is unipolar 0..Amp. Rate Min / Max are baked at build time; Amp is per-sample (modulatable). Compare Smooth Random, whose rate is fixed.
Ports
In
-
Amp
amplitude
Out
-
Out
output
Audio Control
Inputs
- Amp
- Post-multiply depth — wire an envelope or knob.
Outputs
- Out
- Drifting value, 0..amp. Unipolar, despite what the DaisySP header says.
Rules and gotchas
- Rate Min / Rate Max are baked at build time and have no ports — every setter on this class resets the segment, so a per-sample setter would turn the drift into noise.
- Output is UNIPOLAR 0..Amp, not −Amp..+Amp: it carries a DC offset. Subtract with Math or re-centre with Scale / Offset if a destination expects bipolar travel.
- Rate Min above Rate Max is swapped at emit rather than trusted — an inspector bound does not constrain the pair.
- This module is LGPL and links only because the Makefile sets USE_DAISYSP_LGPL = 1, as with Balance, Comb and Line / Ramp.