[sdiy] Experiment with bandlimited ramps

Seb Francis seb at burnit.co.uk
Wed Jan 7 02:34:48 CET 2009


Tom Wiltshire wrote:
> Seb,
>
> On 6 Jan 2009, at 23:20, Seb Francis wrote:
>
>> By the way, what's the use of generating these bandlimited ramps 
>> anyway?  Can you actually use them to make an oscillator?
>
> Yes, you can. My DWGS oscillator code for the 33FJ128GP802 dsPIC does 
> exactly this. It generates a series of wavetables with decreasing 
> harmonic content at half-octave intervals over 8 octaves. Antti 
> mentioned this technique as (4) Mipmapped wavetables. You should 
> definitely consider it among your other approaches.
>

So let me get this right...

You have a simple saw oscillator, stepping at your desired output sample 
rate (62.5kHz?).  The value of the saw is used to lookup the actual 
sample value from the closest wavetable, in your case not using any 
interpolation between samples, but more ideally using linear 
interpolation between adjacent samples, or better still an FIR over a 
larger range of points.  Yes?

Each table is a single cycle at a fixed sample rate, and so you have to 
do a multiply by the table length for each lookup.  Am I getting it so far?

What sample rate do you use for your wavetables?  The same as the output 
sample rate?

I guess the quality would be improved by using higher than output sample 
rate for the wavetables, or using linear interpolation or better a short 
FIR to read the point from the table.

I suppose you are getting away with not interpolating the sample point 
by virtue of the fact that you are only using 64 harmonics.

Seb






More information about the Synth-diy mailing list