Healer synth firmware updated

saveKey

Before heading out to Maker Faire Bay Area, I managed to polish off a new version of the Healer synth code for use with MidiVox - woohoo!

Version 2 of the firmware saves customized parameters (filter, waveform, etc) to the Arduino’s built in EEPROM. Whenever the MidiVox’s RESET button is pushed, two quick flashes of the DATA LED confirm that a save+reset has occurred.

I’ve also disabled the velocity response and its relevant control parameter after figuring out they were to blame for some notes becoming ‘stuck’ on. Personally, I’m not a big fan of note velocity and never thought it felt quite right on a monophonic synth like this. That being said, if anyone’s sad to see velocity go (is that a pun?), please let me know in the comments and I’ll consider reimplementing it as an option in the next revision.

Healer v2 can be
downloaded here.
0 Comments

Do-over! SX-150+MidiVox now best buds

MidiVox_SX-150control

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.
0 Comments

SX-150 under MidiVox control - a first attempt

sx150_handdrawn

After a request in the forums, I took a stab @ generating control voltage for the ever-lovable Gakken SX-150 mini analog synth. This initial sketch will convert MIDI note values 47-84 into varying pitches w/ envelope triggers on the SX. Those interested can grab the code here -

http://narbotic.com/files/MidiVox_SX150-100428a.zip

Hardware Setup:
  • Switch the MidiVox AUD/CV jumper over to CV side (connecting the center and inner-most pin)
  • Connect the shield’s signal output (left or right channel from the onboard 1/8” output jack) to the metal contact on the SX-150 stylus.
  • Also, make a connection between GND on the shield to any ground point on the SX-150 (the exposed metal barrels on either of the SX 1/8” jacks will work)


The notes played won’t be in tune (that’s a tall order for the lil’ SX), but I’ve found that using a keyboard to control the Gakken is a lot big improvement compared to the standard stylus/ribbon interface

Please drop a line in the forums if you have any problems with the above code or the MidiVox kit in general. I’ll be checking them on the regular!

C
0 Comments

Forums are GO!

romanForum
Enjoy the modern luxury of text-based communication on our new forums! If you’ve run into any problems with your kit or just want to share what you’ve done with it - please register and share with the rest of the class. And do let know if you have any suggestions or ideas on how they could be improved.
0 Comments

MidiVox CV?

MidiVox-AudCV
Damian wrote in wondering how the MidiVox can be used as a MIDI to control voltage converter. I figure my response might shed some light on the topic for others as well -

I hope to have an example MIDI->CV sketch up soon, but suffice it to say -
a DAC (such as the MCP4921 chip) outputs a specific voltage level set by according to data sent out by the Arduino (or other microcontroller).  The example synth sketch I have up now continuously sets the DAC's output to varying levels to create a waveform, (the speed or frequency at which it does this determines the pitch of the note).  To use the DAC as a control voltage generator we only need to set the DAC to one specific voltage level for every MIDI note - no need to be concerned with any specific frequencies.

Example: 
if (incomingNote = C4) outgoingVoltage = 3.250;
if (incomingNote = D4) outgoingVoltage = 3.417;

… and when no note is being played, we turn the outgoing voltage to zero.

Anyway, that's the basic idea.  In order to be used with analog synthesizers and the like, we’ll probably need to solder a wire/connection to one of the digital output pads on the shield and set that pin high whenever a note is being played (aka - Gate)There’s also a jumper on the board labelled "AUD/CV", which disables the 10uF DC-blocking capacitor - which needs to be set to (yup, you guessed it) “CV” to enable control voltage out ;)
0 Comments

Photos on Flickr

Mar 2010
Feb 2010
Jan 2010
Dec 2009
© 2009 Collin Cunningham