Effects

Effects shape the output of your sounds. Apply them to individual layers or to the entire mix. Most support a mix parameter for dry/wet balance. Internal oscillators (chorus, flanger, phaser, tremolo, vibrato) are cleaned up automatically when the voice ends.

Per-layer

defineSound({
  source: { type: "sine", frequency: 880 },
  envelope: { decay: 1.2 },
  gain: 0.2,
  effects: [{ type: "reverb", decay: 0.8, damping: 0.4, mix: 0.3 }],
});

Global

Applied after all layers are mixed together:

defineSound({
  layers: [/* ... */],
  effects: [
    { type: "chorus", rate: 1.5, depth: 0.003, mix: 0.3 },
    { type: "reverb", decay: 1.2, damping: 0.5, roomSize: 1.2, mix: 0.35 },
  ],
});

Reverb

Algorithmic reverb with pre-delay, damping, and room size control.

PropertyTypeDescription
decaynumberTail length in seconds
preDelaynumberGap before reverb onset
dampingnumberHigh-frequency rolloff (0-1)
roomSizenumberSize multiplier
mixnumberDry/wet

Convolver

Impulse response reverb from a file or buffer.

PropertyTypeDescription
urlstringURL to impulse response
bufferAudioBufferPre-decoded buffer
mixnumberDry/wet

Delay

Feedback delay with an optional filter in the feedback path for analog-style darkening.

PropertyTypeDescription
timenumberDelay time in seconds
feedbacknumberFeedback amount (0-1)
feedbackFilterobject{ type, frequency, Q? } in the loop
mixnumberDry/wet
{ type: "delay", time: 0.3, feedback: 0.45, feedbackFilter: { type: "lowpass", frequency: 2000 }, mix: 0.3 }

Distortion

Waveshaper distortion.

PropertyTypeDescription
amountnumberDistortion intensity
mixnumberDry/wet

Chorus

Modulated delay for stereo width and movement.

PropertyTypeDescription
ratenumberLFO rate (Hz)
depthnumberMod depth
mixnumberDry/wet

Flanger

Short modulated delay with feedback.

PropertyTypeDescription
ratenumberLFO rate (Hz)
depthnumberMod depth
feedbacknumberFeedback
mixnumberDry/wet

Phaser

Multi-stage allpass filter sweep.

PropertyTypeDescription
ratenumberSweep rate (Hz)
depthnumberSweep depth
stagesnumberAllpass stages
feedbacknumberFeedback
mixnumberDry/wet

Tremolo

Amplitude modulation.

PropertyTypeDescription
ratenumberLFO rate (Hz)
depthnumberMod depth

Vibrato

Pitch modulation.

PropertyTypeDescription
ratenumberLFO rate (Hz)
depthnumberMod depth

Bitcrusher

Lo-fi bit depth and sample rate reduction.

PropertyTypeDescription
bitsnumberBit depth
sampleRateReductionnumberReduction factor (int)
mixnumberDry/wet

Compressor

Dynamic range compression.

PropertyTypeDescription
thresholdnumberThreshold (dB)
kneenumberKnee width (dB)
rationumberCompression ratio
attacknumberAttack time (s)
releasenumberRelease time (s)

EQ

Multi-band parametric equalizer.

{
  type: "eq",
  bands: [
    { type: "lowshelf", frequency: 200, gain: 3 },
    { type: "peaking", frequency: 1000, gain: -2, Q: 1.5 },
    { type: "highshelf", frequency: 8000, gain: 2 },
  ],
}

Gain

PropertyTypeDescription
valuenumberGain multiplier

Pan

PropertyTypeDescription
valuenumberPosition (-1 to 1)