arduino to play music live

as i am a freelance musician i'd like to use my arduino as a "teachable midi controller" in order to let it play (send to a pc/expander) some drum loops or synth scores.. here an explaining flow chart:

1) write some midi music on pc (a drum loop, or a bass line) || \/ 2) connect arduino (to pc midi out) and tell him to "learn" that score (storing it in arduino flash memory) || \/ 3)repeat previous passages until all the song has been stored into arduino || \/ 4)go on stage and connect arduino to a computer or expander midi in. now you can call every song part an let it loop until you want: you can add a breakdown, a whole verse, an on-the-fly solo.. like a sequencer with a pack of already written patterns

now the part that i miss is the one that should store incoming midi data to arduino and the one that should retrieve it (ok, that's almost everything). hope to get some help (or at least hope someone have understood what i meant)

All of the pieces are there, it will just take some work to put them all together. You will need hardware to connect to MIDI IN and OUT...we offer the Flexible MIDI Shield for this purpose, though there are other similar shields available from Sparkfun.

You will need some place to store the data. The Arduino has built-in EEPROM (2kbytes) but this will fill up quickly and it takes a "long" time to write to it relative to how fast some MIDI messages can come in. You can use a data logging card, or use the built-in NAND FLASH on our BeatVox product.

Finally, there is a MIDI Library for Arduino that can help with the software.

The rest is all fun: pulling it all together and making it work ;)

-- The Ruggeduino: compatible with Arduino UNO, 24V operation, all I/O's fused and protected