Question: 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](http://itp.nyu.edu/physcomp/Labs/MIDIOutput)*), 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?

Answer: 
We've developed an OSHW Arduino Shield for that <http://openpipe.cc/products/midi-usb-shield/>
Source code and schematics available.
Hope it helps!
We built some module to make your own Midi device easily
just have a look [e-licktronic](http://www.e-licktronic.com)

We use [Hairless](http://projectgus.github.com/hairless-midiserial/) to convert Serial to MIDI 
it's a very simple software