Pure sine wave. The simplest waveform with no harmonics.
~mod marks parameters that accept inline modulation — e.g. lpf/200~4000:2, verb/0>0.9:8, combfreq/100?1200:0.5.
Basic
see also OscillatorWavetableThese sources provide fundamental waveforms that can be combined and manipulated to create complex sounds. They are inspired by classic substractive synthesizers.
sine
tri
Triangle wave. Contains only odd harmonics with gentle rolloff.
saw
Band-limited sawtooth wave. Rich in harmonics, bright and buzzy.
zaw
Naive sawtooth with no anti-aliasing. Cheaper but more aliasing artifacts than saw.
pulse
Band-limited pulse wave. Hollow sound with only odd harmonics. Use /pw to control pulse width.
pulze
Naive pulse with no anti-aliasing. Cheaper but more aliasing artifacts than pulse.
white
White noise. Equal energy at all frequencies.
pink
Pink noise (1/f). Equal energy per octave, more natural sounding.
brown
Brown/red noise (1/f^2). Deep rumbling, heavily weighted toward low frequencies.
osc
Morphing oscillator. Sweeps through sine, triangle, saw, and square as wave goes from 0 to 1. The wave parameter is modulable.
pluck
Karplus-Strong plucked string. A noise burst rings through a tuned, damped feedback loop. The string is retuned every sample, so vibrato and pitch modulation bend it continuously. Aliases: ks, string.
Every source names its three tone-shaping parameters this way: semantic names per source, while the generic timbre, harmonics, and morph work on all of them — useful when retargeting a sounding voice without restating sound.
| param | alias | range | default | description |
|---|---|---|---|---|
| bright~mod | timbre | 0–1 | 0.5 | brightness (loop damping: 0 = dark thud, 1 = bright ring) |
| ring~mod | harmonics, harm | 0–1 | 0.5 | sustain (0 = dead, 0.5 ≈ half-second tail, 1 = drone) |
| excite~mod | morph | 0–1 | 0.5 | excitation color (0 = soft dark pluck, 1 = snappy attack) |
Drums
Synthesized percussion. Each drum has percussive defaults so it sounds right without extra parameters. All tonal drums (kick, snare, tom, rim) support wave to change the oscillator waveform: 0 = sine (default), 0.5 = triangle, 1 = sawtooth. Values in between crossfade smoothly.
Each drum names its tone-shaping parameters semantically; the generic timbre, harmonics, and morph still work on every drum as aliases.
kick
Pitched body with sweep and optional saturation. Aliases: bd. Default freq: 55 Hz.
| param | alias | range | default | description |
|---|---|---|---|---|
| sweep~mod | morph | 0–1 | 0.5 | sweep depth (subtle to boomy) |
| punch~mod | harmonics, harm | 0–1 | 0.5 | sweep speed |
| drive~mod | timbre | 0–1 | 0.5 | saturation |
| wave~mod | waveform | 0–1 | 0 | oscillator waveform (0 sine, 0.5 triangle, 1 sawtooth) |
snare
Body + noise. Aliases: sd. Default freq: 180 Hz.
| param | alias | range | default | description |
|---|---|---|---|---|
| snappy~mod | timbre | 0–1 | 0.5 | body/noise mix |
| bright~mod | harmonics, harm | 0–1 | 0.5 | noise brightness |
| wave~mod | waveform | 0–1 | 0 | oscillator waveform (0 sine, 0.5 triangle, 1 sawtooth) |
hat
Phase-modulated metallic tone through a resonant lowpass. Aliases: hh, hihat. Default freq: 320 Hz.
| param | alias | range | default | description |
|---|---|---|---|---|
| metal~mod | morph | 0–1 | 0.5 | clean to metallic (ratio spread) |
| bright~mod | harmonics, harm | 0–1 | 0.5 | dark to bright (filter cutoff) |
| reso~mod | timbre | 0–1 | 0.5 | filter resonance |
tom
Pitched body with gentle sweep and optional noise. Default freq: 120 Hz.
| param | alias | range | default | description |
|---|---|---|---|---|
| sweep~mod | morph | 0–1 | 0.5 | sweep depth |
| punch~mod | harmonics, harm | 0–1 | 0.5 | sweep speed |
| noise~mod | timbre | 0–1 | 0.5 | stick-noise amount |
| wave~mod | waveform | 0–1 | 0 | oscillator waveform (0 sine, 0.5 triangle, 1 sawtooth) |
rim
Short pitched click with noise. Aliases: rimshot, rs. Default freq: 400 Hz.
| param | alias | range | default | description |
|---|---|---|---|---|
| shift~mod | morph | 0–1 | 0.5 | upper partial shift |
| bright~mod | harmonics, harm | 0–1 | 0.5 | click brightness |
| ring~mod | timbre | 0–1 | 0.5 | ring length |
| wave~mod | waveform | 0–1 | 0 | oscillator waveform (0 sine, 0.5 triangle, 1 sawtooth) |
cowbell
Two detuned oscillators through a bandpass. Aliases: cb. Default freq: 540 Hz.
| param | alias | range | default | description |
|---|---|---|---|---|
| clang~mod | morph | 0–1 | 0.5 | detune amount |
| bright~mod | harmonics, harm | 0–1 | 0.5 | brightness (bandpass center) |
| drive~mod | timbre | 0–1 | 0.5 | metallic bite (saturation) |
cymbal
Inharmonic metallic wash with filtered noise. Aliases: crash, cy. Default freq: 420 Hz.
| param | alias | range | default | description |
|---|---|---|---|---|
| metal~mod | morph | 0–1 | 0.5 | ratio spread (bell-like to crash) |
| bright~mod | harmonics, harm | 0–1 | 0.5 | brightness (dark to sizzly) |
| sizzle~mod | timbre | 0–1 | 0.5 | noise tail (pure metallic to noisy crash) |
Io
This special source allows you to create a live audio input (microphone) source. Click the ‘Enable Mic’ button in the nav bar first. Effects chain applies normally, envelopes are applied to the input signal too.
live
Live audio input (microphone). Click the ‘Enable Mic’ button in the nav bar first. Effects chain applies normally.
Wavetable
see also BasicYou can use any audio sample as a wavetable oscillator. The sample is played at the specified pitch. The cycle length for each wavetable can be specified with wtlen. Use audio-rate modulation on scan to animate the wavetable position (e.g. scan “0~1:2t”).
scan ~mod
Wavetable position. For multi-cycle wavetables, morphs between adjacent waveforms.
wtlen
Cycle length in samples. Set to 0 to use entire sample as one cycle. Common values: 256, 512, 1024, 2048 (Serum standard).
Soundfont
General MIDI playback using SF2 soundfont files. Native engine only — examples on this page won’t produce sound in the browser. Place an .sf2 file inside your samples directory and start doux with --samples.
gm[preset]
Plays a General MIDI instrument. The preset name is part of the source: gmpiano, gmstrings, gmdrums, etc. The engine reads envelope and loop data from the soundfont.
Available preset names
| 0 | gmpiano | 24 | gmguitar | 48 | gmstrings | 72 | gmpiccolo |
| 1 | gmbrightpiano | 25 | gmsteelguitar | 49 | gmslowstrings | 73 | gmflute |
| 4 | gmepiano | 26 | gmjazzguitar | 52 | gmchoir | 74 | gmrecorder |
| 6 | gmharpsichord | 27 | gmcleangt | 56 | gmtrumpet | 75 | gmpanflute |
| 7 | gmclavinet | 29 | gmoverdrive | 57 | gmtrombone | 79 | gmwhistle |
| 8 | gmcelesta | 30 | gmdistgt | 58 | gmtuba | 80 | gmocarina |
| 9 | gmglockenspiel | 33 | gmbass | 60 | gmhorn | 81 | gmlead |
| 10 | gmmusicbox | 34 | gmpickbass | 61 | gmbrass | 82 | gmsawlead |
| 11 | gmvibraphone | 35 | gmfretless | 64 | gmsopranosax | 89 | gmpad |
| 12 | gmmarimba | 36 | gmslapbass | 65 | gmaltosax | 90 | gmwarmpad |
| 13 | gmxylophone | 38 | gmsynthbass | 66 | gmtenorsax | 91 | gmpolysynth |
| 14 | gmbells | 40 | gmviolin | 67 | gmbarisax | 104 | gmsitar |
| 16 | gmorgan | 41 | gmviola | 68 | gmoboe | 105 | gmbanjo |
| 19 | gmchurchorgan | 42 | gmcello | 70 | gmbassoon | 108 | gmkalimba |
| 21 | gmaccordion | 43 | gmcontrabass | 71 | gmclarinet | 114 | gmsteeldrum |
| 22 | gmharmonica | 45 | gmpizzicato | ||||
| 46 | gmharp | ||||||
| 47 | gmtimpani |
Drums are on a separate bank: use gmdrums or gmpercussion.
Pitch
see also VibratoPitch control for all sources, including audio samples.
freq ~mod
The frequency of the sound. Has no effect on noise.
note ~mod
The note (midi number) that should be played. If both note and freq is set, freq wins.
speed ~mod
Multiplies with the source frequency or buffer playback speed.
detune ~mod
Shifts the pitch by the given amount in cents. 100 cents = 1 semitone.
Timing
The engine clock starts at 0 and advances with each sample. Events with time are scheduled and fired when the clock reaches that value. The gate sets how long the gate stays open before triggering release.
time
The time at which the voice should start. Defaults to 0.
gate
The gate duration in seconds. Controls how long the note is held before triggering the release phase. A value of 0 means infinite sustain (the voice will play until released explicitly).
Envelope
The envelope parameters control the shape of the gain envelope over time. It uses a DAHDSR envelope with exponential curves:
- Delay: Waits before the attack begins. The signal stays at 0 during this phase.
- Attack: Ramps from 0 to full amplitude. Uses
x²(slow start, fast finish). - Hold: Holds at full amplitude before the decay begins.
- Decay: Falls from full amplitude to the sustain level. Uses
1-(1-x)²(fast drop, slow finish). - Sustain: Holds at a constant level while the note is held.
- Release: Falls from the sustain level to 0 when the note ends. Uses
1-(1-x)²(fast drop, slow finish).
envdelay envdly
The duration (seconds) of the delay phase of the gain envelope. The signal stays silent during this time.
attack
The duration (seconds) of the attack phase of the gain envelope.
hold hld
The duration (seconds) of the hold phase of the gain envelope. The signal stays at full amplitude during this time.
decay
The duration (seconds) of the decay phase of the gain envelope.
sustain
The sustain level (0-1) of the gain envelope.
release
The duration (seconds) of the release phase of the gain envelope.
Voice
Doux is a polyphonic synthesizer with up to 32 simultaneous voices. By default, each event allocates a new voice automatically. When a voice finishes (envelope reaches zero), it is freed and recycled. The voice parameter lets you take manual control over voice allocation, enabling parameter updates on active voices or retriggering with reset.
voice
The voice index to use. If set, voice allocation will be skipped and the selected voice will be used. If the voice is still active, the sent params will update the active voice.
reset
Only has an effect when used together with voice. If set to 1, the selected voice will be reset, even when it’s still active. This will cause envelopes to retrigger for example.
Use slew modulation (>target:duration) to smoothly transition parameters on an active voice instead of jumping instantly:
Oscillator
see also BasicThese parameters are dedicated to alter the nominal behavior of each oscillator. Some parameters are specific to certain oscillators, most others can be used with all oscillators.
pw ~mod
The pulse width (between 0 and 1) of the pulse oscillator. The default is 0.5 (square wave). Only has an effect when used with /sound/pulse or /sound/pulze.
spread
Stereo unison. Adds 6 detuned voices (7 total) with stereo panning. Works with sine, tri, saw, zaw, pulse, pulze.
Inspired by the M8 Tracker’s WavSynth, these parameters transform the oscillator phase to create new timbres from basic waveforms. They work with all basic oscillators (sine, tri, saw, zaw, pulse, pulze).
size
Phase quantization steps. Creates stair-step waveforms similar to 8-bit sound chips. Set to 0 to disable, or 2-256 for increasing resolution. Lower values produce more lo-fi, chiptune-like sounds.
warp
Phase asymmetry using a power curve. Positive values compress the early phase and expand the late phase. Negative values do the opposite. Creates timbral variations without changing pitch.
mirror ~mod
Reflects the phase at the specified position. At 0.5, creates symmetric waveforms (a saw becomes triangle-like). Values closer to 0 or 1 create increasingly asymmetric reflections.
Sub Oscillator
A secondary oscillator tuned octaves below the main oscillator. Works with all basic oscillators (sine, tri, saw, zaw, pulse, pulze), pluck, and spread mode.
sub ~mod
Mix level of the sub oscillator. At 0 the sub is silent, at 1 it matches the main oscillator volume.
suboct
Octave offset below the main oscillator. 1 means one octave down, 2 means two octaves down, 3 means three octaves down.
subwave
Waveform of the sub oscillator.
Sync
A hidden master oscillator runs at the note frequency and drives the main oscillator on each master wrap. Two algorithms are available: hard (classic analog, phase reset each wrap — tearing, aggressive) and soft (main oscillator’s direction flips each wrap — smoother, filter-sweep character, less aliasing). Works with all basic oscillators (sine, tri, saw, zaw, pulse, pulze) as well as the add and osc sources.
sync ~mod
Sync ratio. The main oscillator runs at freq * sync and is synced each time the hidden master at freq wraps. 1 disables sync (no effect). Modulate it for the classic sweep.
syncphase ~mod
Hard-mode only: phase value the main oscillator resets to on each sync event. Non-zero values shift the reset point for additional timbral variation. Ignored in soft mode. Aliased as syncph.
syncmode
Sync algorithm. hard resets the main oscillator’s phase each time the master wraps (classic tearing). soft flips the main oscillator’s direction instead (smoother sweep, less aliasing). syncphase only applies in hard mode.
Gain
The signal path is: oscillator → gain * velocity → filters → distortion → modulation → phaser/flanger → envelope * postgain → chorus → pan.
gain ~mod
Pre-filter gain multiplier. Applied before filters and distortion, combined with velocity as gain * velocity.
postgain ~mod
Post-effects gain multiplier. Applied after phaser/flanger, combined with the envelope as envelope * postgain.
velocity
Multiplied with gain before filters.
pan ~mod
Stereo position using constant-power panning: left = cos(pan * π/2), right = sin(pan * π/2). 0 = left, 0.5 = center, 1 = right.
width ~mod
Stereo width using mid-side processing. At 0 the signal collapses to mono, at 1 it is unchanged, above 1 the stereo image is exaggerated.
haas ~mod
Haas effect. Delays the right channel by a short amount (1-35ms) to create spatial placement without changing volume. Small values (1-10ms) widen the image, larger values (10-35ms) create a distinct echo.
Vibrato
see also PitchThe pitch of every oscillator can be modulated by a vibrato effect. Vibrato is a technique where the pitch of a note is modulated slightly around a central pitch, creating a shimmering effect.
vib ~mod
Vibrato frequency (in hertz).
vibmod ~mod
Vibrato modulation depth (semitones).
Frequency Modulation
see also Amplitude ModulationRing ModulationAny source can be frequency modulated. Frequency modulation (FM) is a technique where the frequency of a carrier wave is varied by an audio signal. This creates complex timbres and can produce rich harmonics, from mellow timbres to harsh digital noise. A second modulator can be enabled with fm2 for 3-operator FM. Instead of a discrete algorithm selector, fmpivot continuously rotates op2’s output between op1 and the carrier, sweeping through cascade, branch, parallel, and their phase-inverted variants on a single circle.
fm ~mod
The frequency modulation index. FM multiplies the gain of the modulator, thus controls the amount of FM applied.
fmh ~mod
The harmonic ratio of the frequency modulation. fmh*freq defines the modulation frequency. As a rule of thumb, numbers close to simple ratios sound more harmonic.
fmshape
fm2 ~mod
fm2h ~mod
Harmonic ratio of the second FM operator. fm2h * carrier frequency defines the second modulator’s frequency.
fmpivot ~mod
Continuous op2 routing pivot, wraps. Replaces the old algorithm selector with a single knob that traces a circle in the (op2→op1, op2→carrier) plane. Total op2 modulation magnitude stays constant; only the destination rotates.
Named points on the circle:
0.000— cascade (op2 → op1 → carrier)0.125— branch (op2 → both, equal-power split)0.250— parallel (op2 → carrier, op1 → carrier independently)0.500— inverted cascade0.750— inverted parallel1.000— wraps to cascade
Everything between is reachable; modulating fmpivot at LFO rate creates continuous algorithm morphing.
fmfb ~mod
Amplitude Modulation
see also Ring ModulationFrequency ModulationAmplitude modulation multiplies the signal by a modulating oscillator. The formula preserves the original signal at depth 0: signal *= 1.0 + modulator * depth. This creates sidebands at carrier ± modulator frequencies while keeping the carrier present.
am ~mod
AM oscillator frequency in Hz. When set above 0, an LFO modulates the signal amplitude.
amdepth ~mod
Modulation depth (0-1). At 0, the signal is unchanged. At 1, the signal varies between 0 and 2x its amplitude.
Ring Modulation
see also Amplitude ModulationFrequency ModulationRing modulation is a crossfade between dry signal and full multiplication: signal *= (1.0 - depth) + modulator * depth. Unlike AM, ring modulation at full depth removes the carrier entirely, leaving only sum and difference frequencies at carrier ± modulator.
rm ~mod
Ring modulation oscillator frequency in Hz. When set above 0, an LFO multiplies the signal.
rmdepth ~mod
Modulation depth (0-1). At 0, the signal is unchanged. At 1, full ring modulation with no dry signal.
Sample
Doux can play back audio samples organized in folders. Point to a samples directory using the —samples flag. Each subfolder becomes a sample bank accessible via /s/folder_name. Use /n/ to index into a folder.
n
Sample index within the folder. If the index exceeds the number of samples, it wraps around using modulo. Samples in a folder are indexed starting from 0.
begin
Sample start position (0-1). 0 = beginning, 0.5 = middle, 1 = end. Only works with samples.
end
Sample end position (0-1). 0 = beginning, 0.5 = middle, 1 = end. Only works with samples.
cut
Choke group. Voices with the same cut value silence each other. Use for hi-hats where open should be cut by closed.
stretch ~mod
Time stretch factor. Controls playback duration independently from pitch. 1 = normal speed, 2 = twice as long (same pitch), 0.5 = half as long (same pitch), 0 = freeze.
Recorder
The recorder captures the master output into a buffer. /doux/rec/myloop starts a recording under that name (any name works); a nameless /doux/rec is a no-op. Stop explicitly with /doux/rec/endrec/1. The buffer is registered as a sample under the chosen name and can be played back with all standard parameters. Maximum ~10 minutes. Native only.
rec
Start recording under an explicit name, passed as a positional argument. A nameless /doux/rec does nothing. Recording continues until you send endrec.
endrec
Stop the active recording and register the captured buffer as a sample. This is the only way to stop — recording no longer toggles.
overdub
Layers new output on top of an existing recording. Wraps at buffer end. Falls back to fresh recording if the target does not exist.
Recorded samples work like any other sample: begin, end, speed, filters, effects all apply.
Multichannel
superpan rings a voice’s stereo signal around a set of output pairs using equal-power azimuth panning, in the style of SuperCollider’s PanAz. It is meant for multi-speaker setups with more than two output channels. Disabled by default: when superpan is unset, the voice uses the normal stereo pan and orbit routing.
superpan ~mod
Azimuth position around the ring of output pairs (wraps 0..1). Setting this switches the voice from stereo pan to multichannel panning. Aliased as span.
superwidth ~mod
Number of adjacent output pairs lit. About 2 keeps the source localised to one pair; larger values spread it wider across the ring. Gains are normalised so loudness stays constant as the source moves. Aliased as swidth.
speakers
Ordered, 1-based list of output pairs the ring spans, e.g. 1,3,5,7. Pair p drives channels 2p and 2p+1. Empty (omitted) means all pairs, in order. Aliased as spk.
Lowpass Filter
see also Highpass FilterBandpass FilterLadder FilterSteep Lowpass FilterA state variable lowpass filter (TPT/SVF) that attenuates frequencies above the cutoff. The cutoff frequency supports inline modulation (~, >, ^).
lpf ~mod
Cutoff frequency in Hz. Frequencies above this are attenuated.
lpq ~mod
Resonance (0-1). Boosts frequencies near the cutoff.
Highpass Filter
see also Lowpass FilterBandpass FilterSteep Highpass FilterA state variable highpass filter (TPT/SVF) that attenuates frequencies below the cutoff. The cutoff frequency supports inline modulation (~, >, ^).
hpf ~mod
Cutoff frequency in Hz. Frequencies below this are attenuated.
hpq ~mod
Resonance (0-1). Boosts frequencies near the cutoff.
Bandpass Filter
see also Lowpass FilterHighpass FilterSteep Bandpass FilterA state variable bandpass filter (TPT/SVF) that attenuates frequencies outside a band around the center frequency. The center frequency supports inline modulation (~, >, ^).
bpf ~mod
Center frequency in Hz. Frequencies outside the band are attenuated.
bpq ~mod
Resonance (0-1). Higher values narrow the passband.
Comb Filter
see also FeedbackDelaySend effect with feedback comb filter. Creates pitched resonance, metallic timbres, and Karplus-Strong plucked sounds. Tail persists after voice ends.
comb ~mod
Send amount to comb filter.
Noise into a tuned comb creates plucked string sounds (Karplus-Strong).
combfreq ~mod
Resonant frequency. All voices share the same orbit comb.
combfeedback ~mod
Feedback amount. Higher values create longer resonance.
combdamp ~mod
High-frequency damping. Higher values darken the sound over time.
Ladder Filter
see also Lowpass FilterA Moog-style ladder filter with self-oscillation and analog-modeled nonlinear saturation. Produces a warmer, more aggressive character than the standard filters. Based on the improved virtual analog model by Stefano D’Angelo and Vesa Välimäki. Available as lowpass (llpf), highpass (lhpf), and bandpass (lbpf). Cutoff frequencies support inline modulation (~, >, ^).
llpf ~mod
Ladder lowpass cutoff frequency in Hz.
lhpf ~mod
Ladder highpass cutoff frequency in Hz.
lbpf ~mod
Ladder bandpass cutoff frequency in Hz.
llpq ~mod
Ladder lowpass resonance (0-1). At high values, the filter self-oscillates.
lhpq ~mod
Ladder highpass resonance (0-1).
lbpq ~mod
Ladder bandpass resonance (0-1).
Steep Lowpass Filter
see also Lowpass FilterSteep Highpass FilterSteep Bandpass FilterA 24 dB/oct steep lowpass filter built by cascading two state variable stages. Steeper rolloff than lpf (12 dB/oct), with a cleaner, more focused single resonance peak than the Moog-style llpf. Sits in the “Curtis/Roland” sonic family — punchy and surgical, not throaty. Cutoff supports inline modulation (~, >, ^).
slpf ~mod
Cutoff frequency in Hz. Frequencies above the cutoff are attenuated at 24 dB/oct.
slpq ~mod
Resonance (0-1). Single focused peak near the cutoff. Self-oscillates cleanly at 1.0.
Steep Highpass Filter
see also Highpass FilterSteep Lowpass FilterSteep Bandpass FilterA 24 dB/oct steep highpass filter built by cascading two state variable stages. Steeper rolloff than hpf (12 dB/oct), distinct character from the Moog-style lhpf: clean single peak, punchy and focused. Cutoff supports inline modulation (~, >, ^).
shpf ~mod
Cutoff frequency in Hz. Frequencies below the cutoff are attenuated at 24 dB/oct.
shpq ~mod
Resonance (0-1). Single focused peak near the cutoff. Self-oscillates cleanly at 1.0.
Steep Bandpass Filter
see also Bandpass FilterSteep Lowpass FilterSteep Highpass FilterA 24 dB/oct steep bandpass filter built by cascading two state variable stages. Narrower and more focused than bpf (12 dB/oct), distinct character from the Moog-style lbpf. Center frequency supports inline modulation (~, >, ^).
sbpf ~mod
Center frequency in Hz. Frequencies far from the center are attenuated at 24 dB/oct per side.
sbpq ~mod
Resonance (0-1). Tightens the bandpass peak. Self-oscillates cleanly at 1.0.
Phaser
Two cascaded notch filters (offset by 282Hz) with LFO-modulated center frequency.
phaser ~mod
Phaser LFO rate in Hz. Creates sweeping notch filter effect.
phaserdepth ~mod
Phaser effect intensity (0-1). Controls resonance and wet/dry mix.
phasersweep ~mod
Phaser frequency sweep range in Hz. Default is 2000 (±2000Hz sweep).
phasercenter ~mod
Phaser center frequency in Hz. Default is 1000Hz.
Flanger
LFO-modulated delay (0.5-10ms) with feedback and linear interpolation. Output is 50% dry, 50% wet.
flanger ~mod
Flanger LFO rate in Hz. Creates sweeping comb filter effect with short delay modulation.
flangerdepth ~mod
Flanger modulation depth (0-1). Controls delay time sweep range.
flangerfeedback ~mod
Flanger feedback amount (0-0.95).
flangermode
Flanger mode. classic leaves the dry signal undelayed (the default). throughzero delays the dry path by the sweep centre so the swept comb crosses zero relative delay — the notch passes through DC for a deeper, hollow “jet” flange. Alias flmode.
Frequency Shifter
Single-sideband frequency shifter — moves every partial up or down by a fixed number of Hz. Unlike a pitch shift it does not preserve harmonic ratios, so the spectrum turns inharmonic: small shifts phase and detune, larger shifts ring-modulate into metallic, clangorous “barber-pole” textures. Built from an analytic signal (Hilbert pair) heterodyned by a quadrature oscillator.
fshift ~mod fsh
Shift amount in Hz. Positive shifts up, negative shifts down, 0 bypasses — the sign selects the sideband.
Pitch Shifter
Granular (delay-line) pitch shifter — transposes by semitones, preserving harmonic ratios. The musical counterpart to the inharmonic frequency shifter: octaves, fifths, sub-octaves, subtle detune thickening, or dive-bombs and risers when you modulate it. The characteristic granular warble grows past ~±7 semitones.
pshift ~mod psh
Transposition in semitones. Positive shifts up, negative down, 0 bypasses.
pshiftwin ~mod pwin
Grain window in ms — the character knob. Short windows (5-20 ms) are grainy and robotic with a faster warble; long windows (80-200 ms) are smoother but add latency. Only audible while pshift is non-zero.
Chorus
A rich chorus effect that adds depth and movement to any sound.
chorus ~mod
Chorus LFO rate in Hz.
chorusdepth ~mod
Chorus modulation depth (0-1).
chorusdelay ~mod
Chorus base delay time in milliseconds.
chorustype
Chorus voicing. The default reproduces the original 3-voice chorus exactly.
- classic — 3-voice chorus (the default).
- ensemble — 4 voices, wider detune. Juno-style lushness.
- dimension — 2 quadrature voices, deeper, no centre.
Feedback
see also DelayComb FilterOrbit feedback delay. Sends voice signal to the orbit bus where it is re-injected with controllable delay time, damping, and cross-channel blend.
feedback ~mod
Feedback delay send level and re-injection amount. 0 = bypassed. Internally clamped to 0.99 to prevent runaway.
fbtime ~mod
Feedback delay time in milliseconds. Short values produce metallic resonances, longer values give slapback echoes.
fbdamp ~mod
High-frequency damping in the feedback path. Higher values roll off treble on each iteration, producing warmer repeats.
fbcross ~mod
Cross-channel blend in the feedback loop. 0 = self-feedback (each channel loops into itself), 1 = pure ping-pong (left’s loop reads right’s tail and vice versa). Intermediate values smear stereo.
Delay
see also ReverbFeedbackComb FilterStereo delay line with feedback (max 1 second at 48kHz, clamped to 0.95 feedback).
delay ~mod
Send level to the delay bus.
delayfeedback ~mod
Feedback amount (clamped to 0.95 max). Output is fed back into input.
delaytime ~mod
Delay time in seconds (max ~1s at 48kHz).
delaytype
- standard — Clean digital. Precise repeats.
- pingpong — Mono in, bounces L→R→L→R.
- tape — Each repeat darker. Analog warmth.
- multitap — 4 taps. Feedback 0=straight, 1=triplet, between=swing.
Reverb
see also DelaySmearSend-effect reverb with two algorithms: space (default) and plate.
verb ~mod
Send level to the reverb bus.
verbtype
- space — Lush and dense with chorus modulation.
- plate — Bright and metallic.
verbdecay ~mod
Controls how long the reverb tail rings out.
verbdamp ~mod
Higher values darken the reverb tail.
verbpredelay ~mod
Gap before the reverb starts.
verbdiff ~mod
Room size. Low values give small tight spaces, high values give large halls.
verbchorus ~mod
Adds movement to the reverb tail (space only).
verbchorusfreq ~mod
Speed of the chorus modulation (space only).
verbprelow ~mod
Cuts low frequencies before they enter the reverb (space only).
verbprehigh ~mod
Cuts high frequencies before they enter the reverb (space only).
verblowcut ~mod
Where the low-frequency shaping kicks in inside the reverb (space only).
verbhighcut ~mod
Where the high-frequency shaping kicks in inside the reverb (space only).
verblowgain ~mod
How much bass survives in the reverb tail (space only). Lower values thin it out.
Lo-Fi
Sample rate reduction, bit crushing, and waveshaping distortion.
coarse ~mod
Sample rate reduction. Holds each sample for n samples, creating stair-stepping and aliasing artifacts.
crush ~mod
Bit depth reduction. Quantizes amplitude to 2^(bits-1) levels, creating stepping distortion.
fold ~mod
Reflective triangle wavefold (Buchla/Serge-style). At 0, near-passthrough. At 0.25, subtle harmonics. At 0.5, rich harmonics. At 1, extreme density.
foldmode
Fold shape. The default reproduces the original triangle fold exactly.
- triangle — Reflective triangle fold (the default). Rich odd harmonics.
- sine — Sine fold. Rounder, fewer high harmonics.
- wrap — Sawtooth wrap. Harsher, more digital.
wrap ~mod
Wrap distortion. Signal wraps around creating harsh digital artifacts.
distort ~mod
Soft-clipping waveshaper using (1+k)*x / (1+k*|x|) where k = e^amount - 1. Higher values add harmonic saturation.
distortvol
Output gain applied after distortion to compensate for increased level.
distortmode
Saturator curve. The default reproduces the original soft clip exactly; the others are antialiased (ADAA) shapers driven by the distort amount.
- soft — Original
(1+k)*x / (1+k*|x|)soft clip (the default). - tanh — Smooth hyperbolic-tangent saturation.
- arctan — Gentler arctangent knee.
- hardclip — Hard digital clip.
- parabolic — Rounded parabolic clip, between soft and hard.
- sinarctan —
x / sqrt(1+x²)sigmoid, smooth and symmetric.
distortasym
Pre-shaper bias. Pushes the signal off-centre into the saturator for asymmetric clipping and even-harmonic colour (tube-ish). The induced DC offset is removed by the downstream DC blocker. At 0 every curve is unchanged.
EQ
Per-voice equalizer with a 3-band DJ-style EQ and a single-knob tilt control.
3-Band EQ
Fixed-frequency shelving and peaking filters. All gains are in dB: 0 is flat, positive boosts, negative cuts.
eqlo ~mod
Low shelf gain at 200Hz.
eqmid ~mod
eqhi ~mod
High shelf gain at 5000Hz.
EQ Frequencies
eqlofreq ~mod
Low shelf frequency.
eqmidfreq ~mod
Mid peak frequency.
eqmidq ~mod
Mid peak Q (bandwidth). 0.7 is the original broad bell; higher values narrow it toward a surgical notch.
eqhifreq ~mod
High shelf frequency.
Tilt EQ
tilt ~mod
Spectral tilt using a high shelf at 800Hz. Positive values brighten, negative values darken. Range maps to ±6dB.
Smear
Allpass chain — 12 cascaded first-order allpass filters that smear transients into laser chirps and metallic sweeps. Zero buffers, pure phase manipulation. Allpass filters only shift phase, so the effect is inaudible at static frequencies — modulate smearfreq to hear it.
smear ~mod
Wet/dry mix (0 = bypass, 1 = full wet). Controls the blend between dry input and the allpass-smeared signal.
smearfreq ~mod
Break frequency of the allpass chain. Lower values produce longer, more dramatic chirps. Higher values affect only the highest partials. Sweep it to hear the smearing.
smearfb ~mod
Feedback amount for resonance. Wraps the allpass output back to the input, creating metallic resonances and self-oscillation at high values.
Auto-Wah
Envelope-follower auto-wah: a resonant bandpass whose cutoff rides up with the input’s amplitude envelope (a “touch wah”). The follower tracks the live signal inside the DSP, so the sweep responds to dynamics rather than a fixed LFO.
wah
Dry/wet mix (0 = bypass, 1 = full wet).
wahpeak
Resonance / peak sharpness of the bandpass.
wahsens
Envelope sensitivity — how far the cutoff sweeps up as the signal gets louder.
wahmanual
Base cutoff in Hz — the resting position the envelope sweeps up from.
VinylSim
Vinyl / cassette “character” insert: wow + flutter pitch wobble, band-limiting, tape/vinyl hiss and gentle saturation — the lo-fi degrade box. It sits after the distortion group in the voice chain, so the hiss is shaped by the note’s envelope rather than a constant floor.
vinyl
Dry/wet mix (0 = bypass, 1 = full wet).
vinylwow
Wow + flutter depth — slow and fast pitch wobble of worn tape/vinyl.
vinylnoise
Hiss level — the high-passed noise bed (most present on the cassette voicing).
vinyltone
Tone tilt — negative darkens, positive brightens the high shelf.
vinyltype
Voicing. dull is the warmest (dullest low-pass), clear a touch brighter, cassette is mid-focused with the most hiss.
Compressor
Sidechain compressor. Ducks this orbit’s output based on another orbit’s level — classic pumping effect.
comp ~mod
Duck amount. 0 = off, 1 = full duck. Point it at another orbit with comporbit.
compattack ~mod
How fast the ducker reacts. Short = tight pumping, long = slow swell. Alias: cattack.
comprelease ~mod
Recovery time after the sidechain drops. Longer = more pronounced pump. Alias: crelease.
comporbit
Which orbit drives the compression. Typically the orbit carrying your kick or bass. Alias: corbit.