Doué Pt. 4: Calibration


In the previous episode, we’ve seen how we could receive informations about the frequency of the monotron duo via its pls1 pad. This is very useful since we drive the oscillator’s pitch using a CV (through the dac, see here) and we will need to calibrate the voltage we send to the monotron in order to get the correct pitch so it ‘plays’ the correct note.

For my first monotron mod, I had made some experimental measurement using Live’s spectrum and operator to get an estimate of the mapping between the desired frequencies and the voltage to apply. Although the end result was ok, it was a little tedious and possibly error prone.

This time, we have a real measurement system and we can use it.

The first thing was to find out how generally the cv > frequency mapping looked like. To do so, I”ve setup a loop that would go through a good bunch of the DAC’s 12bit range and each time, set the CV, wait, measure the frequency. This would give me an idea of the general shape. Fortunately – and not too surprisingly – the korg designer tuned the cv response to be linear.

Here’s what the dataset looks like – the x axes is the 16-bit value sent to the dac, the y axis is the resulting VCO frequency.

Screen Shot 2014-11-20 at 17.00.45 So it looks like the mapping is nice well behaved. However, there’s one more point to look at before we implement the result of this: temperature.

Most of the analog synths are known to drift as the circuit warms up. Some more modern ones have temperature compensation circuits but the monotron being a cheap unit, there’s a high chance there’s nothing of such sort. So we’ll take the same set of measurement, except – this time – we’ll wait for the circuit to be connected for an hour before we measure anything. Comparing the two set of measurement, we get:

Screen Shot 2014-11-20 at 20.18.15

So they are indeed different. Not enormously but still different. Since the frequency perception is logarithmic, it’s in the low range that drifting a few hertz might do the biggest difference. Looking at our measurement results, we have

CV = 65535 : Hot = 22.06 Hz : Cold = 32.44 Hz

So we drift of nearly half an octave at that level, which is huge and this result somehow prevents to do any kind of static Frequency/cv mapping within the teensy.

However, since we can do the measures on the fly, nothing prevents us from triggering the analysis at any time, collect the results and use a linear regression algorithm to find the current coefficient for the linear mapping.

I’ve currently implemented a system that uses a 4 point analysis and is triggered every time the teensy is powered up. You can find the details of the code over here on github.


  1. Excellent project! The Duo is nice in that the micro keeps it in tune and lets you play scaled notes, but then has the downside of making MIDI difficult. Will there be more on this project in your blog?

  2. Yes I will. All the basics are now complete, I “just” need to document it. I’ll be more likely writing about it in a week from now.

      1. I have a version somewhere on a hard drive but I’m not sure how accurate it is with my final board… that I haven’t touched for more than a year. KIDS. Would you want that rough schematic as a starting point ?

Leave a Reply

Your email address will not be published. Required fields are marked *