MIDI is actually just serial data at 31,250bps in 8N1 format that is transmitted over a 5-pin DIN cable. This means you can receive MIDI data from your musical instrument using a serial port, or an FTDI cable.
Receiving MIDI data over the FTDI cable doesn’t magically turn your USB serial device into a MIDI device – you need to be running a software bridge or a driver that pretends to be a virtual MIDI device emitting these messages. For this purpose, I shall use the Serial MIDI Converter from SpikenzieLabs.
I’m using Mac OS X 10.6.6 and the latest Java update, so I didn’t need any extra JAR files.
Wiring It Up
The circuit is relatively simple – you need the DIN socket, an opto-isolator, 2 resistors, and optionally a diode. In my case, parts came from a scrap bin, so I used a 330 ohm resistor instead of a 220 ohm for Rb and a 1K for Rd instead of 280 ohms. For the opto-isolator, element14 had some non-RoHS CNY17-2 on sale, so I just used that.
Note that the RXD output is only meant for interfacing with a TTL circuit like an FTDI chip/cable or MAX232 transceiver, not the RS232 serial port directly.
You can find the same circuit diagram (with different values & parts) in the official MIDI Electrical Specification Diagram.