Domo kun in the field

Converting wavetables for the modwave

The Korg modwave supports float32-per-sample, 2048 sample-per-wave, 1-64 wave-per-wavetables. The modwave Editor Librarian software can load .wav files in this format, or also 16-bit-per-sample, 512 sample-per-wave .wav files, which are converted on import. It can reportedly also import some other wavetable formats and will convert those on import.

Vital (and its open-source counterpart Vitalium) is a wavetable VST softsynth that has excellent wavetable design features. It exports wavetables as 16 bit, 2048 sample-per-wave, 256 wave-per-wavetable .wav files, which the Editor Librarian does not import. I wrote a Python commandline tool to convert these (and some other) wavetables to a format that can be imported. Basically, arbitrary .wav files (2048-sample minimum length) will convert into something that can be loaded as a modwave wavetable, although it currently assumes that each wave is 2048 samples long. This allows a crude form of resynthesis, but it's not doing anything intelligent.

Using modwavify.py

modwavify.py is free, open-source software with an MIT license. It requires Python to be installed first. After that, follow this link to the code for installation instructions.

As a simple example, if a wavetable is exported from Vital with the name wavetable.wav, to convert it:

> python modwavify.py wavetable.wav
wavetable.wav: 88200 samples, Max excursion 0.371002197265625
wavetable_mw.wav: reduced by factor 4 to 64 waves

As well as the converted wavetable wavetable_mw.wav, it also generates a waterfall plot image of the waves in wavetable.png:

wavetable plot

There are a few other options for controlling how the wavetable is downsampled and normalised. See the modwavify code page for further info on that.

Another free option for converting wavetables

The only other free tool worth mentioning is Jeremy Bernstein's WaveEdit fork modwaveEdit. It is a complete wavetable creation environment that many may prefer over my Python tool. modwavify's default behaviour is most similar to importing a wavetable into modwaveEdit then clicking the Normalize checkbox in the Effect Editor, before then saving the wavetable.