Hayterwave
Join the Discord

Home / Guides / How to load a wavetable into a synth

Guide

How to load a wavetable into a synth

A wavetable is an ordinary WAV file that a synthesizer reads in equal slices. If the slice size is wrong, the sound is wrong. Here is how to get it right.

What the file is

A wavetable WAV holds many short single cycle waves, called frames, joined end to end. The synthesizer cuts the file into frames of a fixed length, then lets you move a position control through them. The common frame length is 2048 samples. Others exist, such as 256, 512 and 1024.

You can check the frame count with arithmetic. Divide the number of samples in the file by the frame length. A file of 131,072 samples at 2048 per frame holds 64 frames. If the division does not come out even, either the frame length is not what you think or the file has extra data in it.

Steps

  1. Check the format. WAV, mono, 44.1 kHz is the usual case. Most synthesizers read 16 bit and 32 bit float. If yours refuses a file, try the 16 bit version if there is one.
  2. Find the import. Many synthesizers accept a dragged WAV file dropped on the oscillator display. Others have a menu on the oscillator, often called load, import or user wavetable. Menus change between versions, so check the manual of your own synthesizer.
  3. Set the frame size. Some synthesizers read it from the file and some ask. If you are asked, choose the length the files were made for. For the Hayterwave pack that is 2048.
  4. Look at the display. You should see a series of smooth shapes that change gradually from one frame to the next. If you see a wall of jagged noise, the frame size is wrong.
  5. Move the position. Turn the wavetable position control slowly while holding a note. The tone should change smoothly.
  6. Automate it. Assign the position to an envelope, an LFO, the mod wheel or velocity. A slow envelope on the position is the quickest way to hear what a table does.
  7. Test at several pitches. Play a low note, a middle note and a high note. See the section on harsh high notes below.

Some well known synthesizers

Serum and Vital both accept a WAV file dragged onto the oscillator, and both can ask how the file should be cut into frames. The details differ by version, so use the import prompt as your guide and set it to 2048 when your files are 2048 per frame.

When it goes wrong

You hearLikely cause
Noise or a buzzing messFrame size is wrong. Re-import and set it to the length the file was made for.
One static tone, no change when you move the positionThe file loaded as a single wave, or only one frame was read. Re-import and check the frame count.
Clicks as you scanFrames that do not match at their edges, or a position control moving in steps. Smooth the control or turn on interpolation between frames if your synthesizer has it.
Harsh or metallic high notesAliasing. A full table holds more harmonics than fit below half the sample rate at high pitches. Use the synthesizer's band limiting or oversampling, or filter the top end.
The file is refusedTry the 16 bit version, a mono file, or a 44.1 kHz file, whichever the manual lists.
Much louder or quieter than your other soundsWavetables are not always normalised to one level. Use the oscillator level.

The reason for aliasing is covered in What is a wavetable.

A file to try

The Cymatic Wavetable Pack was made to the settings above: 64 frames of 2048 samples. It has not been tested in a named synthesizer, so if a file does not load in yours, tell me which synthesizer and which version in the Discord.

Keep going

Join the DiscordWhat members get

Stuck on something this guide did not cover? Ask in the Discord.