-
Notifications
You must be signed in to change notification settings - Fork 0
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.
🔧 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.
🎹 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.
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.
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.
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.
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:
- Generator Families
- Source Taps and Routing
- Wavetable Types
- Source and Result Windows
- Modulation and Filter
You do not need to master every generator before making useful tables.
🔧 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.
For fixed-geometry targets, choose the target geometry before rendering.
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.
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.
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.
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.
Before a long export:
- audition START;
- audition END;
- play Forward;
- play Reverse if relevant;
- inspect the visualiser for obvious collapse or unwanted discontinuity.
That catches many poor combinations before they become files.
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.
🎹 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.
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.
For MPC:
- design or discover a Morph;
- choose MPC samples/cycle and Single Cycles;
- enable MPC Wavetable Mode;
- press Apply MPC Settings so Root Frequency and Render Format match the selected geometry;
- if desired, use Phase-Coherent Mode—it is turned on by MPC setup but remains independently editable afterward;
- export;
- copy the exported folder to
Oscillators/Wavetables/on the MPC drive, keeping the WAV files withformat.json, as documented in Installing and Auditioning Wavetables on MPC.
Documentation rule: The executable code is authoritative. This Wiki describes the supported Fractured Wavetable Generator v3.0 contract and workflows.
- Generator Families
- Classic Waveforms
- Classic Split
- Drawn Waveform
- Drawn Wave-Shape Recipes
- Source Taps and Routing
- Wavetable Types
- Modulation and Filter
- Pitch, MIDI, and Pitch Offset
- Source and Result Windows
- Visualisers
- Morph Render Modes
- Morph Curve and Cycle Stepping
- Phase-Coherent Mode
- Loop Safety and Table Safety
- Creating Wavetables
- Creating Samples, Drones, Hits, Transitions, and Multisamples
- MPC Wavetable Mode
- Installing and Auditioning on MPC
- Render and Export Settings
- Auditioning, Curation, and Building a Personal Library
- Saving, Loading, and JSON Sidecars
- Sharing and Cleaning JSON Sidecars
- Randomisation and Seeds
- Keyboard Shortcuts
- Browser Requirements and Performance
- Troubleshooting
- FAQ
- Glossary
- Compatibility and Versioning
- Version 3 Release Notes
- Drawn Mathematical Reference
- Signal Path and Core Concepts
- Meditations on the 512-Sample Core
- Scanning Generator Wrapper Architecture
- Deterministic Randomisation — Technical Reference
- Render Diagnostics and Support
- Proof of Zero Prior-Work Knowledge and Forensic Evidence
- Authenticating and Timestamping FWG Outputs
- License, Provenance, and Outputs