Skip to content

Creating Wavetables

atom edited this page Sep 3, 2026 · 1 revision

Creating Wavetables

This is the end-to-end workflow for making a WAV that another synthesizer or sampler will use as a wavetable.

If you only want useful audio—drones, hits, transitions, textures, or resampling material—you can ignore much of the nominal-root-cycle and wavetable-frame discipline here. See Creating Samples, Drones, Hits, Transitions, and Multisamples.

What FWG actually exports

🔧 FWG exports ordinary mono WAV audio. WAV has no universal wavetable-frame convention.

A destination instrument may infer or require its own:

  • output PCM samples per intended cycle/wavetable frame;
  • wavetable-frame count;
  • interpolation behaviour;
  • root-pitch assumptions;
  • filename/folder layout;
  • metadata.

A successful wavetable therefore needs both useful sound design and geometry the destination interprets as intended.

For Akai MPC, MPC Wavetable Mode automates the supported folder geometry and format.json. Other instruments have their own rules.

A useful wavetable usually has

🎹 Listen and plan for:

  • a clear intended nominal-cycle / wavetable-frame geometry;
  • enough output PCM samples per intended cycle for the target;
  • useful change from one wavetable position/frame to the next;
  • no accidental long flat or collapsed regions;
  • a stable enough pitch identity for the intended use;
  • transitions that remain intentional after the destination synth interpolates them.

Interesting audio is not automatically a useful wavetable. A technically simple waveform can be an excellent wavetable source.

Step 1 — choose how you want to find the sound

Deliberate design: Morph

Use START→END Morph when you know the endpoints or the kind of movement you want. Morph gives direct control over START/END, Morph mode, curve, Cycle-stepped transition, modulation/filtering, Phase-Coherent Mode, geometry, and cleanup.

Broad discovery: Bulk Random

Use Bulk Random when you want FWG to search broadly.

Good first pools for wavetable work:

  • Classic Waveforms — simple, interpretable material;
  • Smooth — generally controlled movement;
  • Edge — brighter/harder movement;
  • Cycle-coherent random — broader material with more emphasis on cyclical usefulness.

Glitch & Noise, Unrestricted, and Absurd can also produce good tables, but expect more results that work better as ordinary samples.

Variations around a keeper: Explorer

Use Bulk Explorer when you have a promising result and want nearby alternatives. It is often the fastest path from “almost right” to a related family of tables.

Step 2 — understand the endpoint signal path

An endpoint is more than a Generator Family. It includes generator variant/controls, taps, Input routing, Wavetable Type, Source/Result Windows, Drawn where used, modulation/filter settings, Pitch Offset, and other effective patch state.

Drawn may itself be a literal/imported 512-internal-cycle-sample waveform or a compact stage-1 construction optionally rebuilt through a Fourier, Haar, or Walsh stage-2 transform before the rest of the endpoint signal path uses it.

A productive learning order is:

  1. Generator Families
  2. Source Taps and Routing
  3. Wavetable Types
  4. Source and Result Windows
  5. Modulation and Filter

You do not need to master every generator before making useful tables.

Step 3 — choose the wavetable geometry

🔧 The key relationship is:

output PCM samples per nominal root cycle = WAV output sample rate ÷ Root Frequency

or:

Root Frequency = WAV output sample rate ÷ output PCM samples per nominal root cycle

FWG's oscillator/Drawn core uses 512 internal cycle samples. That does not force export to use 512 output PCM samples per nominal root cycle. Export geometry comes from WAV output sample rate and Root Frequency.

Exporting 2048 output PCM samples per nominal root cycle therefore does not turn the source into a 2048-internal-cycle-sample table. See Meditations on the 512-Sample Core.

Examples at 96 kHz:

Target output PCM samples per nominal root cycle Root Frequency
512 187.5 Hz
1024 93.75 Hz
2048 46.875 Hz
4096 23.4375 Hz

Use Calculators to solve the relationship directly.

Why geometry matters

⚠️ If a destination assumes 2048 output PCM samples per wavetable frame and receives audio designed around another output-PCM-samples-per-frame geometry, it may slice the WAV at the wrong positions. The file can still make sound while the intended frame sequence is lost.

For fixed-geometry targets, choose the target geometry before rendering.

Step 4 — choose how START becomes END

Morph Render Modes decide the relationship between endpoints.

Useful starting families:

  • Wavetable / one-oscillator modes — one evolving oscillator table;
  • Phase-Aligned Crossfade — two endpoint voices with reduced phase disagreement;
  • Crossfade — keep the endpoint interaction itself;
  • Fast Fourier Transform (FFT) Spectral Morph — interpolate spectral information rather than direct table/parameter values.

No mode is universally best. Destination interpolation can make similar-looking exports feel very different.

Step 5 — decide whether each nominal cycle should hold one Morph state

Cycle-stepped transition holds one Morph construction state for each nominal root cycle instead of moving continuously through output PCM samples.

🎹 This can give a frame-oriented destination cleaner discrete source states to interpolate between. It is not mandatory; continuous motion may be exactly what you want when the target treats the file as a continuous scan.

Step 6 — consider Phase-Coherent Mode

Phase-Coherent Mode applies best-effort exact integer circular rotations to completed tables before downstream Morph/modulation/render processing.

Useful facts:

  • optional;
  • fresh workspace default: Off;
  • MPC setup turns it On in the active workspace;
  • not a promise that every final frame begins at a zero crossing;
  • later Morph/modulation/filtering may change apparent phase again.

🎹 When phase orientation matters, audition both ways.

Step 7 — choose cleanup conservatively

Render and Export Settings controls final DC removal, normalisation, headroom, WAV output sample rate, bit depth, and length.

For wavetable work:

  • do not enable cleanup merely because it exists;
  • use DC removal when offset is actually unwanted;
  • use normalisation when consistent peak level serves the target;
  • remember that Per Cycle processing can alter individual nominal-root-cycle levels differently from Whole File processing.

If FWG reports Loop Safety or Table Safety, read the warning before deciding that the result is wrong. Some extreme material is intentional.

Step 8 — audition the endpoints and the movement

Before a long export:

  1. audition START;
  2. audition END;
  3. play Forward;
  4. play Reverse if relevant;
  5. inspect the visualiser for obvious collapse or unwanted discontinuity.

That catches many poor combinations before they become files.

Step 9 — export and keep the JSON sidecar

Keep the matching .json.gz for every wavetable you may want again. It lets you reconstruct the design and later change endpoints, Morph mode, geometry, Phase-Coherent Mode, cleanup, or Explorer variation.

See Saving, Loading, and JSON Sidecars.

Step 10 — audition in the destination instrument

🎹 This is the decisive test.

Listen for:

  • whether Position/scan follows the intended wavetable-frame order;
  • whether target XFade/interpolation improves or smears transitions;
  • dead or nearly flat positions;
  • unintended clicks or large discontinuities;
  • behaviour over the intended pitch range;
  • whether the destination interprets root pitch or WAV output sample rate differently than expected.

A WAV that sounds excellent as linear audio can be a poor wavetable. A file that sounds repetitive or stepped in FWG can become excellent once the destination wavetable oscillator interpolates it.

Step 11 — refine instead of starting over

If the result is close:

  • reload its sidecar into Morph;
  • change one factor;
  • re-render and compare;
  • move the keeper into Explorer if you want related variants.

See Auditioning, Curation, and Building a Personal Library.

MPC-specific path

For MPC:

  1. design or discover a Morph;
  2. choose MPC samples/cycle and Single Cycles;
  3. enable MPC Wavetable Mode;
  4. press Apply MPC Settings so Root Frequency and Render Format match the selected geometry;
  5. if desired, use Phase-Coherent Mode—it is turned on by MPC setup but remains independently editable afterward;
  6. export;
  7. copy the exported folder to Oscillators/Wavetables/ on the MPC drive, keeping the WAV files with format.json, as documented in Installing and Auditioning Wavetables on MPC.

Related pages

Fractured Wavetable Generator

Start here

🎹 Workspaces

🎹 Build and shape sounds

🎹 Make and keep results

🎹 Scanning and custom trajectories

Help and reference

🔧 Advanced / technical reference

Clone this wiki locally