[LAD] Wavetable synthesis : Creating fat wavetables

Fons Adriaensen fons at linuxaudio.org
Sat Aug 25 09:12:34 UTC 2012

On Sat, Aug 25, 2012 at 12:44:12AM +0100, Harry van Haaren wrote:
> 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
> played
> Do I understand the steps correctly?

Basically just multiply all samples indices by 8. For example if
when using the original you would need the value at 3.4, and 
interpolate between samples 3 and 4, in the upsampled table that
becomes 3.4 * 8 = 27.2 and you interpolate between samples 27 and
28. The run-time CPU load is just the same, you only need more
memory. But since now you can interpolate witout artefacts, you
don't need a perfect fit of K cycles in N samples, and that allows
the waves to be shorter. 



A world of exhaustive, reliable metadata would be an utopia.
It's also a pipe-dream, founded on self-delusion, nerd hubris
and hysterically inflated market opportunities. (Cory Doctorow)

More information about the Linux-audio-dev mailing list