Thanks for sharing the video. A lot of it was just review, but there was some new bits of info too.<div><br></div><div>Some if you might be interested in an alternative that I tested - <a href="http://www.jacobwatters.com/blog/a-different-kind-of-dco/">http://www.jacobwatters.com/blog/a-different-kind-of-dco/</a></div><div><br></div><div>It is a way of possibly getting the best of both worlds. I haven't tested it with the Arduino yet, but it is still on my list of things to do.</div><div><br></div><div><br></div><div>Jacob Watters<span></span><br><br>On Wednesday, 12 October 2016, Mattias Rickardsson <<a href="mailto:mr@analogue.org">mr@analogue.org</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 10 October 2016 at 16:52, Colin f <<a href="javascript:;" onclick="_e(event, 'cvml', 'colin@colinfraser.com')">colin@colinfraser.com</a>> wrote:<br>
>> From: Tom Wiltshire<br>
><br>
>> In the video, he argues that the ramp core part is<br>
>> merely another wave shaper, since it would stop without the counter, and<br>
>> that would stop without the master clock, so there's only really one oscillator<br>
>> in the synth - the master clock Which is true in a way, but kind of means<br>
>> there's no such thing as a "DCO", since you've just defined them away.<br>
>> Instead, you've got an oscillator followed by digitally-controlled analog wave<br>
>> shapers.<br>
><br>
> Another way to look at it is that the counters are oscillators.<br>
> Instead of charging a capacitor with voltage, they charge a 16-bit register<br>
> with numeric increments.<br>
> Instead of a voltage comparator resetting the timing cap, a numerical<br>
> comparator resets the counter register.<br>
> To say that the DCOs are not oscillators because they would stop oscillating<br>
> if the master clock was turned off is like saying VCOs are not oscillators<br>
> because they wouldn't run without the power supply.<br>
> In reality you have to consider the circuit as a whole.<br>
><br>
>> But I'm nitpicking. It's a considered and knowledgable discussion of the<br>
>> technology, which is a rare thing with DCOs!!<br>
<br>
I agree! Thanks for an interesting video giving an interesting<br>
discussion and we realize that it's not that easy to define things in<br>
the DCO realm. If we really need to define them...? :-)<br>
<br>
After some thoughts I think I'd define a DCO in a somewhat<br>
non-technical way, but in a way that corresponds to our view of what a<br>
VCO is and what we mean by the very word "oscillator" in synthesizers:<br>
<br>
Most of us would probably agree that a typical "VCO" comprises 1) an<br>
oscillator core and 2) waveshapers. Right? We don't usually nitpick<br>
about the fact that the core is the true oscillator and that the<br>
waveshapers are just something else that needs to be fed with a signal<br>
from an oscillator. The "oscillator" in a synthesizer is the thing<br>
that makes the "sound" that is later filtered and modified and in the<br>
end sent to the outputs - this is a sloppy definition that somehow<br>
works even for us technical boffins.<br>
<br>
So I'd define "DCO" in a similar fashion as the thing that makes the<br>
sound in the synth. Hence a "DCO" is 1) the ramp core part and 2)<br>
waveshapers and 3) the timing pulse mechanism that resets the ramp<br>
core. To say that the rampcore is just another waveshaper because it<br>
doesn't oscillate by itself might be true on a technical level and is<br>
interestingly thought-provoking, but it's a quite useless definition<br>
since the process of "oscillating by itself" is quite uninteresting in<br>
a DCO. The clock pulse feeding the ramp core - or the single master<br>
clock feeding the dividers, for that matter - is not a little<br>
fascinating contraption that oscillates by itself, it's just a clock.<br>
Wiggling back and forth is what clocks do, and that doesn't make them<br>
sole candidates for being called the synth's oscillator. Nobody would<br>
argue that the oscillator in a soft synth is the computer's CPU<br>
crystal. :-)<br>
<br>
> Give me VCOs any day :)<br>
<br>
I've learned to live with DCOs as well, but it took quite some time. ;-)<br>
<br>
On 10 October 2016 at 17:03, Tom Wiltshire <<a href="javascript:;" onclick="_e(event, 'cvml', 'tom@electricdruid.net')">tom@electricdruid.net</a>> wrote:<br>
> On 10 Oct 2016, at 15:52, Colin f <<a href="javascript:;" onclick="_e(event, 'cvml', 'colin@colinfraser.com')">colin@colinfraser.com</a>> wrote:<br>
><br>
>> It misses the fundamental limitation of counter-based DCOs compared to VCOs,<br>
>> which is that frequency modulation of a VCO affects the shape of the ramp<br>
>> directly, and the period of the oscillator derives purely from the behaviour<br>
>> of the ramp.<br>
>> Frequency modulation of a DCO applies to the period only, as it can only be<br>
>> changed by re-loading the counter reset value.<br>
><br>
> 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.<br>
><br>
> 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.<br>
><br>
> 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.<br>
<br>
Do we really need to assume that the DCO counter is modulated at all?<br>
How about FM-ing just the charging CV to the ramp core, and let it<br>
reset at its frequency like normal?<br>
<br>
/mr<br>
______________________________<wbr>_________________<br>
Synth-diy mailing list<br>
<a href="javascript:;" onclick="_e(event, 'cvml', 'Synth-diy@dropmix.xs4all.nl')">Synth-diy@dropmix.xs4all.nl</a><br>
<a href="http://dropmix.xs4all.nl/mailman/listinfo/synth-diy" target="_blank">http://dropmix.xs4all.nl/<wbr>mailman/listinfo/synth-diy</a><br>
</blockquote></div>