Shopping Cart

0

Your shopping bag is empty

Go to the shop

Tutorial:
8 Ways To Make Wavetables

Author: Virtual Light 

June 13, 2025

Share:

Wavetables are the DNA of modern synthesis — and knowing how to make your own opens the door to unique, signature tones. In this guide, we’ll explore 8 powerful methods to create custom wavetables, from classic synthesis techniques to experimental workflows using images, audio, and even math.

 

After crafting countless wavetables for OUTERVERSE and beyond, I’ve landed on 8 of the most straightforward and effective methods for making your own. In this guide, we’ll break each one down in detail — from the simple to the more experimental — and dig into some of the nitty-gritty techniques that give your wavetables that extra edge.

 

Whether you're designing for Serum, Vital, or any wavetable synth, these approaches will supercharge your sound design toolkit.

Title

“To create a wavetable from another synthesizer, you can record a sweeping sound with variation between the start and end points. This process involves recording the audio, importing it into Serum, and fine-tuning the settings to ensure the wavetable functions properly.”

Title

1. Resample within Serum

In Serum, the options for resampling oscillators are named “Render Osc A Warp” (or Osc B) and “Resample To Osc A (or Osc B)” and are accessed from the dropdown menu on the main oscillator page. Here’s how to create wavetables using these features:

 

Render Osc A Warp

 

This feature captures the oscillator’s waveform, including any changes made by the oscillator Warp mode and generates a new wavetable.

 

Steps:

  1. Set up Osc A (or B) with the waveform you want to transform.
     
  2. Apply a Warp mode (e.g., FM, Sync, Bend) and adjust its parameters as needed.
     
  3. Open the dropdown menu at the top-right of the oscillator and select “Render Osc A Warp” (or B, depending on the oscillator).
     
  4. Serum creates a wavetable reflecting the transformations from the applied Warp mode. You can now scroll through the new wavetable or further modify it in the wavetable editor.

Use Case: Great for creating new wavetables based on specific Warp effects, such as sync sweeps, FM modulation, or complex bending.

This is arguably the easiest and fastest method for making wavetables.

 

PRO TIP: You can apply a warp, render it and then apply another warp. You can repeat this process as much as you like and can get some very interesting results!

 

Resample To Oscillator

 

Resampling to Oscillator is where things really get exciting. It doesn’t just capture an oscillator’s warp mode — it lets you bounce any modulation you can dream up. That includes complex movements within the oscillator section, as well as everything happening downstream in the signal chain. You can run sounds through filters, distortion, even the entire effects rack, and resample the result into a brand-new wavetable. Just keep in mind: Serum’s wavetables are mono. So if you try to capture stereo effects like reverb or delay, the rendered result might not come out the way you expect.

 

NOTE: Render to A+B (Stereo) splits the left signal to A and Right signal to B, making 2 separate wavetables

 

 

Steps:

  1. Set up your sound and modulation.
    Use Osc A (or B) with the sound you want to resample. Apply modulation (like an LFO sweep on warp, filter, FX, etc.)
    💡 LFO Mode: Envelope — Shape: Ramp or Custom
     
  2. Set the LFO rate to 1 bar
     
  3. From the oscillator dropdown, choose “Resample to Osc A” (or B).
    Serum captures the sound over time and converts it into a 256-frame wavetable.

2. Recording other software synths or hardware

To create a wavetable from another synthesizer, you can record a sweeping sound with variation between the start and end points. This process involves recording the audio, importing it into Serum, and fine-tuning the settings to ensure the wavetable morphs properly. 

 

What note should I do my recordings? 

 

Technically F# is considered the best pitch for resampling wavetables because it aligns cleanly with Serum’s internal FFT resolution, especially at a 44.1kHz sample rate. This means harmonics fall directly into frequency “bins” without smearing or aliasing, giving you a cleaner, more accurate wavetable. F#1 hits the sweet spot between low enough for rich harmonics and high enough to avoid artifacts — making it the technical gold standard for wavetable capture.

 

But in practice I'll mostly record in C1 anyways as it's just convenient (Explained below) and I have yet to notice a big difference. In fact, when recording FM from analog, I'm more concerned that the oscillators are syncing nicely and producing the tone that I like. 


What note should I do my recordings?

When I'm recording wavetables, I usually set my DAW for 120 BPM and make my recordings approximately 4 bars long. The reason why it's convenient to record in C1 (32.70 Hz) — is that gives you ~4 bars at 120 BPM over 256 cycles.

 

A bit of quick math to determine the length of your recordings at C1:

To capture 256 frames at C0 in Serum, we need to account for Serum’s specific frequency and sample standards for C0, which is defined as 33 Hz and 1348 samples per cycle. Remember you can manually set the amount of samples in the formula area to any key you want by the note: C0 - A#1 - G4 Etc, or by entering the exact amount of samples simply by typing the number. In the case of C0, you could also simply type 1348 and hit enter. Take note that in Serum C0 is 33Hz. In summary, Serum’s C0 = 33 Hz is a design choice made to optimize wavetable handling, computational efficiency, and usability in the context of digital synthesis, even if it differs from the traditional definition of C0 as 16.35 Hz.Also consider that you can apply this math formula above to every key you want to determine the appropriate length to record your audio clip.

 

In the event your recording is too short, if you want you can extend it by using the morph modes. To collapse the morph tables to frames, use the Normalize tools. This will take the table segments that Serum has generated in between the frames that were already existing, and save them as individual frames equally a total of 256. This might be important when making wavetables to function across different VST / AU instruments. Some other wavetable instruments might not be compatible for example, ANA 2 does not interpolate between frames. so you need fully rendered wavetables.At 120 BPM, each beat lasts 0.5 seconds because there are 120 beats per minute. To find out how many beats fit into 7.8 seconds, you divide 7.8 by 0.5, resulting in 15.6 beats. In 4/4 time, where there are 4 beats per bar, you then divide 15.6 by 4, which equals 3.9 bars. Therefore, 7.8 seconds is approximately 3.9 bars at 120 BPM.

 

Depending on the nature of your sound you may way to apply some of the editing features such as removing blank or unwanted tables, smoothing out the edges by fading them, normalizing for maximum volume or adding morph tables.

 

To Summarize: Although this might seem scary with all these math equations, in practice it’s rather quite easy and simple to do. In most cases you can simply record your audio for 4 bars at 120 BPM in the Key of C1 (or Serum’s C0 which is 33 Hz not 16Hz), drag and drop the audio, then do any final editing as desired and save it as a 32 Bit wave.

 

 

Importing the audio 


In Serum whether you drag a wave file into the oscillator on the front main panel or from the wavetable editor panel, you'll be presented with several options as to what method to do your import which will give you different results depending on your needs and what type of content you are importing. 
 

1. Dynamic Pitch – Zero Snap

2. Dynamic Pitch – Follow

3. Constant Frame Size (Pitch Average)

4. Frequency Estimation via FFT

However, I’ve rarely had good results with Serum’s direct import method — it often struggles to detect the correct frame size, and the results don’t match what I expect. Maybe I’m missing something, and if so, I’d genuinely love to know. Thankfully, there’s a workaround that works almost every time.

 

Set the Pitch in Serum’s Formula Panel:

Before importing the audio, set the pitch at which your recording was made, for example C0 (33Hz - 1348 Samples) in Serum’s Formula Panel. This step helps Serum calculate the correct sample size for your recording.

 

Import the Audio:

Drag the recorded audio into Serum’s wavetable editor panel.

Adjusting the Sample Size for Drift

 

If the recording is from an analog source or has pitch imperfections, the sample size may not align perfectly with the wave cycles. You can manually adjust the sample size to correct for drifting waveforms.

 

Drifting Backward (While Scrolling Forward):

If the waveform appears to drift backward as you scroll the wavetable position forward, the sample size is too large. Decrease the sample size incrementally until the waveform stays consistent when scrolling forward.

 

Drifting Forward (While Scrolling Forward):

If the waveform drifts forward while scrolling forward, the sample size is too small. Increase the sample size incrementally to stabilize the waveform.

 

VITAL To The Rescue

 

Despite the audio import in Serum never working out for me without having to manually set the sample size, an easy work around is simply to use Vital's "Pitch Splice" import option which works almost 100% of the time! From there I would save it as a wave and bring it into Serum for further editing, smoothing, trimming etc. 

Exo Forms - Wavetable Library By Virtual Light

$43.00

Product details

300 Wavetables divided into 20 categories

Title

Acid, FMs, Glitch Tables, Psy Basses, Vocoids & More

Title
Title

Made from analog and digital sources

Title

100% Morphable

Title

3. Resampling Other Audio Sources

The same rules apply as recording your own synthesizer sweeps, but in this case you have less control over your source material which has advantages and disadvantages.

 

A major advantage is you can get inspiration by random ideas you wouldn’t have thought about otherwise. For example you can go through your sample library and experiment by finding out what key your sample is in, input that data into the formula field and drag your audio in to see the result. This also extends to experimenting with different audio content such as drums, voices (speech or singing), live instruments or really just about anything. You will achieve various degrees of success at making “good wavetables” and most often you will have to try different options when it comes to the import type choice, pitches, etc. (Depending on the sound you might also get better results using Vital to make the wavetable for example).

 

For these reasons it makes it obvious how sampling in a “controlled environment”, by recording in C1, for the correct length of 4 Bars at 120 BPM is going to yield more consistent results.

 

Things to consider when resampling:

  1. Sounds with phases that aren’t consistent won’t scroll smoothly
     
  2. Sounds with delays / reverbs or any other stereo information tend to yield “mixed results”
     
  3. The length of your wavetable if set to the correct frame size to match the pitch might not be very long, in which case you’ll have to morph to make your 256 Frames (If you want to export it for use in other instruments)

💡PRO TIP - Chaos Waves / FX Waves:

A really cool technique for achieving extreme ranges of tones within 1 single wavetable, you can experiment by combining several audiofiles of various timbres and pitches, exporting them together as one audio file and importing that into Serum. This technique is clearly very experimental and often requires trial and error and editing your source material to yield great results.However when you do get it right you strike sonic gold!! You can truly make insane patches with this technique!

 

Try mixing synth sounds with vocal snippets or perhaps a kick drum with a metallic spectral growl!!

 

4. Morphing Between Single Frames

A far simpler technique is to take single frames and use the morph mode options to create a new set of tables in between, creating a whole new unique wavetable.

** 10 single frame wavetables with 256 generated morph tables

 

More about the 2 main morphing options:

 

The Crossfade morphing option in Serum creates smooth transitions between wavetable frames by blending their amplitudes. This process involves linearly interpolating the waveforms, which effectively “mixes” adjacent frames. As a result, the transitions are smooth while preserving the original time-domain shape of each frame. Crossfade morphing is best suited for simple or tonal wavetables where maintaining the natural harmonic content is important. It produces an organic and natural feel, making it ideal for sounds where subtle and straightforward blending is needed.

 

The Spectral morphing option, on the other hand, operates in the frequency domain by interpolating the harmonics and their amplitudes between frames. Instead of blending the waveforms directly, this method analyzes the harmonic content and creates transitions based on the frequency components. This approach is particularly effective for complex or evolving wavetables with significant differences between frames, as it provides a harmonic-aware transition.

 

Spectral morphing often results in a more “liquid” or “digital” sound, emphasizing harmonic structure over waveform shape. This makes it a great choice for producing smooth, spectral transitions in intricate sound designs.You can import single frames by dragging in a single cycle audio file into the drag and drop area or by selecting one from the Singles section in the dropdown menu in the bottom right corner.

 

Another option is to copy and paste a frame from the other oscillator simply by switching oscillator windows (OSC A - OSC B buttons at the top right corner), selecting a single frame from the frame selector area, switching back to the oscillator you are working on and pasting it in.

5. Drawing your wavetable

You can also draw your waveshape directly in the wavetable editor by using some of the tools on the left side of the waveform display. By setting the grid size you can increase or decrease the resolution in which you want to work. You can smooth the waveform or even apply a spectral effect per grid size (Pretty interesting).

*4 Octave square with spectral effect being applied

 

You can also manually draw in the individual harmonics and phases above in the Harmonics panel by individually dragging the “Bins”. A bin in signal processing is like a bucket that holds the energy of specific frequencies in a signal. During an FFT analysis, the frequency spectrum is divided into discrete bins, each representing a particular range of frequencies and their amplitudes. These bins are essential for sorting and visualizing the harmonic content of a sound.

 

Each bin also has a phase which you can also edit each one individually, in the same way as the latter. You can import single frames by dragging in a single cycle audio file into the drag and drop area or by selecting one from the Singles section in the dropdown menu in the bottom right corner. Another option is to copy and paste a frame from the other oscillator simply by switching oscillator windows (OSC A - OSC B buttons at the top right corner), selecting a single frame from the frame selector area, switching back to the oscillator you are working on and pasting it in.

6. Using the formula parser

The Formula Parser in Serum (or similar synths) allows you to create and manipulate sounds using mathematical expressions, or formulas, to control the wavetable’s behavior. These formulas use different functions and variables to generate complex waveforms. There are a list of functions found in Serum’s manual.

This is what I would consider the most difficult way to make wavetables, however there’s a set of Formula presets you can choose from. You can also ask Chat GPT to generate formulas for you, although it’s far from perfect. 

💡PRO TIP - Train Chat GPT:
If you want better results when asking Chat GPT to generate wavetables, copy and paste the formula section of the Serum manual so Chat GPT knows what to do. Also you can copy and paste a few of the Serum stock formulas for reference. It will still churn out a bunch of bogus garble but every so often you'll land a nice one!

7. Text To Speech

Using the Formula Parser again, simply type any words you want in quotations and it will generate that into a “Text To Speech” type wavetable.

Using the Formula Parser again, simply type any words you want in quotations and it will generate that into a “Text To Speech” type wavetable.

8. Image To Wavetable

Simply drag in a .PNG into the wavetable on the main window. If you click the wavetable window and change the display mode, you will will see the frames creating the shape of your image.

Hey check out our FREE Wavetable collection!

EXO.FREE is a 100% free wavetable library for Serum 2, Vital, Pigments, Hive, Phase Plant and more!! — packed with crystal-clear, psychoactive waveforms for psytrance. You'll get 100 wavetables over 14 categories such as Leads, Alien Acid 303, Bass Waves, Glitch & FX Tables to name a few. All killer, no filler, just pure alien sound design fuel made to cut and sizzle through heavy bass mixes. 

More Psytrance tools:

Give Me Everything - Outerverse Complete Bundle
$156.00
Outer Limits - Serum 2 Expansion
$43.00
Outer Limits - Serum Soundset By Virtual Light
$55.00