In the current version of the XM8 voice controller, the 5V CV is meant to span 13 octaves for the VCO. I am however starting to worry that the span is too large / the CV not precise enough for this to work, so here are some possible solutions to improve that, followed by some calculations about precision that may or may not make sense!
Now, most VCOs have a 1V/oct response, and we have a 5V CV range. This means that the normal configuration gives us 5 octaves (without any tuning, that is)
Update: The Prophet 5, from which I've stolen my VCO design, uses 10V CV. More on this at the end.
What can we do about the range?
We can introduce a second CV to select octave range. Lots of synths transpose the VCO up/down this way. If we use a second 1V/Oct input, we can get 5 more octaves (just not at the same time).
We can even build a circuit that is easily modified between 13 and 5 octaves like this:
![]() |
a 100k and 56k in parallel gives around 36k ohm, which in turn gives us around 13 oct of range. Cutting JP5 makes the input 100k or 5 octaves. |
Now, this will improve the resolution of the CV. It will also make the CV less susceptible to noice (by a factor of 2.5). But from my measurements, some of the noise is even present in the CV itself. And adding two CVs with the same noise will double it, and the improvement is only a factor of 1.25.
Can the noise issue be improved?
Here is a possible solution: Invert the second CV (and shift it upwards by 5V). Everything is computer controlled, so re-inverting in software is no problem. Summing these CVs will cancel any common noise. Of course, if the noise is present in the summer or shifting voltage as well this won't help, but I suspect that the noise I've seen originates from the SPI signal controlling the CV DAC.
Now for some calculations
With a 16bit dac, the theoretical number of discrete steps is 65536. When controlling 13 octaves, a semitone is 65536 / (12*13) = 420, meaning a minimum interval of 0.24 cents. But one step is also 5V / 65536 = 0.076mV, which is extremely small! Any noise will greatly affect the CV. For example, a noise peak of 1mV equals 13 steps or 3 cents. This is around the limit of what the human ear can discern.
One is often saying that a more realistic resolution is 14bit, in which case one step is 0.3mV. Now the max resolution is 16385 / (12 * 13)=105, or about one cent. Still ok, but close to what the human ear may hear.
So what happens if we reduce the VCO range to 5 octaves?
A normal VCO has a 1V/oct input. In this case, 5V spans 60 semitones or 6000 cents. In other words, one cent is 0.83mV. A 1mV error means a 1.2 cent pitch error, or 2.5 times better (which should hardly be a surprise as 13/5 = 2.6). As for tuning, a 14 bit dac will get 16384/60=273 steps per semitone or 2.73 steps per cent. Again, 2.5 times improvement over the 13 octave case.
All in all, using a 5V span lets us use a 13bit effective resolution and still get around 1 cent resolution. It is also less sensitive to noise - at the cost of only being able to span 5 octaves instead of 13. It also means that I have no way of offsetting or correcting for linearity errors, which may make this a bad idea. I could use the second CV for offset, but then I would also reduce the number of octaves available.
Update: The Prophet 5
So, after posting, I had a closer look at the original circuit diagram for the Prophet 5. On electric druid, there's a comment about the P5 not using the HF tracking input, but instead probably doing corrections through the digitally controlled CV.
But that had me thinking - if the CV is 0-5V, there's no room for tuning. Turns out, the P5 CV is not 5V, it is 0-10V directly from the DAC, leaving plenty of room for tuning etc! It uses a 16bit DAC, though the two lowest bits are left out as it is only 14bit monotonic.
A 10V output from the DAC means that we have twice the range of a 5V CV, but without a higher noise level. E.g, 100mV noise on the 5V CV with a 5 oct range is the same as 100mV noise on 10CV with 1= oct range. The steps-per-cent is the same.
My case is actually even worse. I have a 2.5V DAC which is then amplified to 5V. Any noise present at the DAC amplifier will be doubled. So, instead of having a 10V CV span 10 octaves, I'm trying to make 2.5V span 13.
So, depending on where noise is actually introduced, I have a possible CV noise level 5.2 times higher than the Prophet 5. Damn.
No comments:
Post a Comment