[sdiy] Polyevolver internals
Antti Huovilainen
ajhuovil at cc.hut.fi
Wed Dec 30 15:09:00 CET 2009
On Wed, 30 Dec 2009, Tom Wiltshire wrote:
> There are various reasons; DCOs generate genuine analogue ramps, which is
> important to some people;
Ok, I'll concede this point. Marketing angle.
> Related is the fact that DCOs can easily generate sync waveforms without
> aliasing, which is *hard* to do with digital oscillators;
Not really, as long as you're not using more complicated waveforms than
saw/pulse/triangle (and if you are, then you can't use normal DCO either).
All you need to do is work out the exact time when reset happened (basic
arithmetic) and then add bandlimited step and/or ramp to that point
(just adding contents of indexed precalculated table to the output).
> DCOs have a relatively low processor overhead, since you only have to
> deal with a timing reset pulse once per wavecycle instead of dealing
> with generating a new sample at x KHz. That leaves you time to do
> modulation processing on the same chip.
Which you can do even if you have digital oscillators running on the same
chip. DCOs can't be audio rate modulated, so comparison point should be
"slowly" (less than 1 kHz) modulated digital oscillators. Envelopes and
LFOs are really quite cheap using fixed point maths, so I don't see any
problems running multiple envelopes and LFOs in addition to the
oscillators.
As I've mentioned before, I've done a bit of notepad coding for dspic
(there are probably off by one errors etc in the code, but nothing that
has significant effect on cycle count).
Alias free wavetable oscillator with smooth fade between adjacent
wabetable entries is ~45 cycles. Rough estimate for analog saw/pulse
oscillator is 60 cycles. A 4 pole filter with OTA-like distortion
in feedback path is ~60 cycles.
The classic two oscillators and one filter combination is then 150 - 180
cycles. Synthesizing two voices at 72 kHz samplerate (1.5 * 48k) means 256
cycles per voice, so there's still 75 - 100 cycles left for modulations
and other things.
> I doubt Dave Smith would have got two voices on one dsPIC if he'd used
> digital oscillators not DCOs in the Prophet 08.
I can't speak for Dave Smith, but as I wrote in previous chapter, there is
no inherent reason why a single dspic couldn't do it.
Antti
"No boom today. Boom tomorrow. There's always a boom tomorrow"
-- Lt. Cmdr. Ivanova
More information about the Synth-diy
mailing list