Monday 6 October 2014

How to Add Midi Port to a Keyboard


Turn any cheap keyboard into a MIDI keyboard!

This is a tutorial for adding a MIDI port to a keyboard without one, so that you can use to interface with various programs such as FL Studio, Ableton Live, Cubase, Garage Band, Pro Tools, and more.

Also works with Synthesia!



--------------------

Materials used:
1 Arduino Uno
2 Serial-parallel register
6 10k ohm resistors
1 220 ohm resistor
1 Prototype board
1 Female midi port
1 Male pin header

All can be had on eBay for approximately $10 USD.

--------------------

Final Arduino code:

Pull-up resistor version:
https://github.com/evankale/ArduinoMidiPiano/blob/master/MidiPiano_PullUp/MidiPiano_PullUp.ino

Pull-down resistor version:
https://github.com/evankale/ArduinoMidiPiano/blob/master/MidiPiano_PullDown/MidiPiano_PullDown.ino


--------------------

Here's some useful links:

Shift Registers rundown:
http://arduino.cc/en/tutorial/ShiftOut

Pull-up/pull-down resistors:
http://www.resistorguide.com/pull-up-resistor_pull-down-resistor/

Installing Arduino:
http://arduino.cc/en/Guide/HomePage

Arduino language tutorial (although the code used in this video is pretty self-explanatory):
http://arduino.cc/en/Tutorial/HelloWorld

MIDI note table:
https://www.finalemusic.com/UserManuals/Finale2012Mac/Content/Finale/MIDI_Note_to_Pitch_Table.htm



5 comments:

  1. Hello. I am wondering, can we have it directly as USB Midi, using Arduino Leonardo? I have made your Leonardo solution for converting old serial DIN MIDI to USB - works great. Can we have "keys to USB MIDI", or maybe Arduino short on resources? Thank You!

    ReplyDelete
  2. Hello! can you re upload the video on youtube?

    Greetings from Argentina

    ReplyDelete
  3. Hi. I have a Yamaha keyboard PSR-E203 and i'm trying to control it through the MIDI IN DIN cable with Arduino Uno. I connected a MIDI cable in the MIDI IN from the keyboard and connected it to a MIDI female terminal. In the terminal the pin 5 is connected to TX (digital 1) from Arduino and 2 and 4 connected to ground and 5V (current limited by 220Ohm), respectively. I wrote a code to write MIDI commands in serial port from Arduino and it was expected to hear some song in the keyboard but actually it doesn't work. In keyboard the Local is on and ExternalClock is off. Could help me to figure out how to sucessfully play some song in the keyboard using the Arduino? Thank you

    ReplyDelete