I would like to make a webpage with a "piano roll", here's a rough visualization (without some planned customizations):
Basing it on Color Piano might be promising because it allows uploading a MIDI file and plays the audio smoothly.
However, Color Piano doesn't move the piano roll smoothly visually. The distance that the bars travel is different in each frame, and/or the frame rate is low, and/or the duration of frames is inconsistent. You can see that if you look closely on the original page (might depend on your hardware) or in videos.
There are piano roll apps that run more smoothly (on the same hardware) using canvas
, for example Piano Roll from Chrome Music Lab. (But they don't directly allow to select an own MIDI file.)
Why is Color Piano not smooth? Can it be easily salvaged by fixing some bug, or is it deeply based on some outdated technology?