Wavetable Forge

Design, morph, and export custom single-cycle waveforms for Serum, Vital, and anything else that speaks wavetable.

FRAME 1 (START)
FRAME 2 (FINISH)

Quick Guide

  • ✏️ Design Frames: Draw directly on the canvases (Frame 1 & 2). Use Presets (~, ◿, ⊓, ʌ) for classic shapes.
  • 📐 Symmetry: Click H-Sym on either frame to mirror the wave, resulting in a richer, symmetrical harmonic structure.
  • 🔊 Playback: Use ▶ Play to audition the single-cycle wave. Use Norm to quickly maximize volume for one frame.
  • 🔄 Morph Config: Select Resolution and Interpolation Type (Constant Power is recommended for smooth volume transitions).
  • 💾 Export: Click Normalize All, then ▶ Preview Morph to hear the transition. Click Export WAV to download the final wavetable file.

About Wavetable Forge 🛠️

The Project

Wavetable Forge was created to provide a simple, powerful tool for generating custom wavetables for modern synthesizers like Xfer Serum and Vital. The core idea is to move beyond simple sine, saw, and square waves by giving you direct, intuitive control over the starting and ending frames of a morphing wavetable. By drawing and adjusting parameters, you can sculpt unique timbres that would be difficult to create with traditional synthesis methods.

Key Features

  • Dual Canvas Drawing: Draw the start (Frame 1) and end (Frame 2) of your morph.
  • Real-time Playback: Audition your waveforms at Middle C (261.63 Hz).
  • Morphing Export: Generate a single, two-second WAV file ready for import into VST synthesizers.
  • Symmetry Control: Lock the waveform to a symmetrical shape for balanced harmonics.
  • Tilt/Skew: Apply a global transformation to the harmonic content.

Help & Troubleshooting ❓

1. What is a Wavetable?

A wavetable is a sequence of single-cycle waveforms (or 'frames') that a synthesizer quickly steps through (morphs) to create evolving sounds. Wavetable Forge creates a two-frame table that transitions over time, which you can load into your favorite wavetable synth.

2. Sound is too Quiet/Loud?

Use the Master Volume slider in the footer to adjust the playback level. If a specific wave is quiet, click the Norm (Normalize) button for that frame to maximize its amplitude before combining it with the other frame for export.

3. Constant Power Crossfade?

This setting uses a mathematical crossfade (cosine/sine) that keeps the overall perceived loudness constant as the synthesizer transitions from Frame 1 to Frame 2. Linear Interpolation is simpler but can result in a momentary dip in volume halfway through the morph.

4. How to Import into Vital?

Once you click Export WAV, your browser will download a 16-bit WAV file. In Vital, simply drag and drop the file directly onto the wavetable display or into the wavetable browser. The 256 interpolated frames will load automatically.

5. How to Import into Serum 2?

Serum 2 requires a specific import process:

  1. Click the pencil icon in the oscillator section to open the wavetable editor
  2. Click Import at the top of the editor window
  3. Select Audio via fixed frame size
  4. Choose your exported WAV file
  5. Click OK to complete the import

The wavetable will now display all 256 interpolated frames showing the smooth morph from Frame 1 to Frame 2.

Privacy & Analytics

What We Track

Matomo currently not tracking anything. This is outdated

Wavetable Forge uses Matomo, a self-hosted analytics platform, to collect basic usage statistics including:

This data is anonymous, aggregated, and helps us understand which features are useful so we can improve the tool. We do not track or store personally identifiable information, and we do not share this data with third parties.


Opt-Out of Analytics

You can opt out of analytics tracking at any time using the control below. Your preference will be saved in your browser.


Your Rights

Since we only collect anonymous aggregate data, we do not hold information that can identify you personally. However, if you have questions or concerns about data collection, you can contact us at privacy@littlelab.dev.

This privacy policy may be updated as we add new features. Last updated: October 2025.