Please use code tags (
</> button on the toolbar) when you post code or warning/error messages. The reason is that the forum software can interpret parts of your code as markup, leading to confusion, wasted time, and a reduced chance for you to get help with your problem. This will also make it easier to read your code and to copy it to the IDE or editor. If your browser doesn't show the posting toolbar then you can just manually add the code tags:
[code]
// your code is here[/code]
Using code tags and other important information is explained in the
How to use this forum post. Please read it.
Serial.write() writes binary data. So you will see the characters that represent the ASCII codes for status, PITCH, and VELOCITY. If you want to see the text representation of those values you would do something like this:
Serial.println(status);
Serial.println(PITCH);
Serial.println(VELOCITY);
But I don't know what sort of data your MIDI software is expecting. For that, the Serial.write() may well be the correct code and the Serial.println() statements will corrupt the MIDI data. Even so, it might be worth doing it just to verify with Serial Monitor that things are working as expected. Keep in mind that the serial port can only be open by one program at a time. So if you open Serial Monitor that will likely block your MIDI software from accessing the data from the Arduino.
See: