[sdiy] [LAD] Wavetable synthesis : Creating fat wavetables
Gordon JC Pearce
gordonjcp at gjcp.net
Fri Aug 24 22:42:18 CEST 2012
On 24/08/12 21:35, harryhaaren at gmail.com wrote:
> I record a C3 note, 10 seconds of it. Then I want to create a wavetable.
> Search for a zero crossing after 1 second, chop. Looped playback = C3.
> Now I want to have a C#3, so 1/12 of the double of the frequency,
> playing back at that rate will NOT always provide a C#3.
I don't really see how that follows. If you create a sample 256 frames
long and play that back at whatever speed, it will provide the
appropriate pitch.
> Why? The sample is the wrong length. The "fundamental" of the note is
> not perfectly looped, not even all the harmonics are. Hence you "feel" a
> wrong pitch. Its a bit of a wierd problem.
If you speed up or slow down a tape, do the harmonics end up in the
wrong place? No, they don't.
Now in a practical synthesizer, you use a phase accumulator -
essentially, you add a fixed-point offset to the pointer into the
wavetable for every sample. This means that some samples may be skipped
or played more than once. The downside here is that harmonics that are
present in your sample may alias down to audible frequencies as you
increase the pitch - hence the need for antialiased wavetables.
The Ensoniq ESQ1 has several different wavetables for each set of
sawtooth, squarewave and so on. This means that for low frequencies it
can play back a wavetable with lots of harmonics, and for progressively
higher notes it picks a wavetable with fewer harmonics. At the highest
octave, everything is just a sinewave.
--
Gordon JC Pearce MM0YEQ
More information about the Synth-diy
mailing list