4. Getting Under Control

  At this point I have two VCO's providing a nice base tone, but I can't do much with it if I can't "play" them with a keyboard.  I didn't really want to tackle building the mechanics of a physical keyboard and had the K2600 which I can use as a midi controller, so I just need a midi interface that took input from a midi controller and converted it to analog control signals.  First thing I needed was the frequency control voltage (CV).

  I already had an Arduino Nano micro controller board, so I decided to use this as the basis of my midi interface.  I didn't think the analog PWM outputs would be suitable so I looked for a DAC that I could interface with the Arduino.  The DAC I selected was the TI DAC8568ICPW.  In hind sight it may not be the best choice, it's a little pricey and the 16 bit resolution is a little overkill but the serial SPI interface was easy to connect and implement on the Arduino and I figured the 8 channels would make implementing the 8 voice polyphony easy.  If I end up needing more than two of these (depending on what control voltages I want to generate) or the SPI interface ends up being too slow to keep up I'll have to find something else, as well as another micro controller, but for now it's working quite well.

  The circuit for a midi input is quite simple and can be easily found on the 'net, and Arduino has some easy to use midi library functions.  In a few days I was able to code up something that received midi note on messages, decoded the note number and output an appropriate value to the DAC to produce a 1V/OCT CV to control the frequency of the VCO's.  Very rudimentary but it was another key step to further convince me that my ultimate goal was indeed achievable and encouraged me to continue on.  Now that I had properly scaled CV's going to the VCO's, I was able to tune them and get them tracking very nicely.

  Next, we need to start adding some color to the base tones out of the VCO's.

No comments:

Post a Comment