[LAD] Wavetable synthesis : Creating fat wavetables

Harry van Haaren harryhaaren at gmail.com
Fri Aug 24 23:44:12 UTC 2012

On Fri, Aug 24, 2012 at 11:48 PM, Fons Adriaensen <fons at linuxaudio.org>wrote:

> The easiest way in the case of wavetable synthesis is to upsample
> your waves by a factor of say 8, then use linear interpolation.

So the preparation process is:
-record the sounds
-upsample x8

Live playing:
-downsample the wavetable  to the size needed for the frequency that is

Do I understand the steps correctly?

> Provided you have a *good* interpolation method, two things follow.
You mentioned linear interpolation, I think that will be sufficient
considering its an instrument not an emulator, crunchy aliasing? Thats
meant to be there :)

The alternative
> is to compute the phase trajectory of the entire waveform, which will
> tell you the exact pitch with much more precision than looking at the
> waveform.
I don't know how to compute the phase trajectory or that, but it sounds
like its not strictly necessary so I'll leave that for the time being.
The loop points on the wavetables I'm currently using are just "ear
picked", and slightly visually tuned.

Other concepts I've read about and would be interested in experimenting
with after a working prototype is done:
-2d interpolation between wavetables and linear interpolation between the
wavetables values. Time and phase of wavetables must be exact.
-Randomizing phases and loop positions within wavetable for different


PS: Random idea: Create a program which scans trough a short recorded
frament, and analyzes the number of samples per cycle. Some sort of "take
sample, check sample" loop should do the trick really, and then output the
largest repeated period. That with a sensitivity control is essentially all
that's needed to create perfectly looped synthesized recorded wavetables
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxaudio.org/pipermail/linux-audio-dev/attachments/20120825/f6089470/attachment.html>

More information about the Linux-audio-dev mailing list