[sdiy] Prophet VS a phase accumulator design?
Rainer Buchty
rainer at buchty.net
Wed Feb 2 20:17:30 CET 2011
On Tue, 1 Feb 2011, Paul Maddox wrote:
> The ESQ-1 DOC chip I thought did something different, I have a feeling
> that "drops" samples as you reach higher octaves. Rainer Buchty is
> *the* man for ensoniq and he's on this list somewhere.
The DOC uses a 24 bit accumulator and a 16 bit incrementum. Regarding
wave playback, there are 2 parameters setting wave size (256b to 32k in
discrete 2^n steps) and address resolution (quick-and-dirty octave
jumping). Depending on those settings, a maximum of 8 accumulator bits
are used as fraction, in worst case only 2. However, the SQ80 uses a
maximum of 4kB in wave size, not 32kB.
In order to avoid too much sample skipping for higher octaves,
multisampling is used with 8-key-wide multisample zones (i.e. 16 entries
per sample). In order to further avoid aliasing, the higher multisample
waves are more or less uniformly mapped towards an octave wave, some
more "aggressive" sine, and finally sine.
Regarding the ESQ1/SQ80 OS, the wave octave and fine-tuning settings are
computed together in order to determine the multisample zone, whereas
modulation is not. Hence, you can play the usual game of addressing
"wrong" zones by extreme pitch modulation.
Btw, especially in the long waves there are audible zone splits,
especially noticeable in the BRASS waveform(s).
The sample rate scales with the number of active oscillators and on the
ESQ1/SQ80 is 1MHz/(24+2)=38.462 kHz -- on Mirage's SoundProcess it drops
down to 1/(32+2)=29.412kHz due to 32 active oscillators.
So for a PPG-like rate, you'd need to restrict the DOC to 3 active
oscillators (plus 2 refresh cycles), hence 1MHz/(3+2)=200kHz.
Rainer
More information about the Synth-diy
mailing list