How does the problem simplify when it's restricted to piano?
https://magenta.tensorflow.org/datasets/maestro
Most current research involves refining deep learning based approaches to this task. When I worked on this problem earlier this year, I was interested in adding robustness to these models by training a sort of musical awareness into them. You can see a good example of it in this tweet: