AO MCVI MIDI to CV

Here’s something cute but probably pointless. The module is intended to cover a range of 88 notes, which is 7.25 octaves, so it maps 0 to 4095 counts to 0 to 7.25 V. But suppose you decided a few of those notes at the top and bottom are useless, and you only care about 6.825 octaves, so you modify it to map 0 to 4095 counts to 0 to 6.825 V. Then for a perfect DAC (no nonlinearities, no gain errors) the differences between actual and correct output voltages looks like this:

chartx

Yes, that’s the correct plot. The arithmetic happens to work out that the resolution error is zero for every MIDI note! The reason has to do with the fact that 4095/12 is an exact multiple of 6.825 (in fact it’s 50 x 6.825), which turns out to mean 1 LSB corresponds to exactly 2 cents frequency change.

The resolution error is already small enough that it’s not really worth throwing away 0.425 octaves to reduce it to zero, but I thought it was amusing.

2 Likes