lichen-community-systems / signaletic

A music signal processing library designed for embedded environments and Web Assembly, in C
MIT License
7 stars 2 forks source link

Provide a means for calibrating values received from an ADC and sent to a DAC—especially for pitch tracking #65

Open colinbdclark opened 10 months ago

colinbdclark commented 10 months ago

In hardware, ADCs and the voltage scaling circuits used with them typically aren't linear across their full range. DC offsets are also present. Signaletic should provide a way to calibrate signals received from and ADC (and also sent to a DAC). This is particularly needed when tracking 1V per octave (1V/oct) "standard" for representing pitch with analog voltages.

The typical approach for ADC calibration for 1v/oct signals in Eurorack appears to be to sample values at 0V, 1V, and 3V and do some form of scaling and offsetting based on interpolating between those measurements.