Chorus Module — BBD Stereo Chorus
Juno-inspired BBD (Bucket Brigade Device) stereo chorus with two delay lines, each modulated by a triangle-wave LFO. Supports three modes: I, II, and I+II.
Files
static/js/synth/modules/chorus.js
Signal Flow
┌──→ dryGain ──┐
│ │
input ──→ split ────┼──→ delay1 ──→ wet1 ──┼──→ mix ──→ output
│ ↑ LFO1 │
│ │
└──→ delay2 ──→ wet2 ──┘
↑ LFO2
- Mode I: delay1 only (LFO1 at
chorusRate, depthchorusDepth) - Mode II: delay2 only (LFO2 at
chorusRate × 2.5) - Mode I+II: both delays active
- Off: dry signal passes at unity, wet gains set to 0
Parameters
| Param | Range | Default | Description |
|---|---|---|---|
chorusMode |
off/I/II/I+II | off | Chorus mode selector |
chorusRate |
0.1–5 Hz | 0.7 Hz | LFO rate for delay time modulation |
chorusDepth |
0–1 | 0.5 | Modulation depth (scales LFO gain to delayTime) |
Exports
| Export | Signature | Purpose |
|---|---|---|
paramDefs |
— | Parameter definitions for UI generation |
build |
(ctx, params, input, dur) |
Create two delay lines with LFOs, dry/wet sum |
update |
(nodes, params) |
Update mode, rate, depth |
Build Details
- Two
DelayNodes (max 50 ms), initial delay times 15 ms / 22 ms - Two triangle-wave
OscillatorNodes started immediately, run continuously - LFO outputs connect through
GainNodes todelayTimeAudioParams - Dry/wet gains: mode-off =
1/0, mode-on =0.5/0.5 - Mode II LFO runs at
rate × 2.5for a wider stereo effect