Yes, that’s a good way, not only for LFO but for that rare time you want to 
sweep down into the nether regions to show off. I think a lot fo people don’t 
consider that the error of a “naive” oscillator becomes increasingly smaller 
for lower frequencies. Of course, it’s waveform specific, so that’s why I 
suggested bigger tables. (Side comment: If you get big enough tables, you could 
choose to skip linear interpolation altogether—at constant table size, the 
higher frequency octave/whatever tables, where it matters more, will be 
progressively more oversampled anyway.)

Funny thing I found in writing the wavetable articles. One soft synth developer 
dismissed the whole idea of wavetables (in favor of minBLEPs, etc.). When I 
pointed out that wavetables allow any waveform, he said the other methods did 
too. I questioned that assertion by giving an example of a wavetable with a few 
arbitrary harmonics. He countered that it wasn’t a waveform. I guess some 
people only consider the basic synth waves as “waveforms”. :-D

Hard sync is another topic...

> On Aug 4, 2018, at 1:39 PM, Phil Burk <> wrote:
> On Sat, Aug 4, 2018 at 10:53 AM, Nigel Redmon < 
> <>> wrote: 
> With a full-bandwidth saw, though, the brightness is constant. That takes 
> more like 500 harmonics at 40 Hz, 1000 at 20 Hz. So, as Robert says, 2048 or 
> 4096 are good choices (for both noise and harmonics).
>  As I change frequencies  above 86 Hz, I interpolate between wavetables with 
> 1024 samples. For lower frequencies I interpolate between a bright wavetable 
> and a pure sawtooth phasor that is not band limited. That way I can use the 
> same oscillator as an LFO.
> <>
> Phil Burk

dupswapdrop: music-dsp mailing list

Reply via email to