hey there.

just put together a calibration patch for pepper in Pd and thought it might be useful for some.
i went about it in a bit of a roundabout way, i guess, but it seems to work.

the idea is to correctly map the 0 - 5v outputs on pepper to the V/Oct standard, basically turning midi note numbers into CV.
i started from the fact that pepper never seems to reach the full 5v on the outputs.
so it can only (in practice) do 4 full octaves.

so i went and mapped note numbers 0 to 48 (= 4 octaves) to 0 to 1 instead,
and pretended that would be the full scope of pepper's output.
now if i send 0 to 1 to the dac~, i get 0 to 4.96 or something volts.
aka the range is too high - it needs to be EXACTLY 4v - and needs to be scaled back.

so i put a scaling factor in.
if i scale back around 0.8 ish, i get more than decent tracking over the full span of pepper's output voltage, with a range of about 58 notes.

about the patch:
i wrote it so that each button press is an octave jump. aka every time you push a button, you step through the note numbers 0 / 12 / 24 / 36 / 48 / 0 / 12 / etc.., covering four octaves.
the idea was that it would be easier to tune by ear with octave jumps. just hook up pepper to your oscillator of choice. (written for pepper v1, i think the [adc~] number for the button is different for v2).

knob 0 is the scaling factor, between 0.75 and 1. my hope is this is wide enough of a range to calibrate, and small enough to be precise. worked for me.

once you have determined your scaling factor (mine lives at 0.808 ideally), it's easy enough to hardwire in there.

you may have noticed that dividing notenumbers by 48, and then multiplying them by 0.808, is the same as multiplying them by 0.0168333 - and you would be right 🙂 so in the future i can just multiply my notenumbers by that factor.

hope this can be of use to someone.

vperoctcalibration.pd
3kB