Overview
The M is a Waldorf wavetable synth built around the Microwave lineage. Each voice has two wavetable oscillators feeding an analog low-pass filter and an analog VCA, with 8 voices as standard and 16 with the expansion board. It ships with 96 factory wavetables and 32 slots for your own.
The oscillators run in two modes. Classic mode models the original Microwave, with a 240 kHz sample rate and no anti-aliasing, and 16-bit wavetables are reduced to 8 bit. Modern mode follows the Microwave II/XT, running at 40 kHz with band-limited wavetables, and adds hard sync and ring modulation. The same table can sound quite different in each, which is a big part of why people buy an M.
An SD card slot handles firmware updates, sound banks, and user wavetables. Waldorf says any FAT32 SD card works; SDXC cards formatted as exFAT don’t.
Wavetables on the Waldorf M
The M’s manual spells out the user wavetable file exactly. A file holds from 1 to 256 waves, each wave is 256 signed 8-bit samples, and there is no header or anything else at the start of the file. It’s named wtslot00 to wtslot31, matching the slot it loads into. You copy it to the card, set the slot in the System menu’s User page (User WT Load Slot), and run Import User WT (from SD) on the System Operations page.
An M wavetable holds 64 waves, so the User WT Load Skip setting decides what happens to longer files. At 1 the first 64 waves load; at 2, 3, or 4 the M reads every second, third, or fourth wave, so a 256-wave file loads as 64 waves spread across the whole table. A file with fewer than 64 waves fills the remaining positions with copies of the last wave it read.
WaveStack doesn’t write this format. Its exports are WAV files with a header, at 16, 24, or 32 bit, and the M expects bare signed 8-bit data. A WaveStack WAV renamed to wtslot00 would be read as raw bytes, header included, and wouldn’t load as the table you made.
The frame size does line up. Export with Other tools at 256 samples per frame and the waves are the length the M wants. To finish the job you need an audio editor that can save headerless (raw) signed 8-bit PCM; save the file without an extension under the right wtslot name. Keep the table at 64 frames, or at 128 or 256 with the matching skip setting, so every wave lands where you expect. Going down to 8 bit adds noise, which is part of the Microwave sound anyway.
Specifications
| User wavetable slots | 32 |
|---|---|
| Factory wavetables | 96 |
| Waves per wavetable | 64 |
| Samples per wave | 256 |
| User file format | Signed 8-bit samples, no header |
| Waves per file | 1–256 (read with User WT Load Skip) |
| File names | wtslot00–wtslot31 |
| Card | SD/SDHC, FAT32 |
Things to know
- Format internal flash in the System menu erases user wavetables along with everything else in internal flash, so keep your
wtslotfiles.
Frequently asked questions
What format does the Waldorf M use for user wavetables?
A raw file with no header: a run of waves, each 256 signed 8-bit samples, from 1 to 256 waves per file. Waldorf’s manual says to name it wtslot00 through wtslot31 for the slot it belongs in and put it on the SD card. It isn’t a WAV file, so a WAV from WaveStack or another editor has to be converted to raw 8-bit data first.
Can WaveStack export wavetables for the Waldorf M?
Not directly. WaveStack writes WAV files at 16, 24, or 32 bit, and the M needs headerless signed 8-bit data. What WaveStack can do is get the frame size right: export with Other tools at 256 samples per frame, then convert that WAV to raw signed 8-bit in an audio editor that can save headerless PCM. Name the result for its slot and load it from the card.
What happens if my wavetable has more than 64 waves?
The M stores 64 waves per table, and the User WT Load Skip setting chooses which waves it reads. At 1 it takes the first 64 and ignores the rest. At 2, 3, or 4 it reads every second, third, or fourth wave, so a 256-wave file set to 4 loads evenly across its whole length. Set this before you import, in the System menu’s User page.
What if my wavetable has fewer than 64 waves?
The M reads what’s there according to the skip setting and fills every later position with copies of the last wave it read. Waldorf’s example is a 32-wave file at a skip of 1: waves 0 to 31 come from the file, and positions 32 to 63 all repeat wave 31. The top half of the table won’t move when you sweep it, so build tables at 64 waves if you want the full range.
Do user wavetables sound the same in Classic and Modern mode?
Not quite. Waldorf’s manual says Classic mode runs at 240 kHz without anti-aliasing and reduces 16-bit wavetables to 8 bit, while Modern mode runs at 40 kHz with band-limited wavetables. Bright tables alias in Classic mode and stay cleaner in Modern. Since user tables load as 8-bit data, try yours in both modes before deciding it needs more work. Our aliasing notes explain the difference.