I solved this problem like this:
I calculated the voltage value of each prime pitch ratio by using HOT TUNA to convert pitch to voltage. The difference between a 100-Hz sine and a 200-Hz sine is 1 volt, e.g. an octave. The difference between a 100-Hz sine and a 300-Hz sine is 1.585 volts, a Pythagorean fifth, et cetera. Here’s the first twelve of these:
- x 2 = + 1v
- x 3 = + 1.585v
- x 5 = + 2.322v
- x 7 = + 2.808v
- x 11 = + 3.460v
- x 13 = + 3.701v
- x 17 = + 4.088v
- x 19 = + 4.249v
- x 23 = 4.524v
- x 29 = 4.858v
- x 31 = 4.955v
- x 37 = 5.211v
I personally prefer scales built on 3:2 ratios, so I arrive at a major second by adding two fifths: 1.585 x 2 = 3.17. Thanks to the law of octave identity, I can simply drop everything before the decimal point, and voila: A 3-limit JI major second is 0.17 volts above whatever the root of my scale is, a major sixth is 0.755 above (or 0.245 volts below), et cetera.
Obviously, as in all JI domains, you’ve got to watch for the comma. Adding 0.585 to itself twelve times - or, modulating all the way around the circle of fifths by exact 3:2 intervals - will land you at 7.02 volts (or 6.98 if you subtract instead of adding).
To apply this, I simply keep a table of voltages for each pitch handy, build scales out of them using KNOLY POBS, and send them to COERCE, which will quantize a signal to any scale you specify using a polyphonic input. Voila, a quantizer that uses 3-limit JI or any other scale you can describe.