Polyphonic MIDI to CV?

Hey everyone! I’m actually trying to make a polyphonic synth with 6 voices of less, I don’t really know. I have every parts I need (VCOs, VCAs, Envelope generators…) But the thing is that I’d like to have a thing that actually splits MIDI signals into CVs channels, like when you press a key on your keyboard it send CV to Channel 1, you you press another key it sends on Channel 2… Just like a poly synth you get it :wink: I also need a gate for the AR thingy but yeah I can manage it myself with some Arduino basics stuff!

So if someone can help I would be really really thankful and you can ask me to describe a little bit further if you want! Thanks a lot

Here’s a pic to illustrate what I meant:

3 Likes

Would the midimuso do the job. It has 6 voice polyphony exactly as well.

3 Likes

it would do the job.

Also Sam will be launching a moduel based on midsumo.

But its also not terribly hard, theres a vid from the gameboy mega machine series that has one.

Basicaly you need to read each MIDI note and store it say in an array. then output CV for each element in the array.

When 1 key is pressed only one array element is used, the next concurent key press goes in array position 2. Once your array of 6 is full no more key presses are recorded until another key is released freeing up an array element.

I was startign to write my own one months ago and then lost all my code.

there is a page somewhere on the net that lists the Note-Voltages for CV. You need to convert each note to one of these voltages and use a DAC to achive the actual voltage output.

Rob

6 Likes

What you’re describing is pretty much an Arduino Nano with the midisplitter 2000 (for polyphony, with multiple strategies) + the midimuso (for midi to CV), as shown in this video:

5 Likes

thats the one i was just reviewing…

Ah yeah I rewatched this video yesterday!

And okay thanks a lot I’ll do my research about DAC I saw some 12 bit SPI dac for really cheap so I think I’m going to made my own MIDI to CV and do the code

Awh man that’s pretty sad to hear hope you’ll find it back :wink: Again thanks!

Oh yeah the midisplitter 2000!! exactly! thanks! yeah the piece of code I was searching for!

Thanks!!

I’m not familiar with midisplitter and the like, but it seems to me that after the Arduino splits the note signals into channels you need a DAC for each channel, or rather, you need to multiplex a DAC across all 16 MIDI channels. What follows is purely speculative and I invite comment from other more experienced posters.

You can use multiplexing because these are control signals and not audio, so you only need a DAC that is able to switch quickly enough to keep up with the demultiplexer clock rate. A 16 channel analogue mux/demux such as the 74HC4067 could be used to clock DAC outputs sequentially into each of the 16 outputs, and these would be sampled and would constitute the 16 CV outputs. A second such circuit could provide the gate signal which would be turned on and off according to the note on and note off MIDI signals. A third such circuit could be used to capture the velocity data and produce the necessary CV.

16 channels with all the associated hardware required to work across all 16 standard MIDI channels may prove expensive, but the same inexpensive core (Arduino, DAC and demux) could be used in a scaled down version where, say, a maximum of 6 channels are sampled.

2 Likes

Oh yeah that sounds really difficult! I kind of see it thanks! I’m not that much experiemented with multiplexing and all that stuff!

1 Like

I agree that such a strategy is not for the faint hearted. For me this is why software is often a first choice. Implementing polyphony on a reasonably powerful computer (even a sufficiently advanced microcontroller) is trivial.

2 Likes

just use 2 8 channel muxes they cheap as hell.

1 Like

A pre-programmed midimuso CV-12 is £9.99, a complete kit £29.99, so not sure why you insist on reinventing it when someone’s already written the code :slight_smile:

5 Likes

Oh yeah on the MIDI muso website there are the components kits and all!

3 Likes

If all you want is MIDI-controlled oscillators, consider the Midimuso MDCO-3. With just a couple of those and a MIDI splitter you can get four voice polyphony. This is a way to eliminate the intermediate CV stage, which while more versatile comes at a cost.

1 Like

Awh thanks but that’s not exactly what I want to do and I found a way to do now! it’s like I’m using a CD40106 chip as oscilator if you see what I mean

2 Likes

thats where i got too… and paused.

Then Sam hinted at a mofule… :wink:

I still like the idea of building it myself, then I understand it and can adapt it further, :slight_smile:

2 Likes

Wouldn’t you need a sample and hold for every output you multiplex the value read from the DAC to in this setup? If you are multiplexing the DAC, then as soon as the multiplexer chooses another output, otherwise what is keeping the voltage on the other outputs at their value?

2 Likes

hey lu.cass! I am working on a poly module as part of the module a month thing, (its taking a while, as its just a collection of a bunch simpler modules all together) im using the midimuso for midi-cv, im keeping the module simple its 4 voices. and midimuso has a mode that is 4 voice polyphonic, however maybe its worth asking the question to midimuso if there is at all any custom firmwares with the 6voice mode? it is totally doable with the chip. then you only have to deal with a single chip. but it is already able to do 4 voice poly. but I can understand if you want more voices! (It just came to mind that you can chain 2 chips together and they handshake before they boot up, and it turns into an 8 voice poly midi-cv)

6 Likes

The whole circuitry would be based on a clock. Yes, you’d need a sample and hold for each voice. On the other hand this kind of function is commonly available in multiples within one single package.

https://www.mouser.co.uk/access/?pn=584-SMP04ESZ

The idea of using multiplexing here is to reduce the cost of the DACs so that you can spend more money on a single high quality DAC rather than using lots of cheap DACs. This is possible because you only need to keep the latency to under about 10 ms or so to make the MIDI instrument playable in real-time, and this gives a lot of leeway for the single DAC to recycle a number of times.

To repeat, this is purely speculative. Undoubtedly there are many here with real experience who are more qualified to comment on this than me.

3 Likes

Oh yeah! I saw looking for midi muso project I’ll try to arrange my circuit and all but I think I find an alternative with digital potentiometer! And yeah good luck with you project! :wink:

1 Like