WaveStack

Also from SignalFunctionSet

SignalFunctionSet Synth plugins, modules, and workshops SampleStack Sample manager for hardware samplers
Download Contact
Color scheme

On this page

  1. A sound is a shape that repeats
  2. The shape is the tone
  3. A wavetable is a stack of cycles
  4. Scanning through the table
  5. Between the frames
  6. 2D wavetables
  7. Why high notes need simpler frames
  8. Frame size: samples per cycle
  9. Wavetables as files
  10. A short history
  11. Glossary
  12. Questions

Volume

Guide

How wavetables work

A wavetable is a set of single-cycle waveforms, called frames, stored in order. A synth plays one frame at a time, or a blend of two, and moving through the set changes the tone while the note holds. This guide explains exactly how wavetables work from the individual waveform to the actual file.

A sound is a shape that repeats

Press play on the figure below. You're hearing one short shape, called a single cycle, repeated over and over. Repeat it 220 times a second and you hear the A below middle C. Repeat it faster and the pitch goes up.

Figure 1. 25 milliseconds of sound. The highlighted part is one cycle; the rest is the same cycle repeating. Raise the pitch and more cycles fit in the same time.

The pitch comes from how often the cycle repeats. The tone, the quality that makes a flute and a trumpet sound different on the same note, comes from the shape of the cycle. Switch between the shapes while it plays and the pitch stays put while the character changes. A sine is pure and soft, a triangle a little brighter, a saw is bright and buzzy, and a square sounds hollow.

The shape is the tone

Draw on the left panel to change the cycle and listen as you go. The bars on the right show the same cycle a different way, as harmonics: pure sine waves at 1, 2, 3 and more times the base pitch, added together. Every repeating shape can be built this way, and the bars are its recipe.

The cycle Draw here
Its harmonics Drag the bars
Figure 2. Two views of the same cycle. Draw on the left, or drag the harmonic bars on the right; each view redraws to match the other, and you hear the change as you go.

Smooth, rounded shapes need only a few harmonics. Sharp corners and sudden jumps need many, reaching high up the scale, and that's what we hear as brightness. Try the saw: its harmonics fall away gently, each one a little quieter than the one before. The square skips every even-numbered harmonic, which gives it that hollow sound. You can also work the other way round: drag a few bars up from a sine and listen to an organ-like tone appear.

A wavetable is a stack of cycles

Where a single cycle gives you one fixed tone, a wavetable holds many: it's a list of cycles, called frames, stored one after another. Usually each frame is a small step away from the one before, so the table as a whole describes a change, like a saw turning into a square or a filter opening up.

Lay the frames out one behind the other and the table looks like a landscape. That 3D picture is how most synths show a wavetable, and once you can read it, you can tell a lot about a table before you hear it. Drag the figure to turn it, and move the Position slider to pick a frame.

Current frame
Frame 1 of 64

Table
Frames
Figure 3. A wavetable seen from the side. Each line is one frame, and the highlighted line is the frame at the current position. Drag to turn it; double-click to reset.

The position is just which frame the synth is reading, from the first (0) to the last (1). Most wavetables have somewhere between a handful and 256 frames, and each frame is usually 2048 samples long (more on that number below). Try the Frames setting: with 4 frames the table jumps between very different shapes, while 64 frames give a fine, gradual change.

Scanning through the table

Moving the position while a note plays is called scanning; some synths call it wave position or index instead. A slow, steady move makes the tone evolve. Hand the job to an LFO and the position sweeps back and forth on its own; hand it to an envelope and each note starts in one place and travels somewhere else, the way a plucked string starts bright and mellows.

The synth below plays chords (polyphony), and each note gets its own copy of that envelope, so a note played late starts its sweep from the beginning while earlier notes carry on. Underneath the table is a second envelope for volume: attack (how fast a note fades in), decay and sustain (where it settles while you hold the key), and release (how long it rings after you let go). The position keeps moving during the release, so a long release lets you hear the table carry on scanning as the note fades.

Table
Position moved by
Volume envelope per note
Or play with your computer keys, A to ;
Figure 4. A small polyphonic wavetable synth. Hold keys to play, chords included; the bright line follows the newest note. Pick what moves the position, and shape each note's volume with the envelope below the table.

A filter sweep can only take harmonics away, but scanning a wavetable can change the whole recipe from frame to frame, adding harmonics or folding the wave over itself. Try the Vowel table with the envelope and a slow sweep time, then the Sync table with a fast LFO.

Between the frames

A table has a fixed number of frames, but the position moves smoothly. When it lands between two frames, the synth blends them, and there are two common ways to do that.

A crossfade mixes the two shapes sample by sample. It's simple and usually sounds fine, but when the two frames' harmonics are out of step with each other, they cancel, and the sound thins out or disappears halfway. A spectral morph blends each harmonic's level and timing separately, so nothing cancels and the level stays even through the move.

In between
Level
Figure 5. Blending two frames. Slide between A and B and compare the two methods. With a saw and a reversed saw, a crossfade cancels to silence halfway; a spectral morph keeps its level.

With the default saw and reversed saw, slide to the middle: the crossfade falls to silence, while the spectral morph passes through a completely different, spiky shape at full level. It has the same harmonics at the same levels as the saw, just shifted in time, which is why it sounds so close. Synths mostly crossfade between neighboring frames while you play, and that's fine because neighboring frames in a well-made table are already close. Spectral morphing matters more when a table is being made, to fill in the frames between a few hand-drawn ones. Back in Figure 4, tick Jump between frames to hear the steps you get without any blending.

2D wavetables

Some synths, especially Eurorack modules, arrange frames in a grid instead of a line. A 2D table has two positions, X across and Y down, so two controls or two modulation sources can move through it at once. The sound at any point is a blend of the four frames around it.

The grid Drag the point
What you hear
X: shape, sine to square. Y: fold amount.
Figure 6. A 4 by 4 wavetable. Across, the shape goes from sine to square; down, each frame is folded harder. Drag the point and the sound blends the four nearest frames, shown by how bright each cell is.

A 2D table is still stored as a list of frames, one row after another. Only the way the synth reads it changes, which is why the same file can often be used as a long 1D table too.

Why high notes need simpler frames

This section is more technical, and it explains why some wavetable synths sound cleaner than others on high notes. Digital audio can only hold frequencies up to half its sample rate, about 24 kHz at a 48 kHz sample rate. That ceiling is called the Nyquist limit. A bright frame played on a high note has harmonics far above it, and those fold back down below the limit as tones that have nothing to do with the note. That's aliasing, and it sounds like a harsh, metallic whine that moves the wrong way as you play up the keyboard.

Figure 7. The harmonics of the note being played, from 0 Hz up to the Nyquist limit. With band-limiting off, harmonics that should sit above the limit fold back down (shown in the second color) and sound as out-of-tune tones. Press Sweep up to hear it.

Good wavetable synths prevent it by keeping several copies of every frame with more and more of the top harmonics removed, then reading a simpler copy as the note rises. These copies are called mipmaps, a name borrowed from 3D graphics, and the frame is said to be band-limited. Every other figure on this page plays band-limited frames. Switch this one to Raw frame and press Sweep up to hear what they prevent.

Frame size: samples per cycle

Each frame is stored as a list of numbers called samples, each one measuring the height of the wave at an evenly spaced point in the cycle. The number of samples per frame is the frame size, and it decides how much detail one cycle can hold. A frame with N samples can hold at most N/2 harmonics, because it takes at least two samples to describe a single up and down.

How a small frame sounds depends on how the synth plays it back. Early wavetable synths stored very small frames: the PPG Wave from the early 1980s used 128 samples per wave, 64 waves per table, at 8 bits. They stepped straight through those samples, holding each value until the next. Those stair-steps add harmonics the samples themselves don't contain, and that bright, slightly metallic grit is a big part of why the PPG sounds the way it does.

Samples per frame
Cycle

Figure 8. One cycle stored at different frame sizes; the faint line is the original. Stepped plays the samples the way early hardware did, each one held until the next, which adds a gritty brightness. Smooth plays only what the samples can describe, the way modern synths do, so small frames sound duller instead.

To play a note at any pitch, the synth moves through the frame faster or slower, skipping or stretching between samples as needed. At a 48 kHz sample rate, a note at 220 Hz lasts about 218 output samples per cycle, so a 2048-sample frame is read in steps of roughly nine samples. On a note like that, most of the frame's detail is above the Nyquist limit and gets set aside by the mipmaps anyway.

That detail pays off on low notes: the lower the note, the more of its harmonics fit under the Nyquist limit, and a bright frame needs all of them to sound complete. Here's how low each common frame size can go before it runs out of harmonics and starts to sound dull, at a 48 kHz sample rate:

Frame size Harmonics it can hold Full brightness down to
256127about 190 Hz, near F♯3
512255about 94 Hz, near F♯2
1024511about 47 Hz, near F♯1
20481023about 23 Hz, below the lowest bass notes
40962047about 12 Hz, below hearing

That table describes smooth, modern playback, where a small frame simply runs out of harmonics. On early stepped hardware the result was rougher rather than duller, which is why some synths today offer a mode that deliberately brings those steps back. Switch Figure 8 between Stepped and Smooth at 128 samples to compare.

With smooth playback as the norm, 2048 became the standard. It's the smallest power of two that keeps even a deep bass note fully bright, and it's still small enough that a 256-frame table fits in about half a million samples. Bigger frames cost memory without adding anything you can hear, and smaller ones save memory at the expense of the low end, which is a fair trade on hardware with little storage.

Frame size also matters when a cycle comes from a recording. A note recorded at 110 Hz with a 44.1 kHz sample rate has cycles about 400.9 samples long, not a neat power of two. Turning it into a wavetable means resampling each cycle to exactly the frame size, so that the frame holds one complete cycle with no leftover piece.

When the frame size is wrong

A wavetable file is just samples, one after another, so the frame size is the only thing that tells a synth where one frame ends and the next begins. Cut in the wrong places and every frame holds the wrong slice of sound.

Read as

Figure 9. The same file read with different frame sizes. The strip is the whole file, eight 2048-sample frames back to back, and the marks show where the synth cuts it. Only the correct size, starting at the very beginning, cuts between cycles. Slip moves the starting point to show what happens when even a correctly sized table starts in the wrong place.

Reading a 2048-sample table as 4096 puts two different cycles in every frame, so it plays an octave high. Reading it as 1024 gives frames that each hold half a cycle. Sizes that don't divide evenly, like 600, are the worst: each frame starts a little further into a cycle than the last. A correct frame size can still go wrong if the cutting starts in the wrong place, for example when a file has extra samples at the front; drag Slip to hear it. The fix is always to tell the synth the real frame size and to start the file exactly on a frame boundary, which is what the markers in the next section are for.

Wavetables as files

A wavetable is usually an ordinary WAV file: all the frames played back to back. A 64-frame table with 2048 samples per frame is 131,072 samples long, about three seconds of audio. Nothing in a plain WAV says where one frame ends and the next begins, so a synth either assumes a frame size or reads a small marker stored in the file. Serum's clm marker is the most common one, and many other synths and modules read it too.

Frame size
Bit depth
Figure 10. Inside a wavetable WAV file. A few small chunks at the front describe the audio; the data chunk holds every frame back to back. Tap a chunk to see what it holds, and change the table to see how big the file gets. The header chunks are drawn far larger than they really are.

Working out the size of a table takes one multiplication: frames times samples per frame times bytes per sample. A 16-bit sample takes 2 bytes, 24-bit takes 3, and 32-bit floating point takes 4. The chunks at the front add less than a hundred bytes, so a 64-frame table at 2048 samples comes to about 512 KB at 32-bit and half that at 16-bit. Bit depth changes the file size and how finely each sample is measured, but not the number of samples or how many harmonics a frame can hold.

Synth or module Format Frame size Frames
Serum, Serum 2 WAV with a clm marker 2048 Up to 256
Vital WAV, cut into 2048-sample frames 2048 Up to 256
Surge XT .wt, or a tagged WAV Powers of two, up to 4096 Up to 512
Synthstrom Deluge Mono WAV, clm marker or a length that's a multiple of 2048 Powers of two Set by file length
Expert Sleepers Disting NT WAV; frame size from a -2048 style name suffix 8 to 4096 Set by file length

Frame size times frame count is the file's length, and hardware has limits on that too. The Disting EX, for example, holds two million wavetable samples in total across everything loaded, so a card full of 256-frame tables at 2048 samples runs out after about three of them. If a table sounds broken on a new synth, check the frame size first, then the frame count. If you'd like to make your own tables, WaveStack builds them from a single frame or from a recording, and exports them with the correct marker and frame size for each of the synths above.

A short history

The idea underneath every wavetable is older than synthesizers you can buy. In 1958, Max Mathews at Bell Labs wrote a program that stored one cycle of a wave in a table and read it back at whatever speed a note needed. That table-lookup oscillator gave a computer a steady, pitched tone, but each table held only one shape.

The step to a whole set of shapes came from Wolfgang Palm in Hamburg in the late 1970s. His company, PPG, stored cycles with different harmonics next to each other and let the position move between them, which is the wavetable as this guide describes it. PPG's small, 8-bit frames and analog filters gave its instruments a sound that's still sought after. After PPG closed, Waldorf carried its tables forward, and from the mid-2000s software synths made wavetables a standard part of electronic music. The timeline below covers the landmark instruments and what each one could do.

  1. 1958 MUSIC II Max Mathews, Bell Labs Computer
    Tables
    One stored cycle per oscillator
    Scanning
    None

    The table-lookup oscillator: store one cycle, then read it over and over at any speed. Most digital oscillators still work this way, though a single table means a single tone.

  2. 1978 PPG Wavecomputer 360 PPG (Wolfgang Palm) Hardware
    Wavetables
    30
    Waves per table
    64
    Filter
    None

    The first wavetable synth in the modern sense: cycles with different harmonics stored side by side, and a position that moves between them. Without a filter it sounded thin, and only about 40 were made.

  3. 1981 PPG Wave 2 PPG (Wolfgang Palm) Hardware
    Wavetables
    30
    Waves per table
    64 (1,920 in all)
    Samples per wave
    128
    Bit depth
    8-bit
    Filter
    Analog, one per voice

    Added an analog filter to every voice, and the combination of gritty digital waves and warm filters became the classic PPG sound. The Wave 2.2 followed in 1982 and the Wave 2.3, with 8-part multitimbrality, in 1984.

  4. 1986 Sequential Prophet VS Sequential Circuits Hardware
    Waveforms
    128 single cycles
    Bit depth
    12-bit
    Per voice
    4 waves, mixed with a joystick
    Filter
    Analog

    A close cousin rather than a wavetable synth: vector synthesis blends four single cycles at once, steered by a joystick, which is an early form of the 2D idea.

  5. 1989 Waldorf Microwave Waldorf Hardware
    Wavetables
    The PPG Wave 2.3's
    Engine
    Custom chip designed by Wolfgang Palm
    Filter
    Analog

    PPG closed in 1987, and its German distributor, Wolfgang Düren, founded Waldorf the following year. The Microwave carried the PPG tables forward in a rack-mount module.

  6. 1993 Waldorf Wave Waldorf Hardware
    Format
    Flagship keyboard with a hands-on panel

    A high-end flagship that put the whole PPG approach under hands-on control.

  7. 1998 Doepfer A-112 Doepfer Eurorack
    Format
    Eurorack module
    Wavetables
    Up to 256, loaded over MIDI
    Samples per wave
    256
    Bit depth
    8-bit
    Scanning
    By control voltage

    The earliest Eurorack wavetable oscillator we know of, listed as new on Doepfer's site in 1998, three years after the format began. It doubles as a lo-fi sampler. Dedicated wavetable oscillators such as Synthesis Technology's E350 followed around 2010.

  8. 2006 Massive Native Instruments Software
    Oscillators
    Wavetable, with a position knob
    Format
    Plug-in

    Brought scanning wavetables to a generation of producers through software, and became the defining bass synth of late-2000s electronic music.

  9. 2007 Waldorf Blofeld Waldorf Hardware
    Wavetables
    68, including PPG tables
    Also
    Virtual analog and FM

    Put the PPG and Microwave tables in a small desktop synth at a much lower price than the instruments they came from.

  10. 2014 Serum Xfer Records Software
    Frames
    Up to 256
    Samples per frame
    2048
    Import
    Any WAV, plus a built-in editor
    Marker
    clm

    Made wavetables something you could see and edit. Its 2048-sample frames and clm marker became the format most other synths and tools follow.

  11. 2020 Vital Matt Tytel Software
    Frames
    Up to 256
    Samples per frame
    2048
    Price
    Free tier

    A free wavetable synth with spectral warping, which put a full modern wavetable engine in anyone's hands.

Glossary

Single cycle
One repetition of a waveform. Repeating it at a steady rate makes a pitched tone.
Frame
One single cycle inside a wavetable, usually 2048 samples long.
Wavetable
An ordered set of frames. Playing it means reading one frame, or a blend of two, at a time.
Position
Which frame is being read, from 0 (the first) to 1 (the last). Also called index or wave position.
Scanning
Moving the position while a note plays, by hand or with an LFO or envelope.
Harmonic
A sine wave at a whole-number multiple of the base pitch. Any repeating shape is a sum of harmonics.
Crossfade
Blending two frames sample by sample. Out-of-step harmonics can cancel.
Spectral morph
Blending two frames harmonic by harmonic, so the level stays even.
2D wavetable
Frames arranged in a grid and read with two positions, X and Y.
Nyquist limit
Half the sample rate; the highest frequency digital audio can hold.
Aliasing
Harmonics above the Nyquist limit folding back down as unrelated tones.
Mipmaps
Copies of each frame with fewer harmonics, used on higher notes to prevent aliasing.

Questions

What's the difference between a wavetable and a sample? +

A sample is a recording that plays from start to finish, usually lasting seconds. A wavetable is a set of single cycles, each a few milliseconds long, that repeat to make a steady tone. The sound changes only when the position moves, so a wavetable can hold a note for as long as you like.

Is wavetable synthesis the same as subtractive synthesis? +

No, but they're usually combined. Subtractive synthesis starts with a bright waveform and removes harmonics with a filter. A wavetable synth changes the waveform itself, and most of them then run it through a filter too, so you get both.

Why did old PC sound cards call themselves wavetable? +

In the 1990s, sound cards used "wavetable" to mean sample playback: stored recordings of real instruments, played back at different pitches. It's a different technique from the one on this page, and the name has stuck around, which causes plenty of confusion.

How many frames should a wavetable have? +

As many as the change needs to sound smooth. A simple sweep from one shape to another works with 16 or 32 frames because the synth blends between them; 64 to 256 frames suit tables with lots of detail. Hardware with limited memory is a good reason to use fewer.

Why does the same wavetable sound different in different synths? +

Synths differ in how they blend between frames, how they handle high notes (mipmaps or not), whether they smooth or step through the samples, and what filters and effects follow. A table made for one synth can also load with the wrong frame size in another.

Can I turn any sound into a wavetable? +

Pitched sounds work best: a voice, a synth note, a bowed string. Each cycle is cut out at its own length and resampled to the frame size, so the table follows how the sound changed over time. Noisy sounds like cymbals don't have a repeating cycle to cut, so they turn into something quite different.

Does the order of the frames matter? +

Yes. Scanning moves through the frames in order, so neighboring frames should be close to each other for a smooth sweep. Shuffled frames jump from shape to shape, which can be a deliberate effect but rarely sounds smooth.

© 2026 WaveStack

  • How wavetables work
  • Privacy
  • Terms
  • Contact
  • SampleStack
  • Signal Function Set