TableMorph is a powerful wavetable generator designed specifically for the Vital synthesizer. It allows you to create unique wavetables from scratch, generate single-cycle waveforms, or morph them with your own audio samples.
- Advanced Wavetable Generation: Create complex wavetables with rich harmonic content and unique timbres
- High-Variability Morphing Algorithms: Five distinct morphing techniques with dynamic randomization for truly unique results
- Single-Cycle Wavetables: Generate oscillator waveforms with various types (sine, saw, square, triangle, FM, additive, formant)
- Sample Morphing: Blend your audio samples with generated wavetables using advanced spectral processing
- Multi-Synthesis Techniques: Utilizes additive, FM, phase distortion, waveshaping and spectral synthesis methods
- Batch Processing: Generate multiple wavetables or single-cycle waveforms at once
- Direct Vital Integration: Save wavetables directly to Vital's wavetable directory
- Customizable Settings: Configure frame count, sample count, and morphing parameters
TableMorph features five sophisticated morphing algorithms:
- Simple Blending: Non-linear blending with dynamic intensity and phase modulation
- Additive: Selective harmonic processing with independent phase manipulation
- Harmonic: Frequency-dependent structural modifications based on sample characteristics
- Wave Folding: Adaptive waveshaping with multiple folding thresholds and saturation
- Spectral: Multi-band frequency transformations with independent processing per band
Each algorithm ensures unique results even with similar input parameters through multiple layers of controlled randomization.
- Java 8 or higher
- Vital synthesizer (for using the generated wavetables)
- Download the latest release from the Releases page
- Extract the ZIP file to a location of your choice
- Run the application using the provided launcher script:
- On Windows:
run-tablemorph.bat - On macOS/Linux:
./run-tablemorph.sh
- On Windows:
- Launch TableMorph
- Choose an option from the main menu:
- Generate a single wavetable
- Generate a single-cycle wavetable
- Morph with samples
- Batch generate wavetables
- Batch generate single-cycle wavetables
- Batch morph wavetables
- Generated files will be saved to:
- Multi-frame wavetables:
wavetablesdirectory - Single-cycle wavetables:
singlecyclesdirectory - Morphed wavetables:
morphsdirectory - Your Vital wavetables directory (if enabled)
- Multi-frame wavetables:
The generated wavetables are automatically saved to your Vital wavetables directory (if enabled in settings). To use them:
- Open Vital
- Click on an oscillator
- Click the wavetable button
- Navigate to the User Wavetables section
- Select your generated wavetable
To use your own audio samples for morphing:
- Place WAV files in the
soundsdirectory- You can organize samples in subdirectories (e.g.,
sounds/drums/,sounds/vocals/) - The application will recursively scan all subdirectories for WAV files
- You can organize samples in subdirectories (e.g.,
- Choose the "Morph with Samples" or "Batch Morph Wavetables" option
- The application will randomly select and incorporate your samples from any level of the directory structure
TableMorph can generate several types of single-cycle wavetables:
- Sine: Pure sine waves with optional harmonic content
- Triangle: Triangle waves with variable slope
- Sawtooth: Standard and reverse sawtooth waves
- Square: Square waves with variable pulse width
- Noise: Filtered noise for usable wavetables
- FM: Frequency modulation with randomized carrier and modulator parameters
- Additive: Harmonically rich waveforms with multiple partials
- Formant: Vowel-like waveforms with formant filtering
Each generated waveform includes randomized parameters to ensure uniqueness.
TableMorph offers several configuration options:
- Wavetable Settings: Frame count, sample count
- Single-Cycle Settings: Sample count
- Morphing Settings: Max morph samples, full sample probability
- Vital Integration: Enable/disable saving to Vital, customize Vital directory path
# Clone the repository
git clone https://github.com/proxeeus/tablemorph.git
cd tablemorph
# Build with Maven
./mvnw clean package
# Run the application
java -jar target/tablemorph-1.0-SNAPSHOT-jar-with-dependencies.jar
# Or use the provided scripts:
# ./run-tablemorph.sh (macOS/Linux)
# run-tablemorph.bat (Windows)This project is licensed under the MIT License - see the LICENSE file for details.
- Vital Synthesizer by Matt Tytel
- All sample contributors (if using Creative Commons samples)
Contributions are welcome! Please feel free to submit a Pull Request.
