I'm planning my next project, which will be a laser harp, with an onboard synthesiser using the retro sounding YM2149F chip. That chip requires super fast pin switching and so I will be running it directly off of the arduino nano's digital pins. This takes up 10 I/O pins, leaving little room for other components, so I am using several 74HC595 shift registers to handle the 20+ inputs and 20+ outputs that the project requires. However, these shift registers need to be reasonably fast also, since this allows me to be able to calculate velocities of the 'strings' being played on the harp. To achieve this speed, I will use the Arduino's RX and TX pins.
My issue is that with such an awesome synth, I would like to be able to plug my keyboard into it, which would require a midi input, and I would like to also be able to send MIDI data from the harp, which requires a MIDI output.
My Question is: Would I be able to use the arduino's built in Serial connections for both the MIDI I/O and the shift registers? Or would a software serial connection be sufficient (and possible) for midi?