On Fri, Aug 24, 2012 at 11:48 PM, Fons Adriaensen <fons@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?
 
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 timbres

-Harry

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 right?