Adding MIDI to the Korg Monotron

i love my korg monotron but i’ve been annoyed at how hard it is to play in tune with the ribbon controller. so i cooked up a quick python script that uses a raspberry pi to convert midi to cv, and more crucially, automatically tunes via audio feedback. with a quick soldering job, i can now play the monotron via midi sequencer or from a midi keyboard. it might be amenable to other midi-less cv synths.

here’s some examples:

sequencing via miti:

playing via keyboard:

automatic tuning + playing via keyboard:

instructions

here’s a quick rundown for the instructions. there are more detailed instructions on my website in case this is too slimmed down.

gathering materials

you will need:

  • raspberry pi
  • usb audio adapter (for automatic tuning)
  • korg monotron (or maybe another cv-synth)
  • mcp4725
  • female-to-female jumpers x 6
  • soldering iron + solder
  • midi keyboard (or midi sequencing software like miti)

hack the monotron

unscrew the monotron and solder two (female) jumpers into the gate and GND.

close up the monotron. connect it to the mcp4725 and raspberry pi.

tune the monotron

since the vco is affected by INT and the trim pot, you need to tune it before use. it only takes 30 seconds. ssh into the pi and add these packages:

> sudo apt update
> sudo apt install python3 python3-pip python3-numpy portaudio19-dev sox gnuplot ffmpeg
> sudo -H python3 -m pip install loguru click mido python-rtmidi adafruit-circuitpython-mcp4725 termplotlib aubio

now download my midi2cv script:

> wget https://raw.githubusercontent.com/schollz/midi2cv/master/midi2cv.py

set the montron to output pure tones (volume=100, rate=0, cutoff=100, time=0, feedback=0) and connect it’s output to the usb audio adapter on the raspberry pi.

now run the script to tune:

> python3 midi2cv.py --tune

it computes the frequency for each voltage and does a curve fitting so it can set the voltage for any frequency. example of calibration:

after calibration, it saves the parameters to be loaded for playing. tuning overwrite the previous parametrs, so re-tune if it sounds off.

play the midi monotron

attach a usb midi keyboard to the pi and run:

> python3 midi2cv.py --play

it should automatically detect your keyboard and you are all set.

enjoy ~6 octaves of pure monotron madness. :confetti_ball: :firecracker:

18 Likes

wow this is really awesome.

1 Like

This is incredible. Your demos are amazing. I never imagined the Delay model could be played with discrete steps. I have a Pi3 in my drawer, I’ll have to get it out and try this!

Also, for anyone who just wants a tactile surface instead of a ribbon, there are 3D printed keyboards available for the Monotrons.

5 Likes

Noobie question: would this work for the Volca Modular? I know the latter has its MIDI patch points already designated, so perhaps this mod is more work than is necessary. The sole hold I have on modifying my Volca is that I don’t know how the patch points related to the mini MIDI plug (seems better than the 5 pin MIDI plug in terms of fitting – the latter exists as a mod already).

2 Likes

i think so, but this midi2cv script might be overkill for that instrument. there are some instructions here with a nifty midi-to-cv circuit and from the demo it sounds pretty much in tune:

Thanks – I do know about that one, but although I am a competent solderer, I have actually never burnt a PCB before. I guess I should try! Also, this project is for a 5 pin MIDI cable, which seems to me a less elegant fit than the mini plug… I think there are some hints as to making that work, but what with the two (or three??) mysterious versions of the MIDI mini cord (one for Korg, one for 0 Coast, etc.)… it all causes hesitation.

Speaking generally, I am surprised that there are many MIDI mods for the monotron, including kits, but thee is only this one for the Modular. I would think people would want it !

1 Like

Sorry if this is off topic a little but I didn’t want to start a new Monotron thread when one already existed.

I have a Monotron DUO and I’m trying to work out how to effectively modify it to accept CV connections. I soldered cables to just about every patch point I could see and have tried a few combinations but it’s not quite there. Does anyone have any experience with modding the Duo?

1 Like

i’ve been talking to someone on instagram modding the duo and they are also having trouble. i’m sorry i haven’t tried the duo at all. i’m thinking i might get one soon though - going to be working to make a korg polymonotron (delay + duo). if i do i’ll let you know if i can get it working :slight_smile:

1 Like

Ha - brilliant. This is actually my intention too, but using 4 Monotron Original units along with a MIDI to CV board (from Midi Muso) which allows the 4 voices to be triggered via a single MIDI channel as if they were a single device. My Duo modifications are the preamble for that whilst also discerning whether I could use Duos alongside Originals (as I currently have two of each)

1 Like

haha what are the chances?! so great to run into you on this forum.

i just love the monotron delay. when i used it for my last album i would also start a song by stacking three of the notes together to make chords. i figured i should just buy some more to make it polyphonic.

my game plan is to use a 16-bit 8-channel dac with a raspberry pi to send gate, pitch, and cutoff to two or three monotrons. i’m thinking that i’ll have them share the cutoff cv so they can all be sculpted by a pseudo-adsr envelope. my midi-to-cv is coming from a python script which is going to handle the complicated bits (voice-stealing, adsr, gating, etc). so far all of this is in my mind, i ordered parts but they have yet to arrive. i can keep you updated if you’d like. i would love to know how you come along with it too!

2 Likes

Likewise!

I wanted an analogue polysynth and also fancied dipping my toes further into some synth DIY so this seemed like the obvious place to start. I don’t want to kill anything (and don’t think I will) but if I do I figure it’s better to start with a low-cost item that I can easily replace!

My original intention was to use a Midimuso Octex ( http://midimuso.co.uk/index.php/octex/ ) to do the MIDI to CV but I’ve seen a lot of things that suggest I might be able to do it myself. I’ve ordered a few Arduinos for other projects (an Uno and some Nanos) including making a bespoke MIDI controller (which is something I’ve wanted to do for a year or two) so once I have things working with the Octex I’ll explore doing it that way. It sounds like you’re a lot more adept at that stuff than I am, though!

I found the DJ Jon Dent stuff where he interfaces a Duo with his Buchla Easel ( https://djjondent.blogspot.com/2015/12/korg-monotron-original-buchlarized.html?m=1 ) and it seemed like there were a lot of things I could bring to a patch panel and utilise but with a lot of this stuff it’s a case of, because I’m still finding my feet regarding circuit diagrams, often the notes aren’t quite comprehensive enough for my needs. My YouTube history is pretty synth circuit heavy at the moment!

This ( https://www.keithmcmillen.com/projects/modifying-monotron-work-qunexus/ ) is very useful but alas it’s not for the Duo (and I realise that I don’t even understand how to connect a trim pot properly to tune the pitch!)

I’d love to be kept in the loop - I’ll happily do the same. I’m attempting to document it all (once I know what I’m doing) so that the information is out there for anyone else to try. I can’t really understand why nobody appears to have made a polyphonic Monotron before - surely they must have but I can’t find any examples!

1 Like

the polytron lives! 3-note polyphony + adsr!

https://www.instagram.com/p/CHdi2cEhCwR/

  • for some reason i couldn’t get the pads for pitch or cutoff to work. so, instead of pitch i just use gate and it works great. instead of using the cutoff pad i instead just tied the voltage input directly into the middle of the cutoff potentiometer (yellow wire):

  • tying a voltage to the potentiometer seems to only work if the potentiometer is at 3 o’clock position.

  • powering three of these things from a raspberry pi seems not to be a problem.

  • tuning is tricky. i’m using an automatic tuning scheme from my python script but it still is just a little bit off. to make it perfect (mostly) i put the “INT.” knob to the center before tuning. then, after the auto tuning i can finely adjust that knob to get it right on pitch.

  • being able to tie voltages directly to the potentiometers could be a lot of fun for modulating the time/feedback. haven’t played with that yet.

next up i’m going to be trying to add portamento.

2 Likes

This is absolutely fantastic! I’m immensely excited - and it sounds beautiful! My eldest son offered me a Raspbery Pi the other day so I might take him on the offer and follow your route. This absolutely made my day :slightly_smiling_face:

1 Like

learned some more things!

  • most importantly: using the voltage to power the monotrons from a 3.3v regulator instead of the 5v pin seems to work much better at keeping things tuned once they are tuned.
  • i bought a monotron duo and its pitch is very complicated - has a pot for moving the octave up and down and another one for pitch. i think both of those need to be controlled/tuned to work so it requires at least two dac outputs…otherwise you won’t get the full range
  • daisy-chaining the audio in between monotrons works pretty badly so i opted for a little mixer which works much better

video of the night:

(also i added portamento and velocity-sensitivity!)

1 Like

That explains an awful lot of things! I’ve not had chance to explore as yet but my plan is to dive back in this weekend, if not today! Your videos are immensely inspiring :slightly_smiling_face:

1 Like

I modded my Monotron delay last night for CV! I connected female jumpers to the points on the board, and soldered male jumpers on to tip and sleeve of a 3.5mm Jack. It works beautifully plugged into my Beatstep CV.

3 Likes

Digging up an old thread here. Would it be possible with a similar approach to control CC messages for the delay?

1 Like

yes! if you can convert your CC messages into voltage, you can simply attach a wire to the delay pot - very similar to how it is attached to the filter pot.