Arduino MIDI controller

Hi, I've searched around and found a lot of information of using an arduino as a MIDI controller similar to a midi fighter, to be used with Ableton live. however, i've gotten conflicting views on how well or how hard this can be done and I was just wondering if anyone could clear up my confusion.

Basically I want an arduino to trigger sound samples using a program, that doesnt seem hard but I've read that an arduino doesn't output FTDI connection to a computer, which makes it hard to output MIDI code for a program to recognize. is this true? Not that I know what the heck FTDI generally means but the fact that a program must recognize the arduino as a MIDI controller is quite important.

speaking of code, i've seen source code for the arduinome project and others, but generally speaking im looking to have 16 buttons, each could be triggered and programmed with the MIDI program of my choice. Anyone know any source code that could help me? I have 2 semester of c/c++ so far and the code i've seen seems like i could handle it.

lastly I just recently came across this Arduino Drum Kit kit

http://www.makershed.com/ProductDetails.asp?ProductCode=MKSKL10

IT does say it has a FTDI connection, would buying this board help me? I would rather buy an arduino UNO, because since stumbling across these, projects ideas seem endless and I want to be able to use the board for other purposes. I'm a cheap engineering student so I could only buy one now, hopefully more later.

Thanks for any help. can't wait to get my hands on one and get started :D

An Easy way:

Use an arduino sending midi thru the virtual serial port.

Then use a serial-->midi converter application, I'm sure you could find one if you google it.

This way requires the least extra hardware besides the arduino uno. (only a usb cable)

I'm not sure how responsive it is, though. I guess it depends on the program used.

The FTDI chip on the Arduino may be USB, but it is recognized as a SERIAL port by the computer. So MIDI-from-Arduino needs to follow on of the following paths;

a) Hardware MIDI: Wire a MIDI connector to the Arduino serial out, or to another pin using the Soft Serial library. This does not quite meet the MIDI spec, but almost all devices will recognize it. Use a MIDI-to-USB converter like the "Uno" (about forty bucks US) to get the MIDI into the computer.

b) MIDI over serial: Send either MIDI-like, or serial-like data out of the Arduino's serial port and into the computer via the FTDI chip/USB cable. On the computer side, find or write an application (Processing is good for this) that turns the serial stream into internal MIDI, which you can then route into your application.

c) AVR-USB: Add a second AVR-tiny, on a shield, and program it with the AVR-USB library to emulate a USB device. MIDI will not quite be class-compliant, but various people have gotten it to work anyhow.

There has been some talk about using the AVR-USB library on the Arduino itself, but there are further complexities here!

d) Lastly, ignore MIDI. If you are using, say, Max/MSP for the software, it will recognize and respond to the serial the Arduino puts out naturally -- no need to convert into MIDI.

Hope this helps.

To get serial output from the arduino into the MIDI system of a computer see:- http://www.spikenzielabs.com/SpikenzieLabs/Serial_MIDI.html

Thanks guys i really appreciate the help, i think i'll try the serial converter type application.