[sdiy] Digital Waveshape Generator.

John Ames commodorejohn at gmail.com
Sun Jul 13 17:42:18 CEST 2025


>> This isn't the case for phase-accumulator / DDS based designs with a
>> fixed sample rate, where you either have to have lots of copies of
>> the waveform in memory with progressively fewer harmonics for the
>> higher notes to eliminate aliasing _OR_ instead choose a *very* high
>> sample rate and settle for whatever aliasing remains.  
> 
> I believe it's standard operating procedure to store waveforms that
> won't alias at the intended frequencies.  And that this usually
> involves separate waveforms for each octave above a certain point.
> And that's not really a problem because for each octave up you only
> need half as waveform many entries.

Historically, it probably also had something to do with memory speeds.
If we take 4 Khz as a maximum for the fundamental (roundabout the top
key on a piano) and assume that we're designing for an eight-voice poly
with two "oscillators" per voice, a 256-sample cycle at the top end of
the range would need to fetch samples once every ~976 ns - and if we
were doing some monster unison voice with all sixteen "oscillators"
clustered around the same frequency, that'd be fetching about every ~61
ns, which works out ~16.384 MHz. You could get memory that fast in the
mid-'80s, but it'd hardly have been economical for a mass-market synth.

> It might also be worth considering some variation on the ARP Soloist
> oscillator.  Then you can play the 7/4 solo from "Cinema Show".

The true goal of all synthesis ;D


More information about the Synth-diy mailing list