13

I'm interested in making an Arduino based MIDI controller to talk to my computer. Looking at other examples of Arduino MIDI (for example, MIDI Output using an Arduino), they all seem to wire up a dedicated 5 pin DIN. Which makes sense as this is the original cable to connect keyboards, expanders and sequencers together.

However, I want to send MIDI to my PC. A 5-pin DIN is just going to have to be plugged into a conversion box which connects to my PC via USB. And I already have a USB cable to connect my Arduino to my PC. So why can't I just use this?

I'm assuming what would stop me is that these conversion boxes all come with drivers which know how to handle the signal coming in over USB. Whereas, say, a virtual synthesizer on my computer wouldn't expect or know how to handle raw bytes coming in via the serial port. So is there a standard or free equivalent to these drivers that I could use for my own project? Or, if not, what would it take to write one? Where could I find out more about this?

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
interstar
  • 26,048
  • 36
  • 112
  • 180
  • Midi is a serial interface, so outputting it to USB is more complicated than juts wiring. That's why you need a Midi-to-USB interface. – lofihelsinki Jan 02 '18 at 13:51

4 Answers4

12

I found it was easier to just embed a cheap ($6) MIDI-USB interface right into my Arduino projects. Quick and Dirty Arduino MIDI Over USB explains how.

There are also some pictures of an old calculator I turned into an Arduino USB-MIDI controller in Calculator MIDI USB Controller.

I hope that helps.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Nate
  • 121
  • 1
  • 2
2

We've developed an OSHW Arduino Shield for that http://openpipe.cc/products/midi-usb-shield/ Source code and schematics available. Hope it helps!

1

We built some module to make your own Midi device easily just have a look e-licktronic

We use Hairless to convert Serial to MIDI it's a very simple software

vincent
  • 11
  • 1
1

You may want to use checkSpikenzielabs Serial - MIDI Converter. It looks exactly what you're looking for. It converts incomming serial data to MIDI data. So on the Arduino side, just send serial data as usual, and receive MIDI data on PC side.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
RngTng
  • 1,229
  • 2
  • 12
  • 22