Do-over! SX-150+MidiVox now best
buds
30/04/10 15:03

A second round of hacking has turned up a much better method for
controlling the SX-150 via MidiVox+Arduino. (is it still “hacking”
if it’s your own design?)
After running a wire directly from the DAC’s output to the SX’s
stylus (bypassing the shield’s low-pass filter) octaves 0-5 are now
usable. During my initial testing, the SX has stayed acceptably in
tune over a 4-octave range - which I can hardly believe myself! A
simple one-line conversion did the trick -
noteOut = (noteOut+1) * 20.45;
Download the MidiVox->SX-150 code here.
(updated, see below)
To use the sketch, you’ll need to remove the 909Ω resistor running
off the DAC chip’s output (pin 8, shown above), run a wire from the
DAC’s output to the SX-150 stylus, and connect one of the available
GND pads to the SX-150’s ground (outer ring from either “EXT.
SOURCE” or “OUTPUT” jacks will work)
Update:
In
my gleeful haste to post the above info, I overlooked the very
likely possibility that not all SX-150s will respond to a certain
control voltage level in the same way. In fact, because these
little analog synths use such inexpensive parts, it’s pretty much
guaranteed no two will respond exactly the same way. I acquired a
second SX for testing, and it seems to be ‘tuned’ a little less
than 3 whole notes higher than the one I originally used.
Here’s a new version of the sketch that
uses the variable “tuningVal” to achieve an acceptably in-tune
output from the SX. Use a guitar tuner or tuner app to
measure the output of the SX while controlling it via MidiVox +
MIDI keyboard controller. Choose a reference note (ie - middle C ),
and adjust the value of tuningVal (in the file named MIDISetup.pde)
until the SX’s output matches that reference note. Example:
Updating the code to “ tuningVal = 8.5; “ got my SX to play pretty
nicely in tune.