Skip to main content

Audio Effects

Waveform Playlist includes a comprehensive set of audio effects powered by Tone.js. Effects can be applied to individual tracks or the master output.

Available Effects​

Reverb Effects​

Reverb​

Simple convolution reverb with adjustable decay time.

ParameterRangeDefaultDescription
decay0.1 - 10 s1.5Reverb tail decay time
wet0 - 10.5Dry/wet mix

Freeverb​

Classic Schroeder/Moorer reverb algorithm with room size and dampening controls.

ParameterRangeDefaultDescription
roomSize0 - 10.7Size of the simulated room
dampening0 - 10000 Hz3000High frequency dampening
wet0 - 10.5Dry/wet mix

JC Reverb​

Emulation of the Roland JC-120 Jazz Chorus reverb.

ParameterRangeDefaultDescription
roomSize0 - 10.5Size of the simulated room
wet0 - 10.5Dry/wet mix

Delay Effects​

Feedback Delay​

Delay line with regenerating feedback for echo effects.

ParameterRangeDefaultDescription
delayTime0 - 1 s0.25Delay time
feedback0 - 0.950.5Amount of signal fed back
wet0 - 10.5Dry/wet mix

Ping Pong Delay​

Stereo delay that bounces between left and right channels.

ParameterRangeDefaultDescription
delayTime0 - 1 s0.25Delay time
feedback0 - 0.950.5Amount of signal fed back
wet0 - 10.5Dry/wet mix

Modulation Effects​

Chorus​

Creates thickness by layering detuned copies of the signal.

ParameterRangeDefaultDescription
frequency0.1 - 10 Hz1.5LFO modulation rate
delayTime0 - 20 ms3.5Base delay time
depth0 - 10.7Modulation depth
wet0 - 10.5Dry/wet mix

Phaser​

Classic phaser effect using allpass filters.

ParameterRangeDefaultDescription
frequency0.1 - 10 Hz0.5LFO modulation rate
octaves1 - 63Number of octaves to sweep
baseFrequency100 - 2000 Hz350Base filter frequency
wet0 - 10.5Dry/wet mix

Tremolo​

Rhythmic volume modulation.

ParameterRangeDefaultDescription
frequency0.1 - 20 Hz4Modulation rate
depth0 - 10.5Modulation depth
wet0 - 11Dry/wet mix

Vibrato​

Pitch modulation effect.

ParameterRangeDefaultDescription
frequency0.1 - 20 Hz5Modulation rate
depth0 - 10.1Pitch deviation amount
wet0 - 11Dry/wet mix

Auto Panner​

Automatic left-right panning.

ParameterRangeDefaultDescription
frequency0.1 - 10 Hz1Panning rate
depth0 - 11Panning amount
wet0 - 11Dry/wet mix

Filter Effects​

Auto Filter​

Automated filter sweep with LFO.

ParameterRangeDefaultDescription
frequency0.1 - 10 Hz1LFO modulation rate
baseFrequency20 - 2000 Hz200Base filter frequency
octaves0.5 - 82.6Filter sweep range
depth0 - 11Modulation depth
wet0 - 11Dry/wet mix

Auto Wah​

Envelope follower filter effect that responds to input dynamics.

ParameterRangeDefaultDescription
baseFrequency20 - 500 Hz100Base filter frequency
octaves1 - 86Filter sweep range
sensitivity-40 - 0 dB0Input sensitivity
wet0 - 11Dry/wet mix

3-Band EQ​

Three band parametric equalizer.

ParameterRangeDefaultDescription
low-24 - 24 dB0Low frequency gain
mid-24 - 24 dB0Mid frequency gain
high-24 - 24 dB0High frequency gain
lowFrequency20 - 500 Hz400Low band crossover
highFrequency1000 - 10000 Hz2500High band crossover

Distortion Effects​

Distortion​

Wave shaping distortion effect.

ParameterRangeDefaultDescription
distortion0 - 10.4Distortion amount
wet0 - 11Dry/wet mix

Bit Crusher​

Reduces bit depth for lo-fi digital texture.

ParameterRangeDefaultDescription
bits1 - 164Bit depth
wet0 - 11Dry/wet mix

Chebyshev​

Waveshaping distortion using Chebyshev polynomials for rich harmonic content.

ParameterRangeDefaultDescription
order1 - 10050Polynomial order (harmonic complexity)
wet0 - 11Dry/wet mix

Dynamics Effects​

Compressor​

Dynamic range compressor for controlling volume peaks.

ParameterRangeDefaultDescription
threshold-60 - 0 dB-24Level where compression starts
ratio1 - 204Compression ratio
attack0 - 1 s0.003Attack time
release0 - 1 s0.25Release time
knee0 - 40 dB30Soft knee width

Limiter​

Hard limiter to prevent clipping.

ParameterRangeDefaultDescription
threshold-12 - 0 dB-6Maximum output level

Gate​

Noise gate to silence signal below threshold.

ParameterRangeDefaultDescription
threshold-100 - 0 dB-40Gate threshold
attack0 - 0.3 s0.001Attack time
release0 - 0.5 s0.1Release time

Spatial Effects​

Stereo Widener​

Expands or narrows the stereo image.

ParameterRangeDefaultDescription
width0 - 10.5Stereo width (0 = mono, 1 = wide)

Usage​

Basic Effect Hook​

import { useTrackReverb, useTrackAutoWah } from '@waveform-playlist/browser';

function MyPlaylist() {
// Create effects with initial parameters
const reverbEffect = useTrackReverb(1.5); // 1.5s decay
const autoWahEffect = useTrackAutoWah({
baseFrequency: 100,
octaves: 6,
sensitivity: -20,
});

const tracks = [
{ src: 'vocals.mp3', effects: autoWahEffect },
{ src: 'guitar.mp3', effects: reverbEffect },
];

return (
<WaveformPlaylistProvider tracks={tracks}>
<Waveform />
</WaveformPlaylistProvider>
);
}

Master Effects with Analyser​

import { useMasterAnalyser } from '@waveform-playlist/browser';

function MyPlaylist() {
const { analyserRef, masterEffects } = useMasterAnalyser(256);

return (
<WaveformPlaylistProvider
tracks={tracks}
effects={masterEffects}
>
<FrequencyVisualizer analyserRef={analyserRef} />
<Waveform />
</WaveformPlaylistProvider>
);
}

Dynamic Effects (Add/Remove at Runtime)​

import { useDynamicEffects, effectDefinitions } from '@waveform-playlist/browser';

function EffectsPanel() {
const {
activeEffects,
availableEffects,
addEffect,
removeEffect,
updateParameter,
masterEffects,
} = useDynamicEffects();

return (
<WaveformPlaylistProvider effects={masterEffects}>
{/* Effect selector */}
<select onChange={(e) => addEffect(e.target.value)}>
<option value="">Add Effect...</option>
{availableEffects.map((def) => (
<option key={def.id} value={def.id}>{def.name}</option>
))}
</select>

{/* Active effects with controls */}
{activeEffects.map((effect) => (
<div key={effect.instanceId}>
<h4>{effect.definition.name}</h4>
{effect.definition.parameters.map((param) => (
<input
key={param.name}
type="range"
min={param.min}
max={param.max}
step={param.step}
value={effect.params[param.name] as number}
onChange={(e) =>
updateParameter(effect.instanceId, param.name, parseFloat(e.target.value))
}
/>
))}
<button onClick={() => removeEffect(effect.instanceId)}>Remove</button>
</div>
))}
</WaveformPlaylistProvider>
);
}

Effect Categories​

Effects are organized into categories for easier discovery:

  • Reverb - Room simulation and ambience
  • Delay - Echo and time-based effects
  • Modulation - Chorus, phaser, tremolo, vibrato
  • Filter - EQ, wah, and filter sweeps
  • Distortion - Overdrive and bit reduction
  • Dynamics - Compression, limiting, gating
  • Spatial - Stereo width and positioning

Learn More​

For deeper understanding of audio effects and Tone.js:

Buy Me A Coffee