Arduino is a great platform for interfacing your PC with the environment. MIDI is an easy way to communicate between PC/musical instruments. What if you could use your own sensors (arduino based) to interact with your musical instruments, without the need for a PC.
this rules out the software approach.
First of all: Midi-signals are basically a set of 3 bytes sent over the serial port.

midi command - data 1 - data 2

Arduino is capable of sending serial commands so if you make sure you send them at the right speed (31250) it's just a matter of wiring the MIDI out port and you're ready to rock.

MIDI-in is basically the same, but you will have to do the parsing on the arduino side, making it harder to program unless there is a good library already out there?

interesting information on the tubes

arduino midi controller
basic midi out
another basic midi circuit