He's going for more than key presses though I don't know how he expects ...
I wish to see the commands and rom addresses being sent to the synthesizer.
Key presses, in 81 I wrote in interpreter basic on a 4 Mz 8085 S-100 PC a routine to pick up key presses and count loops between. I'd hit 2 keys with index finger and middle finger held back a bit (a piano thing to get 2 notes real close together) and still got 22-25 loops in that slow basic on that slow PC. Normal key presses, I was able to process alphabetic searches as each key was hit in between the hits.
With Arduino I've been polling serial at 115,200, processing the data and still counting micros() spent just waiting for the next available.
Keep your loop() tight and never do much any one time through. Don't write blocking code. Your response time to watch digital data can get down to 1 or 2 microseconds. Add 1 analog read however and you're looking at over 100 micros response time which may get to 8 or less checks per millisecond which is still not exactly slow.
What can I say? I love these things!