Wavetables for Waldorf M
Waldorf MusicHardware synthVerified
What a Waldorf M wavetable import expects, and how a Hyperwave export maps onto it.
The format Waldorf M imports
32 user wavetable slots loaded from SD card; each slot is a raw file of 64 waves × 256 samples, 8-bit unsigned, named wtslotXX with no extension.
What Hyperwave exports
Every Hyperwave export is one packed wavetable WAV. Check these facts against the Waldorf M format above — where the two disagree, the fix is almost always the frame size or a conversion step, not the sound design.
- Sample format
- 32-bit float by default (values between -1 and +1); 16-bit WAV is a direct export option for targets that load integer banks.
- Channels
- 1 (mono). Every frame is one single-cycle waveform.
- Header sample rate
- 48,000 Hz by default. This is a label in the file header — for wavetable import it doesn't stretch or resample your frames. One exception: VCV Rack's Wavetable VCO reads the sample-rate field as the frame length when it's a power of two, and sample players that fall back to one-shot mode use it for pitch.
- Frame layout
- Frames are packed end-to-end in one data chunk, in wavetable order; the export filename records the shape as name-{samples}x{frames}.wav.
- Resolution
- The live table runs from 8 to 8,192 samples per frame and 8 to 1,024 frames (defaults 2,048 × 256).
- Metadata
- No extra metadata chunks are written — targets that read frame size from metadata have to infer it from the file itself.
Load a Hyperwave table into Waldorf M
- Render the table at 256 samples per frame, 64 frames.
- Convert to raw unsigned 8-bit data (Hyperwave exports WAV, so a converter step is needed — e.g. export 16-bit WAV and convert, or use WaveEdit's bank export).
- Name the file wtslot01–wtslot32 with no extension, copy to SD card, then load via Settings → WT slot operations.
Common issues
- The M expects raw unsigned 8-bit data, not a WAV — a conversion step is required.
- Numbers per the manual as relayed by Sound On Sound and the Waldorf user FAQ; the FAQ notes a manual erratum (says signed, should be unsigned).
Design the table once in Hyperwave's node graph, export the packed WAV, and load it into Waldorf M with the steps above.
Make a wavetable in Hyperwave