Hello I had the same problem and noticed that if you setup the lcd screen in this order:
LiquidCrystal lcd (d7, d6, d5, d4, , en, rs) ;
you get some weird character showing up...
but if you do this way:
LiquidCrystal lcd (rs, en, d4, d5, d6, d7) ;
you don't get any weird character.
Firstly, you need a robust way to synchronise to and parse MIDI messages which can be 1 byte, 2 bytes or 3 bytes or more... See this Summary of MIDI 1.0 Messages by the MIDI Association.
A good way to achieve this is by using a state machine. I've written a simple one below that parses 3-byte MIDI messages. It could be expanded to parse different types of ...