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(a)linuxaudio.org>wrote;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)