After searching for hours a way to make a keyboard from Arduino and MI shield from sparkfun, and with the helps of few people, I finally get my program.It will probably seems a bit simple for advanced users, but It was quite a lot of work for me to make it works as a beginner. I thought it could be great to save time for other beginners if I share this program in this topic, so here we go , but before, if advanced users have some suggestions to improve it, you are more than welcome to contact me as I'm waiting to learn more :

#include <SoftwareSerial.h>SoftwareSerial mySerial(2, 3); //Soft TX on 3, we don't use RX in this code

//Plays a MIDI note. Doesn't check to see that cmd is greater than 127, or that data values are less than 127void talkMIDI(byte cmd, byte data1, byte data2) { mySerial.write(cmd); mySerial.write(data1);

My keys are simple switches... then, as you guessed, the Arduino send midi data to the shield to play notes.Regarding your case, have you take in consideration the possibility to connect a PS/2 keyboard to your Arduino, using the appropritate library ?

This is why we have code tags. It stops the forum software converting array indexes into italic tags.

Oops. I only added code tags after rereading my own response and seeing no 's didn't occur to me that I had put them in and that they were the reason for the italics, same for the OP I guess.

Back on topic -

I have been messing around with my hacked keyboard, its still monophonic but by racing through the active tones at varying speeds I get a basic chord effect or arppegio's either way the monophonic version is much more interesting than I expected.

I will share the schematic and code shortly, the code should be easy enough to adapt to another instrument if the OP wants to experiment.

//Plays a MIDI note. Doesn't check to see that cmd is greater than 127, or that data values are less than 127void talkMIDI(byte cmd, byte data1, byte data2) { mySerial.write(cmd); mySerial.write(data1);