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