[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.
Ciao,
--
FA
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