[posted] (yet another) MIDI to CV Converter!

Thank you so much for your work and providing it to others especially beginners like me. I want to knOW If I can use the Teensy 4.0 in this project

I am glad this project looks useful to you. I used the Teensy 2.0 in this project because I wanted the 5V outputs on the gate and trigger, and the 2.0 is more than enough to get the job done. Of course you could use a 3.3V board like the 4.0 if you wished, but my recommendation would be to stick with the 2.0 since the extra horsepower of a 32-bit board is not needed for this project. Also, if you are using my PCB design, the pinout is for the 2.0 and would not be compatible with the 4.0. Otherwise you would need to breadboard the circuit.

If you're interested (and in the US), I could send out one of my PCBs to you at cost. I have a few extras lying around. You would need to source the components from Digikey or Mouser.
 
Thank you for your advice. Will there be a way to convert the 3.3v out to 5v

There are a number of different ways to convert 3.3v logic to 5v. The first question to ask is whether you even need to convert. This depends on the synthesizer you intend to drive. It is possible that 3.3v logic will be sufficient. For example, even if the input is 5v TTL logic, it will register high at 2v so can be driven by a 3.3v output. Alternatively, your synthesizer may require 12v logic. Some do.

I suggest you take a look at this link for more info on logic conversion.
 
Thank you that makes sense. I know some synthesizers are +/-5V and others are +/-10V. I am guessing since mine is a +/-5V It would require a 5V level conversion
 
Please what pins on the 2.0 did you use for the gates. Also can the gate be used to control external ADSRs
 
Hi elkayem,
Is there a way to add portamento/glide to the midi cv interface? I think it is a very important function.
The Portamento amount could be controlled with the rotary encoder.
 
Analog portamento is typically a lowpass filter (with a very low cutoff) or slew limiter to retard the voltage shift on note changes.

It can be done fairly easly in either digital or analog domains.
 
Nice project, do you think it would be possible to expand it to 6 note polyphonic, I have a teensy 3.5 available for the extra pins etc.

I don't need the pitchbend as that is handled elsewhere, but Pitch, velocity and gate for 6 notes would be awesome, looking at the code it seems fairly easy to expand it but maybe the 2.0 would not cope with 6 notes.

Also I would like to use MIDI (5 pin) and not USB MIDI for the input, again I think this is possible with additional circuitry for the MIDI in and code changes.
 
I'm nearly certain the T2.0 would handle three more outs.

The challenge in extending this application isn't only from the coding but also from the analog circuit.

This is fairly advanced stuff so are you capable on both sides?
 
Last edited:
Thanks for the reply, much appreciated.

I can probably build it ok, analogue and digital circuits are not a problem for me, I've been in IT for over 40 years mainly in hardware. I would say add three more DACs to the circuit and the MIDI in with onto Isolator.

Coding is another matter, its not my strong point, but I have built and coded a 64 way analogue/digital MUX for reading pots and switches into my programmer project. Got it reading stuff, so I'm familiar with some parts of the coding.

I see you are using MCP4822 DACs, I have 10 of them on order and most of the rest of the parts in my spares bin so it should not be too hard to build a board very quickly with the hardware an have a go at modifying the code.
 
Last edited:
Looking at this project a bit more in depth, it is 3 channels monphonic, where as I'm looking for a Polyphonic MIDI to CV converter, maybe too much required to convert it to 6 channels poly with 5 pin DIN midi.
 
Having spent part of the day looking at this again, the Teensy 2.0 is not capable of supporting 6 DAC's with 6 gates and MIDI input, simply not enough pins to connect everything. So I migrated the code as much as I could to a Teensy 3.5 and added 3 more channels and 5 pin DIN midi in using a 6N137. In principle it's all working, menus are functional and just fits 8 lines of the menu (Title/options/Return) for Pitch, Gate and Scaling. I've got all the GATE outputs working as required and just finished adding some DAC's and testing the CV outputs, all looks OK.

IMG_10042020_162030_(1350_x_1080_pixel).jpg

I'm happy to publish my changes and a schematic with the permission of the original code owner of course, its not my work after all.

I just need to work out how to make this polyphonic now instead of 6 mono CV's.

Any help appreciated
 
Last edited:
I have been working on a modified version of this project to suit my use case. I'm excited to say the hardware is more or less complete!:
38e3829b3cc5da7793e2b4aad335fc616edf768c.jpg
def19c5adc6991b749cffedb80e8eed590a89f29.jpg

I used 6 DACs instead of 4, and 8 gate outputs, which have been buffered by op amps and boosted to 5V (a necessary step since I'm using a Teensy 3.2), and I added a 5pin Midi input and two midi thru ports. Circuitry is there for a second midi input, which I might pipe to the front panel depending on whether multiple ins or outs is better. I also added a 10 position rotary switch connected to an analog input in order to switch between pre-sets (a feature I have not yet implemented in software).

I am still running the basic code with very few modifications, so currently not all of the outputs actually do anything. I am far more capable with hardware than software, so it will be a slow process, but my hope is to edit the menu system to allow channel and function assignments to each output. I also plan to add some analog slew rate limiters at some point down the line. I'm very excited!

My first goal is to "clone" the function of some of the existing outputs to some of the unused outputs so as to drive multiple oscillators in unison. If anyone has a handy hack for that, I'm all ears! Otherwise I'll be head scratching away and posting my changes if I'm able to make a meaningful contribution.

Cheers
 
I'm very excited to say that my re-write of the firmware for my own version of this project is now complete enough to be of use. Now the function of each CV output can be mapped to drive an oscillator with first, last, or high note priority, and selectable midi channel, or mapped to a midi CC (CC number and midi channel are user definable), and same for velocity. I have not yet implemented pitch bend. By driving two oscillators in unison with one each on first and last note priority, you can get a nice two note paraphonic effect, and you can even add a third oscillator with last note priority to play three note chords. However, I have not implemented proper paraphony groups yet.

The gates all have selectable midi channel, but I have not yet implemented the trigger pulse mode.

10 presets can be stored (allowing me to drive all my oscillators in one big voice, or break them up into separate voices by channel), and a pre-set copy/paste option is also implemented. 5PIN midi and USN midi inputs are both implemented, but I have not yet configured midi-through, or the second midi i/o.

There are still some instances my code being spaghetti which I need to work out, but this thing works and that's plenty good enough for me for now. I plan to polish things up and post a fork on GitHub showing my revised code and schematic if anyone is interested. @Elkayem , your work on this was invaluable, I never would have stood a chance at getting this up and running without your work to use a template. I'm so jazzed!
 
Back
Top