I made some research and it seems that Javascript and MIDI are not going well together these days. At least so Google says.
As stated in this topic:
generating MIDI in javascript, it is possible to create a file, either in Javascript or server-side, and play it like one would play a usual file.
But, I really would like to be able to send individual midi events, “live”, as it would be a constant user interaction.
I guess my plan B would be to create a Java applet that does this, but then my app wouldn’t be pure HTML5 anymore.
I also heard HTML5’s audio support isn’t famous right now, so I also wondered, if no solution is available now, what are the possible future outcomes?
Thanks.
See the music embedding portion of this blog post by John Resig. (For some reason, the Mario game that Resig links to plays sound for me in Firefox but not Chrome or Safari; it’d be worth investigating why).
The idea is that you use a data URI to embed a base64 encoded version of your data within the HTML file itself. So you could write Javascript to continuously generate data in the MIDI format, then encode it in base64, and then inject it into an HTML5
<audio>element