A good wavetable gives you a useful range of tones under one control. Turn WT Pos and a rounded bass becomes a growl, a simple wave opens into a bright lead, or a recording from your own synth becomes something you can play across the keyboard.
Getting there takes more than dropping a file into Serum. You need to choose the right material, keep the frames that matter, and make the transitions work. That’s what this guide will help you do.
We’ll build a waveform from harmonics, draw and edit it, turn a few frames into a moving sound, then import and refine recorded audio. Along the way, you’ll hear examples of the problems that make wavetables frustrating—and the changes that make them more playable.
This guide expands John’s EDMProd video, Serum 2 Wavetable Editor: The Complete Guide (Every Feature Explained). The screenshots, GIFs, and listening excerpts come from his demonstration. The explanations and exercises organize that material into a workflow you can follow in your own patch.
Open the full demonstration on YouTube ↗
Before you begin: Open an initialized Serum 2 patch. Use one wavetable oscillator, one unison voice, and bypass effects while learning the editor. Keep the output comfortable; changing a waveform can change its level. If the interface is unfamiliar, start with our Serum 2 beginner’s guide.
About the audio: These are short excerpts from a continuous sound-design session. They demonstrate particular edits, but they aren’t a controlled, loudness-matched comparison. Playback positions and settings can change between clips. Each example links to the relevant moment in the original video.
1. Understand what you’re editing
A frame is one waveform cycle. A wavetable holds one or more of those frames. Serum repeats the selected waveform to produce a pitched tone; moving WT Pos changes which part of the table it reads.
A single-frame table is a perfectly useful oscillator. Multiple different frames give you somewhere to move. More frames don’t automatically make it better: a carefully chosen handful can provide a clearer musical progression than a long collection of nearly identical shapes.

There are two different kinds of motion to keep separate:
- Pitch: how quickly a waveform repeats. This follows the note you play and the oscillator’s tuning.
- Wavetable position: which waveform shape plays. Moving it usually changes timbre, although the apparent pitch can also change when the frames contain different repeating patterns.
If a table jumps an octave partway through a sweep, slowing the LFO won’t necessarily fix it. You may have frames containing different numbers of cycles. We’ll deal with that when importing audio.
First, try Smooth Interpolation
Right-click WT Pos and enable Smooth Interpolation. With a table containing a few distinct shapes, this lets playback move between them instead of simply switching from one to the next.

This is worth trying before you edit anything. You may already have the movement you need in the default shapes.
Smooth Interpolation and the editor’s Morph commands are related, but they operate differently. The former controls playback between frames; Morph creates intermediate frames inside the table. You don’t need to use every smoothing option just because it exists.
2. Find your way around the editor
Click the oscillator’s pencil button. The editor gives you three views of the same sound: harmonic levels at the top, harmonic phases beneath them, and the resulting waveform in the large drawing area. The thumbnails along the bottom represent your frames.

| Area | What it changes | A useful first task |
|---|---|---|
| Upper harmonic bins | The strength of each harmonic | Add a little brightness without losing the fundamental |
| Lower phase bins | The relative phase of each harmonic | Explore shape changes and investigate morphing dips |
| Brush area | The waveform directly | Draw a small change into one frame |
| Frame thumbnails | The table’s content and order | Duplicate, select, remove, or reorder frames |
| Single / All | Processing on the current frame or the whole table | Correct a level difference or shape the spectrum |
| Morph | Intermediate frames | Build a transition between useful endpoints |
| Formula field | Mathematical generation, processing, or an import-size override | Start from a factory formula or clear an old import override |
To start from scratch, use Remove → Init All (Default). This clears the existing table and returns it to a single saw frame. Save a copy first if you want to keep what you already have.
A sensible first goal is small: make one frame you like, duplicate it, then give the copy a different tone. You can learn most of the important workflow from those two frames.
3. Build the tone with harmonics
The leftmost harmonic bin is the fundamental. If the oscillator’s base frequency is 100 Hz, the second harmonic is 200 Hz, the third is 300 Hz, and the fourth is 400 Hz. Each bin represents an integer multiple of that base frequency.
That’s why the octave markers spread out: bins 1, 2, 4, 8, and 16 each double the frequency. Harmonic 3 sits an octave and approximately a perfect fifth above the fundamental.

Make a simple bass waveform
- Clear the harmonic bins using their context menu, then raise the first bin to create a sine.
- Add a modest amount of the second or third harmonic.
- Hold the same note while adjusting its level. Listen for extra definition around the original low tone.
- Add one or two more harmonics only if the sound needs them.
- Play a short phrase in the octave you’ll actually use.
A low sine can feel solid but disappear on smaller speakers. Extra harmonics can make its pitch easier to follow without requiring a separate bright oscillator. You still need to judge the result with the kick and the rest of the track; our sub-bass guide explains how to give that foundation a clear role.
Use patterns instead of random scribbling
An ideal saw contains both odd and even harmonics, with higher ones progressively quieter. An ideal square uses odd harmonics with decreasing amplitudes. Those patterns give you recognizable starting points, but a few unequal bins can turn them into something more personal.
Try preserving the first few harmonics while changing the upper ones. The low end stays recognizable, while the buzz changes. Alternatively, use the harmonic context menu to clear high bins for a darker waveform.
Check the bin zoom before deciding that you’ve removed everything. The view may show only part of the available spectrum. A stray high harmonic outside the visible area can explain why a supposedly pure waveform still looks or sounds rough.
What phase changes—and what it doesn’t
The lower bins shift the phase of individual harmonics. Think of phase as the position within a repeating cycle. Changing the relationship between harmonics changes the shape of their combined waveform.

There’s a useful distinction here: changing the static phase of a harmonic does not, by itself, change its magnitude in an ideal spectrum. Different-frequency harmonics don’t simply erase each other. However, moving phases over time, blending frames, peak normalization, and distortion can make phase relationships matter to the audible result.
So don’t judge phase edits by the waveform drawing alone. Audition the transition you intend to use. Phase becomes especially practical when a morph loses low end between two otherwise good frames.
4. Draw a waveform with a purpose
The brush tools edit the cycle directly. You don’t have to draw a whole sound from a blank canvas. Start from a sine or saw and change one small region; it’s easier to connect the visual edit with what you hear.

Choose a brush for the change you want
| Tool family | Use it to… | What to watch for |
|---|---|---|
| Flat line and slopes | Add steps, ramps, and sharper corners | Brighter, buzzier harmonics and possible level changes |
| Sine and curved shapes | Add rounded features | The grid can create repeated structures within a cycle |
| Linear / curved interpolation | Connect the ends of a grid segment | Smoothing can remove the edge you liked |
| Nudge | Move a portion up or down | Large moves can flatten or clip the shape |
| Noise | Add irregular detail | Repeated application can overwhelm the original tone |
| Mirror | Apply a symmetrical drawing gesture | Symmetry helps you work consistently; it doesn’t guarantee a better sound |
Raise the grid resolution for smaller edits. Lower it for broad gestures. In the demonstrated build, holding Shift while dragging the grid values moves both together, and a zero grid allows freehand drawing.
Turn a jagged wave into a smoother one
Use the dotted interpolation brushes to connect a segment’s existing endpoints. Linear interpolation makes a straight connection; curved interpolation rounds the transition more gently.

Listen as you work across the wave. Smoothing often reduces high-frequency content, so it can behave like a way of darkening the source. It also changes the waveform itself: if you want brightness to open and close on every note, a filter envelope may be the more useful tool. Our Serum 2 filters guide covers that approach.
Keep the bass, add the character
John’s mirrored drawing example adds sharper features to a mostly sine-like shape. The result keeps a low foundation but gains a rougher upper texture.

After a large drawing change, inspect the first harmonic. If the low end has become weaker, bring it back deliberately rather than turning up the entire output. Then play more than one note: a waveform that works on a low held note may become too bright higher up.
Save the simple version before making it more aggressive. It gives you a useful endpoint for the next step.
5. Make a few frames into an expressive instrument
Press + below the waveform to duplicate the selected frame. Edit the copy, return to the original, and compare them. Add a third only when it contributes a useful sound between or beyond the first two.

Click a thumbnail to select it. Shift-click to select a range. Drag thumbnails to reorder them. A good progression might be rounded → slightly rough → bright, rather than three unrelated sounds that happen to be adjacent.
Before morphing, audition each frame. If one is weak on its own, interpolation won’t necessarily rescue it.
Choose the right morph
The Morph menu builds intermediate frames between the existing source frames. With more than one and fewer than 256 frames, the editor can fill out the table to 256 positions.

| Mode | What it does | When to try it |
|---|---|---|
| Crossfade | Blends neighboring waveforms | A straightforward first comparison when you like the source shapes |
| Spectral | Builds intermediate frames using spectral and phase information | An alternative transition when crossfading feels uneven or uninteresting |
| Spectral, Zero Fundamental Phase | Aligns the fundamental phase while morphing | Investigating low-end dips between frames |
| Spectral, Zero All Phases | Discards phase differences across all harmonics | Exploring a more consistent transition with a potentially different character |
Phase-resetting modes can alter the source frames. Use Undo to compare against the original state. Removing morph tables removes the generated in-between frames, but it isn’t a substitute for restoring every earlier phase change.
Why the sound gets quieter in the middle
If you crossfade between a waveform and an opposite-polarity copy, their shared content cancels at the midpoint. Neither endpoint has to be quiet for the transition to lose level.

For a pair with opposing polarity, Single → Flip Vertical (Polarity Invert) can improve the relationship. That is a targeted fix, not a rule to flip every quiet frame. Unrelated waves may need fundamental-phase alignment, a different morph mode, or a better choice of endpoints.
Also distinguish a frame-level problem from a transition problem. If the frame itself is quiet, normalization may help. If only the space between frames becomes quiet, inspect their phase relationship first.
Put WT Pos under musical control
Back on the main oscillator page, assign an LFO or envelope to WT Pos. Begin with a slow sweep and a restricted range. Then play a phrase rather than holding one note indefinitely.
An envelope can make each note move from bright to rounded. An LFO can give a sustained part recurring movement. A macro gives you a performance control you can automate in the arrangement. Keep the range within the sounds that belong in the part.
6. Process frames without losing what makes them useful
Single applies the selected operation to the current frame; All applies it across the table. Check which menu you’re using before a broad edit.
Normalization is about peaks, not equal loudness
Normalization changes gain so the waveform’s peak reaches the available maximum. It doesn’t make different shapes sound equally loud.

- Normalize Each (Gained Separately): scales every frame against its own peak. Useful when imported frames have inconsistent levels, but it changes their relative dynamics and can raise nearly silent material.
- Normalize Same (Max. From All Frames): applies one shared gain change, based on the highest peak anywhere in the table. This preserves level differences between frames.
Don’t normalize empty frames into noise. Remove unwanted silence first, and listen again after the gain change. The best option depends on whether those original level differences are part of the movement you want.
Remove DC offset when it’s actually present
DC offset is a nonzero average value in the waveform: an upward or downward bias. Unequal positive and negative peaks alone don’t prove that DC is present.

When needed, apply Remove DC Offset before normalizing. Avoid treating every asymmetric waveform as broken; asymmetry can be part of its character.
Smooth a troublesome cycle boundary
A frame repeats from its right edge back to its left edge. A discontinuity there contributes extra high-frequency content, often heard as buzz or an edge at oscillator rates. That is different from a one-off click when switching frames.

Fade Edges fades toward the center line. X-Fade Edges blends the ends toward each other. The grid-based versions take their length from the horizontal grid setting; the All menu also offers a short 16-sample edge crossfade.

Start with a small treatment and compare. A saw has a deliberate discontinuity, and removing it changes the sound. There’s no requirement for every useful waveform to look perfectly rounded or start at zero.
Shift Horizontal to Zero Crossing can help position the boundary for further work, but a zero crossing by itself doesn’t guarantee that the slopes or the neighboring frames match. Nudge All Phases for Fundamental to 50% addresses the fundamental’s phase across frames; it isn’t the same operation as aligning a visible zero crossing.
Keep creative processing separate from repair
A few other operations are worth knowing:
| Operation | Useful purpose |
|---|---|
| Filter (Grid Size) | Remove high harmonics from the source waveform |
| Sample Redux | Create a deliberately stepped, lo-fi waveform |
| Remove Fundamental | Make room for a separately designed sub layer |
| Blur Spectra, Adjacent Bins | Smooth the distribution of energy across neighboring harmonics |
| Blur Spectra, Adjacent Frames | Smooth spectral changes along the table |
| Set Spectra / Set Phases, This Frame to All | Carry one frame’s spectral or phase structure across the table |
| Create PWM from This Table to All | Generate a table of pulse-width variations from one frame |

The PWM command replaces the other frames with its generated series. Save a version before using it. Its advantage is that WT Pos can handle that movement while the oscillator’s Warp controls remain available for another process.
You don’t need every menu item to finish a good table. For the less common cross-oscillator operations and the complete command reference, use Xfer’s official Serum 2 manual, particularly “Using the Wavetable Editor.”
7. Import audio with the right expectations
Importing audio is a way to borrow a recording’s tonal character and turn it into an oscillator. It does not preserve the entire recording in the same way as loading a sample. A wavetable scan won’t automatically reproduce the original timing, pitch bends, reverb tail, or stereo image.
Start with a short, interesting section. A sustained synth note with a changing tone is easier to understand than a full song or a long sound containing silence and several pitches.

In Live, John selects a useful region and consolidates it with Cmd–J before dragging it into Serum. You can also render the selection to a file and use the editor’s Import menu. The important part is giving Serum the intended audio segment.
Match the import method to the source
Dragging audio over the oscillator/editor presents different drop zones. Where you release it determines the import method.

| Source or goal | Start with | What to check afterwards |
|---|---|---|
| A stable pitched synth note | Constant Framesize / Pitch Average | Was the pitch detected correctly? |
| Simple audio with vibrato or pitch movement | Dynamic Pitch / Zero Snap | Do the cycle boundaries and pitch remain sensible? |
| More complex pitched audio with some chorus, resonance, or noise | Dynamic Pitch / Follow | Does the varying frame size produce a playable result? |
| A clearly pitched, harmonically structured recording | Frequency Estimation | Do frames keep a consistent repeating pattern? |
| Speech, percussion, or an abstract texture | FFT import | Does the spectral character work as a musical oscillator? |
These are starting choices, not quality rankings. Try two methods on the same short selection and compare the entire position range.
Stereo detail: Xfer documents that wavetable import uses the left channel for OSC A and OSC C, and the right channel for OSC B. If a stereo recording sounds unexpectedly different, check which channel you’re importing. Exporting a deliberate mono source can make the experiment easier to repeat.
Clear an old frame-size override
Pitch Average can leave a sample-length value in the Formula field. That value can affect the next import. Clear it before comparing automatic import methods on a different source.

If every file suddenly seems to import in the same peculiar way, check this field before blaming the source audio.
FFT size is not the frame’s playback length
FFT import analyzes short windows of the source and reconstructs their spectral character. The 256, 512, 1024, and 2048 choices describe the analysis window size. They aren’t alternative lengths for Serum’s internal waveform cycle, which uses 2048 samples.

Larger windows provide finer frequency resolution; smaller windows give a coarser spectral picture. Neither is automatically more musical. For an abstract vocal or percussion texture, compare the character and the movement rather than assuming the largest number wins.
8. Refine an import into a useful wavetable
The most valuable part of importing is often what you remove. You’re designing a route through a sound, so every retained region should earn its place.
Step 1: remove silence and weak material
Inspect the beginning and end. Delete empty or nearly empty frames that you don’t want, and remove long stretches with no useful change.

Shift-click a thumbnail range and choose Remove: Multiselection. You can also remove from the beginning through the selected frame, or from the selected frame through the end. Those range commands include the selected frame, so check the boundary carefully.
Save the unedited import first. It gives you a way to recover an interesting region if you trim too aggressively.
Step 2: check the pitch across frames
Hold one MIDI note and move through the source frames before adding modulation. Look for a consistent cycle structure and listen for octave jumps or other abrupt pitch changes.

If one frame contains two repetitions of the same cycle, it can sound an octave above a single-cycle version. Three repetitions can move the apparent pitch to the third harmonic. Complex waveforms aren’t always visually obvious, so use both the display and a tuner or spectrum analyzer.
For a consistent two-cycle import, Resize Tables to be Half (2x Total Number) splits each frame into two. The inverse operation combines adjacent frames. These are specific tools for a cycle-length problem, not a general “improve import” button.

If the number of cycles varies unpredictably across the table, a different import method or a shorter source selection is often a better starting point than resizing everything.
Step 3: correct levels and test the boundaries
Remove DC offset if present. Choose a normalization mode based on whether you want to preserve the original level progression. Try a short edge crossfade if the cycle boundary produces unwanted buzz.
Then compare phase alignment if transitions lose body. Keep each processing step only when it improves the intended sound. A table doesn’t become better simply because you ran the same cleanup chain over every import.
Step 4: morph, then listen through the whole range
Start with Crossfade and compare it with a spectral mode. Sweep slowly enough to notice quiet spots, pitch changes, and redundant regions.
The first morph can still feel crowded. It may be blending correctly while passing through too many changes for the range you want to play.
Step 5: curate the source frames
Keep frames that introduce a distinct, useful tone. Delete repeated wobbles and nearly identical stretches if they make a large part of WT Pos feel unproductive.
The Reduce to submenu can thin the source by retaining every nth frame. Be careful with its labels: choosing a value such as 16 or 32 should not be read as a promise that you will end with exactly 16 or 32 source frames. Inspect the retained thumbnails afterwards, and distinguish source frames from generated morph positions.
For a deliberate result, manual selection is often clearer. Start with a rounded frame, a middle texture, and a bright endpoint. Regenerate the morph and test again. Fewer source frames can give the transition more room, but they won’t repair an incorrect pitch analysis or guarantee a smooth sound.
9. Follow two real examples from the session
Example one: turn a hardware recording into a focused sweep
John imports a short section from a Sub 37 recording. He compares import methods, checks the cycle shapes, then applies cleanup and a crossfade morph.

The initial result has useful character, but part of the table keeps wobbling through similar material. That’s a musical editing problem: too much of the control range does approximately the same job.
He removes more of those similar frames. The goal is a table with distinct usable positions, not simply the largest amount of captured audio.

Apply it to your own recording: choose a short sustained note, compare two import methods, and keep three to eight source frames with meaningfully different tones. Treat that frame count as an exercise, not a Serum requirement. Morph them, then test a short bass line across the entire useful range.
Example two: simplify a complex texture
The second source contains more varied material. An early import already offers a lot of different tones.
After processing and morphing, the sweep still covers so much change that it can be difficult to use subtly.
John reduces the source frame set, then removes additional frames to get a shorter progression. Listen to the stages as separate examples from the session; they aren’t matched renderings of an identical automated sweep.

Apply it to your own sound: decide what the beginning, middle, and end should do. If the middle is interesting but the extremes aren’t, keep the middle. You don’t owe the original recording a complete start-to-finish reconstruction.
10. Use formulas and sorting to extend a good idea
The Formula menu includes single-frame and multi-frame examples. Start there if you want generated material without drawing every harmonic. The formula remains visible, so you can make one change and inspect the result.

Avoid the accidental double-cycle formula
Serum’s formula variables have specific ranges: x runs from −1 to 1 across the frame, while w runs from 0 to 1. That matters when you use sine functions.
sin(pi*x)spans one complete period across the frame.sin(2*pi*w)also spans one complete period, with a different starting phase.sin(2*pi*x)spans two periods and therefore creates a different repeating pitch structure.
If a generated formula sounds an octave higher than expected, check its cycle count before resizing the result. Correcting the expression is usually easier to understand than compensating for it afterwards.
A simple harmonic exercise is:
0.7*sin(pi*x)+0.2*sin(3*pi*x)+0.1*sin(5*pi*x)
This combines the fundamental with smaller third and fifth harmonics. It’s a rounded, odd-harmonic starting shape—not a complete mathematical square wave. The coefficients keep the theoretical summed amplitude within ±1. Try changing just the third-harmonic amount, then compare at a similar output level.
This expression follows the variable ranges and sine syntax documented in Xfer’s Formula Parser chapter. Always audition generated expressions in a copy of your table. Formulas using y or z can regenerate multiple frames, so a pasted expression may affect more than the visible one.
Sort when you want a different progression
The Sort menu can reorder frames using spectral properties such as average spectral content, fundamental amount, or the highest occupied harmonic. You can also reverse the entire order or drag thumbnails manually.

For a dark-to-bright progression, compare a spectral sort with your own manual order. If a table starts bright and ends dark, reversing it may be all you need. Recheck the transitions after sorting; a tidier-looking sequence is not automatically a better sounding one.
11. Save the table—and make sure the preset travels
Save the wavetable under a descriptive new name in your User tables location. In the demonstrated build, John uses the oscillator’s save icon. The manual also documents right-clicking the custom table name and choosing Save Table.

Name it after its useful character or source, such as Sub37 Rounded to Buzz, rather than a vague “new table.” Then save the complete Serum preset separately, including your envelope, WT Pos modulation, routing, and effects.
Saving a table and embedding external content are related but distinct. The manual says edited wavetable data is saved inside presets; externally referenced resources can also have an Embed in Preset setting. Check the embed control for the content you’re sharing instead of assuming that saving a WAV alone makes every dependency portable.

Reopen the saved preset and confirm that it sounds right. If you’re distributing it, test on the intended recipient setup with the required external resources embedded or included. This is especially useful when a preset combines a custom wavetable with other sample-based oscillators.
Turn it into something you can finish
Write a short musical phrase before making another table. Choose a useful WT Pos range, add an envelope or a slow movement, and save a version that works in context.
If you need a pattern to test, our Serum 2 arpeggiator guide and Clip Sequencer guide show ways to turn a sound into a repeatable part. For arranging that part in Live, continue with the Ableton Workflow Guide.
12. Troubleshoot the result
| What you notice | Check first | A useful next move |
|---|---|---|
| WT Pos jumps between shapes | Playback interpolation and source-frame differences | Enable Smooth Interpolation or compare a Morph mode |
| A sweep loses low end in the middle | Polarity and fundamental-phase relationships | Compare a targeted polarity flip or fundamental-phase alignment |
| Some frames are much quieter | Source silence and peak levels | Remove unwanted frames, then choose a normalization mode |
| Imported frames jump in pitch | Cycle count, source pitch, and import method | Try a shorter source or different import; resize only for a consistent cycle-length issue |
| The next file imports strangely | A leftover numeric value in Formula | Clear the override and re-import |
| A long position range sounds repetitive | Near-duplicate source frames | Keep distinct endpoints and remove redundant regions |
| The waveform sounds buzzy at the boundary | The cycle’s discontinuity | Compare a small edge crossfade without erasing wanted character |
| FFT import doesn’t sound like the original recording | The difference between spectral reconstruction and sample playback | Judge the oscillator texture, or use a sample-based mode for the recording itself |
| A “sine” still has extra detail | Harmonics outside the current bin zoom | Zoom out and inspect the full set of bins |
| A shared preset has missing content | External-resource embedding and included files | Reopen and test the complete preset package |
How many frames do I need?
One frame is enough for a static waveform. A few different source frames are enough for expressive movement. In this editor, Morph can generate intermediate positions up to 256 frames. Choose the content by ear; the maximum count is not a target.
Do I need hardware to make original wavetables?
No. You can draw them, use harmonic bins or formulas, or import a recording from a software synth. Hardware is one source of personal material, not a prerequisite. Start with something you already understand so you can hear what the import changes.
Is this the same as Ableton’s Wavetable instrument?
No. This guide covers the wavetable editor inside Xfer Serum 2, with Ableton Live used as the host in the source video. The basic ideas of frames, harmonics, and scanning apply more widely, but the menus and commands here are Serum’s.
What should I learn next?
Make one table that works in a real part. Then explore how Serum’s filters and modulation change its behavior over a note. A useful waveform, a deliberate movement, and a good phrase will teach you more than a folder full of unfinished experiments.
Based on EDMProd’s linked wavetable-editor demonstration, with technical references to Xfer’s Serum 2 User Guide: Using the Wavetable Editor, Importing Audio as Wavetables, and Using the Formula Parser. Screenshots show the source video’s build; some labels and controls may differ in later versions.