Reference
Wavetable frame sizes, synth by synth
By Stuart Frederich-Smith Published
A wavetable file is a row of single cycles, called frames, stored back to back. Every synth has to cut the file back into those frames, and they don't all cut it the same way. This page lists the frame size, frame count and file each instrument expects, taken from each maker's documentation, with a link to the full page for each one.
If frames and frame size are new to you, How wavetables work explains them with playable figures.
The short version
- 2048 samples per frame is the common size: Serum, Vital, Phase Plant, Pigments, Hive 2, the Deluge, the nanobox fireball, the MicroFreak's import and many modules.
- 1024: Ableton Wavetable.
- 512: the MiniFreak, Novation Peak and Summit, and the 4ms SWN.
- 256: WaveEdit-style Eurorack banks (the E352 and E370, Piston Honda Mk III, Qu-Bit Chord v2, Modbap Osiris) and the Korg modwave's 16-bit tables.
- 600: older Disting tables.
- Set by hand: the Waldorf Iridium and Quantum (64–4096) and the Polyend Tracker.
How a synth finds the frames
Nothing in a plain WAV says where one frame ends. Instruments find out in one of five ways:
- A tag in the file. Serum writes a small
clmchunk holding the frame size, and Surge XT, Bitwig and the Deluge read it. Surge also has its ownsrgechunk and.wtformat. - A fixed size. Vital, Pigments and Ableton Wavetable always cut at the same length.
- The file's length. The E352 tells a single wave from a bank by length, and Phase Plant needs exactly 256 frames of 2048.
- The file name. Hive 2 reads a
-WT512suffix, and the Disting NT a-Nsuffix. - The bit depth. The Korg modwave reads 32-bit float files as 2048 and 16-bit files as 256.
A table made for one synth can load into another and sound wrong without any error, which is why the tables below include the last column.
Software synths
| Instrument | Samples per frame | Frames | File | Frame size from |
|---|---|---|---|---|
| Serum and Serum 2 Xfer Records | 2048 | Up to 256 | WAV | clm chunk; plain WAVs go through an import method |
| Vital Matt Tytel | 2048 | Up to 257 positions; shorter tables are spread across them | WAV, .vitaltable | None: WAVs are always sliced at 2048 |
| Surge XT Surge Synth Team | Powers of two, 2–4096 | Up to 512 | .wt, WAV | .wt header; in a WAV, a clm (2048 only), srge, cue or smpl chunk |
| Bitwig Polymer and Grid Wavetable Bitwig | As the file says (WaveStack writes 2048) | WaveStack writes up to 256 | WAV, Surge .wt | .wt header or clm chunk |
| Ableton Wavetable Ableton | 1024 | 2–256 | WAV, AIFF | None: fixed at 1024; 2048-sample files are downsampled |
| Phase Plant Kilohearts | 2048 | Exactly 256 | WAV, FLAC | None: the file must be 524,288 samples long |
| Pigments Arturia | 2048 | Up to 256 | WAV | None: sliced every 2048 samples; only the first 524,288 are read |
| Hive 2 u-he | 2048, or 64–1024 with a -WT suffix | Up to 256 | WAV | File name, e.g. Name-WT512.wav |
Hardware synths and samplers
| Instrument | Samples per frame | Frames | File | Frame size from |
|---|---|---|---|---|
| Deluge Synthstrom Audible | Powers of two, 8–8192 (2048 most common) | Limited by RAM | Mono WAV | clm chunk; untagged files are read as 2048 |
| Korg modwave Korg | 2048 (32-bit float) or 256 (16-bit) | Up to 64 | WAV, through the Editor/Librarian | Bit depth |
| MicroFreak Arturia | 2048 | 32 | WAV or AIFF, through MIDI Control Center | Fixed |
| Arturia MiniFreak Arturia | 512 | Up to 64 | Through MiniFreak V 5.0 or later | Converted by MiniFreak V |
| Waldorf Iridium Waldorf | 64–4096 | Up to 128 | WAV or AIFF | None: set in the import dialog |
| Waldorf Quantum Waldorf | 64–4096 | Up to 128 | WAV or AIFF | None: set in the import dialog |
| nanobox fireball 1010music | 2048 | 256 | WAV | Fixed at 2048 |
| Polyend Tracker Polyend | Set by the Window parameter (2048 typical) | 256 is the standard Polyend cites | WAV, imported as a sample | None: set Window by hand |
| Novation Peak and Summit Novation | 512 | 5 | Through Novation Components | File length: 512 for one wave, 2560 for a table |
Eurorack modules
| Instrument | Samples per frame | Frames | File | Frame size from |
|---|---|---|---|---|
| Disting NT Expert Sleepers | Any, by -N file name suffix; else 2048 or 600 | Not stated; up to 1000 tables on the card | WAV, or a folder of single cycles | File name suffix, then a length that's a multiple of 2048, then 600 |
| Disting EX Expert Sleepers | 2048 (firmware 1.6.1+) or 600 | Up to 2,000,000 samples across all tables | WAV, or a folder of single cycles | File length, or playlist-wavetable.txt |
| E352 Cloud Terrarium / E370 Quad Morphing VCO Synthesis Technology | 256 | 64, as an 8 × 8 grid | 16-bit WAV | File length: one wave or a bank |
| Piston Honda Mk III Industrial Music Electronics | 256 | 64 per file, 8 files (8 × 8 × 8) | 16-bit mono WAV, named 1.wav to 8.wav | Fixed |
| Chord v2 Qu-Bit Electronix | 256 | 64 | WaveEdit bank, 16-bit | Fixed |
| HV1 Hybrid Oscillator Weston Precision Audio | 256 (WaveEdit) or 2048 (Serum, 32-bit integer) | 64 | WAV | File format |
| Dimension Mk3 Ziqal | 2048 | 1–256 | 16-bit or 32-bit mono WAV | Fixed |
| Osiris Modbap Modular | 256 | 32 per file, 32 files per bank | 16-bit, 44.1 kHz WAV | File names ending _1.wav to _32.wav |
The 4ms SWN reads 27 frames of 512 samples, arranged as a 3 × 3 × 3 volume. For instruments that don't load your own tables, such as the Waldorf Blofeld or the Hydrasynth, see the instruments index.
Frame count matters too
Some instruments take any number of frames up to a limit; others need an exact count. Phase Plant only treats a WAV as a wavetable when it holds exactly 256 frames, the MicroFreak holds at most 32, and the Piston Honda Mk III needs eight files of 64 frames each. A table with the wrong count either won't load or gets cut off.
WaveStack's Export shows the change before it writes anything. A 64-frame table becomes 256 frames for Phase Plant, by resampling across the table rather than repeating or padding frames. The wavetables chapter of Signal Function Set's synthesis guide covers how an oscillator moves through the frames, blending or stepping between them.
When the size is wrong
A synth that cuts at the wrong size doesn't know it's wrong. Read a 1024-sample table as 2048 and each frame the synth plays holds two of your cycles: the table sounds an octave higher and has half as many frames. Read a 2048-sample table as 1024 and each frame is half a cycle, which sounds harsh and clicks at every loop.
A few instruments convert for you. Ableton's manual says Wavetable downsamples 2048-sample files to its
1024-sample frames, so Serum tables load correctly there. Most don't, and a tagged file only helps if the
instrument reads that tag: Vital, for one, reads Serum's clm chunk for its blend setting but always
cuts at 2048.
Converting a table
WaveStack reads tables in any of these formats and writes them for each instrument:
- Open the table. A tagged file (Serum's
clm, Surge's.wtorsrge) opens as it is. For an untagged one, choose Wavetable WAV in the Sample dialog and set Frame size in file (256, 512, 1024, 2048, 4096 or 600). - Pick the instrument in Export. WaveStack writes the frame size, frame count, bit depth and tag that instrument expects, and says what it changed.
- For anything not listed, Other tools writes a WAV at the frame size and format you choose.
See Importing and Exporting for every option, or start from a recording of your own with How to make a wavetable from your own recording.
Questions
What frame size should a wavetable be?
2048 samples per frame, unless your instrument says otherwise. Serum, Vital, Phase Plant, Pigments, Hive 2, the Deluge and many modules read 2048. Ableton Wavetable reads 1024, WaveEdit-style Eurorack modules such as the E352 read 256, and older Disting tables use 600.
Why does Serum use 2048 samples per frame?
A 2048-sample frame can hold up to 1024 harmonics, enough to keep a low note's full brightness, and 2048 is a power of two, which suits the FFT many wavetable synths use to make band-limited copies of each frame. Most other software synths now read the same 2048-sample format.
What happens if the frame size is wrong?
The synth slices the file in the wrong places. If it reads 2048-sample frames from a 1024-sample table, each frame it plays holds two of your cycles, so the table sounds an octave higher and has half as many frames. The other way round, each frame is half a cycle, which sounds harsh and clicks.
How does a synth know the frame size of a WAV?
Four ways: a tag inside the file (Serum's clm chunk, Surge's srge chunk or .wt header), a fixed size it always assumes, the file's length, or the file name (Hive's -WT512 suffix, the Disting's -N suffix). A plain WAV with no tag is read at whatever size the synth assumes.
Can I use Serum wavetables in Ableton Wavetable?
Yes. Ableton's documentation says Wavetable downsamples 2048-sample files to its 1024-sample frames. To control the conversion yourself, open the table in WaveStack and export it with the Ableton Wavetable target.
More guides
- How to make a wavetable from your own recording Turn a voice, a guitar note, a synth sweep or a field recording into a wavetable: what to record, Pitched cycles vs Spectral, keeping frames in phase, and why a table can play higher than its source. With audio of every example.
- The best iPad DAWs for 2026 Ten iPad DAWs and hosts compared: Logic Pro, Cubasis 3, GarageBand, AUM, Loopy Pro, Drambo and more, with prices, AUv3 support, recording, sourced pros and cons, and user reviews.
- How wavetables work Wavetable synthesis from the ground up, with a playable figure for every idea.