Part 77

Wavetable Synthesis: Scanning & Position

A wavetable stores many single-cycle waveforms. Scanning through them changes timbre without changing pitch, a new dimension of control that subtractive filtering can't match.

Beyond a Single Table

In Part 76, we saw that a digital oscillator reads from a stored waveform. But what if it stored many waveforms and could smoothly morph between them? That's wavetable synthesis. Instead of changing timbre by filtering harmonics away (subtractive) or folding the waveform (West Coast), you move a "position" slider to scan through a stack of waveform frames. Each frame has its own harmonic content, and moving between them crossfades the spectra.

Spectral Interpolation

The smoothness of the scan depends on how frames are blended. Linear interpolation in the time domain can cause audible clicks at frame boundaries. Spectral interpolation (blending the Fourier coefficients) guarantees smooth transitions and keeps the waveform band-limited at all positions. This is what the browser's PeriodicWave gives us for free.

Position as Expression

The wavetable position is an expressive parameter. Modulate it with an LFO for cyclic timbre movement. Push the LFO rate above 15 Hz and the modulation starts generating sidebands, the same FM territory we explored in Part 70.

Try it: start with "1. Static Sweep" and slowly drag the Position slider left to right. Watch the blue line move through the waveform frames and hear the timbre change. Then try "2. Envelope Morph" to hear the LFO scan automatically.

Preset
Wavetable
Scan
Position LFO
4 frames. Drag Position to scan through them
Spectrum: harmonic content changes as position scans
Advanced: draw your own waveform or import a WAV file
Draw a single cycle, then add it as a custom wavetable frame
Drop a WAV file here or click to browse
Slices audio into 16 equal frames → FFT → custom wavetable

References