[sdiy] Polyphonic issue revisited.
Paul Maddox
P.Maddox at signal.qinetiq.com
Mon Dec 15 15:57:50 CET 2003
Jarek/all,
> Can someone explain me what an NCO is?
an NCO is a numerically controlled oscillator, it runs at a constant
'calculation rate'
Basically the bigger the number you give it, the quicker it counts.
Heres the simplified version...
Get yourself a watch..
Now starting at 0, add 1 to itself every 5 seconds..
How long does it take you to get to 100? (500seconds, 8 mins 20seconds).
ok, now starting again, from 0, add 10 to itself every 5 seconds.
How long does it take to get to 100? (50 seconds).
Each time you get to 100 you 'toggle' an output (hold your hand up, or put
it down), this is the NCO's output.
now imagine things happening much quicker, and with a great resoloution and
a bigger 'toggle' number, bingo you have an NCO.
Use this to drive a counter, and this to generate the address for your
waveform lookup (or just feed it into a DAC to give you a sawtooth).
In the Monowave I used 23bit control numbers (1 and 10 above),
and bit 24 was the output (not 100 as above).
it was clocked at just under 1Mhz, (not once every 5 seconds like the above
example)
as I used 256 samples per wave, this gave me a maximum output 3.906 Khz
(1Mhz/256)
with a resoloution of 0.0004hz (1Mhz/256/2^23)
So, you can see, quite a wide range of frequencies and a good degree of
control.
The downside, as I said before, is that its linear...
Paul
More information about the Synth-diy
mailing list