[sdiy] How DCOs work

Mattias Rickardsson mr at analogue.org
Wed Oct 12 13:36:01 CEST 2016


On 10 October 2016 at 16:52, Colin f <colin at colinfraser.com> wrote:
>> From:  Tom Wiltshire
>
>> In the video, he argues that the ramp core part is
>> merely another wave shaper, since it would stop without the counter, and
>> that would stop without the master clock, so there's only really one oscillator
>> in the synth - the master clock Which is true in a way, but kind of means
>> there's no such thing as a "DCO", since you've just defined them away.
>> Instead, you've got an oscillator followed by digitally-controlled analog wave
>> shapers.
>
> Another way to look at it is that the counters are oscillators.
> Instead of charging a capacitor with voltage, they charge a 16-bit register
> with numeric increments.
> Instead of a voltage comparator resetting the timing cap, a numerical
> comparator resets the counter register.
> To say that the DCOs are not oscillators because they would stop oscillating
> if the master clock was turned off is like saying VCOs are not oscillators
> because they wouldn't run without the power supply.
> In reality you have to consider the circuit as a whole.
>
>> But I'm nitpicking. It's a considered and knowledgable discussion of the
>> technology, which is a rare thing with DCOs!!

I agree! Thanks for an interesting video giving an interesting
discussion and we realize that it's not that easy to define things in
the DCO realm. If we really need to define them...? :-)

After some thoughts I think I'd define a DCO in a somewhat
non-technical way, but in a way that corresponds to our view of what a
VCO is and what we mean by the very word "oscillator" in synthesizers:

Most of us would probably agree that a typical "VCO" comprises 1) an
oscillator core and 2) waveshapers. Right? We don't usually nitpick
about the fact that the core is the true oscillator and that the
waveshapers are just something else that needs to be fed with a signal
from an oscillator. The "oscillator" in a synthesizer is the thing
that makes the "sound" that is later filtered and modified and in the
end sent to the outputs - this is a sloppy definition that somehow
works even for us technical boffins.

So I'd define "DCO" in a similar fashion as the thing that makes the
sound in the synth. Hence a "DCO" is 1) the ramp core part and 2)
waveshapers and 3) the timing pulse mechanism that resets the ramp
core. To say that the rampcore is just another waveshaper because it
doesn't oscillate by itself might be true on a technical level and is
interestingly thought-provoking, but it's a quite useless definition
since the process of "oscillating by itself" is quite uninteresting in
a DCO. The clock pulse feeding the ramp core - or the single master
clock feeding the dividers, for that matter - is not a little
fascinating contraption that oscillates by itself, it's just a clock.
Wiggling back and forth is what clocks do, and that doesn't make them
sole candidates for being called the synth's oscillator. Nobody would
argue that the oscillator in a soft synth is the computer's CPU
crystal. :-)

> Give me VCOs any day :)

I've learned to live with DCOs as well, but it took quite some time. ;-)

On 10 October 2016 at 17:03, Tom Wiltshire <tom at electricdruid.net> wrote:
> On 10 Oct 2016, at 15:52, Colin f <colin at colinfraser.com> wrote:
>
>> It misses the fundamental limitation of counter-based DCOs compared to VCOs,
>> which is that frequency modulation of a VCO affects the shape of the ramp
>> directly, and the period of the oscillator derives purely from the behaviour
>> of the ramp.
>> Frequency modulation of a DCO applies to the period only, as it can only be
>> changed by re-loading the counter reset value.
>
> Agree. Which is interesting because the DeepMind12 *does* implement audio-rate FM on the DCOs (or some of them, at least). I think it's probably only done with the LFO at the fastest rates, but given that you can't update a 100Hz bass waveform any quicker than 10 msec, I don't see really how they've managed it - if they really have. Until I get to play with one, I won't know for sure - it could be that the FM just breaks if you do it on lower frequencies.
>
> Once upon a time, the fundamental limitation of DCOs would have been the discrete frequency steps, but with high frequency clocks and 32-bit counters, that's no longer an issue.
>
> Still, it can't be impossible to update the charging CV and the counter value during a cycle these days. You'd have to work out what the required count should be given the new final count, but modern processors can do that quickly enough. So maybe the problem isn't insoluble.

Do we really need to assume that the DCO counter is modulated at all?
How about FM-ing just the charging CV to the ramp core, and let it
reset at its frequency like normal?

/mr



More information about the Synth-diy mailing list