Lich ACV tracking

In the documentation, CV IN is added to its corresponding parameter. CVA fully clockwise (from Moog Mother 32 KB out) to Param A controlling the Frequency of an oscillator, is not tracking very well. It looks that some factor is not applied somewhere? Any idea?

Here is a sample of the patch:

I use this formula f=f0*2^(CVA+ParamA) thinking the CVA+ParamA is done somewhere… In Max everything sounds correct.

I think you should try disabling using optimized exponent function as described at . Probably something like #undef exp2f would work.

Also, generally on OWL devices CV inputs are not used for V/Oct control. Instead of that, audio inputs can be calibrated for precise V/Oct tracking. I don’t think it’s part of gen~ integration yet, maybe Martin is already looking into this.

1 Like

Thanks @antisvin
Tried that, changed nothing.

You can probably get pretty good tracking if you work out the precise offset and scalar for your module, kind of like a manual calibration.
As @antisvin says, for other platforms we provide a system calibration method, which means that patches will work across devices as long as the device is calibrated. But for gen we’ve not yet figured out how to do this.

The value coming from Parameter A (which is the summed CV and knob value) is between 0 and 1, corresponding to the full scale range of your CV input which is (with the attenuator fully clockwise) apprx 0 to 10V, with some small variation due to component tolerances et c.

To calibrate, you need to work out exactly what the offset and range is. Maybe a good starting place is to change the min and max directly in your param e.g. to something like this:

[param @name A @min 0.01 @max 9.99]

This will give you output values in the range 0.01 to 9.99 that more closely follow the (roughly) 0-10V input CV range.
To calibrate it, I would first send a 1V CV and note the difference from your expected frequency: f0*2. This is your offset, adjust @min accordingly. Then send maybe 5V, which should produce f0*2^5 = 8404.0192Hz. If it is too high or too low, adjust your @max accordingly.

Obviously turning either the big A knob or the CV attenuator will throw the tuning completely off. But you could also use the knobs to tune it. To do so, set @min 0 @max 10, then use knob A to adjust the offset (slightly less than fully counter-clockwise) and attenuator A to adjust the range (slightly less than fully clockwise).


Thanks @mars,
After Lich re-calibration, voltage measurements… etc… it finally works! With a bit of scaling in the right place, the tracking is nearly perfect.
Enjoy my Karplus Strong patch

1 Like


Keep in mind that you can upload the .gendsp file also, it renders rather nicely in the browser. And then others can download and build on your patch too.

1 Like

Done! And thanks again

1 Like