AC/DC and Max/MSP: Generating useable CV values

Currently exploring possibilities using the Befaco AC/DC module to generate CV and audio in Cycling '74’s Max. Works beautifully so far, but with one quirk: to generate control voltage, I need to bias the output (which I would expect to go 0.0 to 1.0) to approximately -0.3 to +0.7.

For example, I am using Output 1 of the AC/DC to control the Pitch Input of the 4ms Ensemble (which displays IV/Oct at the input jack). After comparing the Ensemble’s output to a reference tone generated in Max (using the saw~ object), I came up with this formula to go from MIDI notes (0-127) to CV (where ‘nn’ means note number):

(nn*0.0085) - 0.207

This formula works pretty well across MIDI note numbers 36 up to 96 (resulting in CV values from 0.099 to 0.609), but I came up with the formula by trial and error and tuning by ear. In other words, I have no idea really where this 0.207 offset comes from or if 0.0085 is as precise as it could be.

Note also that I’m not using the full range that I described above (-0.3 to +0.7). This is at least partly due to the fact that once I get beyond a certain range in either direction, it’s difficult to tune by ear.

If someone with more knowledge on this topic could clarify what’s happening here, I would be super appreciative. For anyone else using AC/DC to interface Max with modular, I hope some of the info above in useful.

Hmm maybe you could get even more precise values if you use the calibration page? You’ve figured out correctly that you need an offset (bias) value to find how far the digital 0 value is from 0V and a multiplier to find out the scale for 1V in codec’s samples.

Unfortunately you can’t read those values from a calibrated module in gen~ yet, but it’s available in C++ and FAUST patches.

1 Like