As I understand the situation, the most crucial problem will be to play the samples as loops & with a release phase. All web-audio I saw so far just plays audio files as they are. Looping in that context typically means just repeating the audio file. The piano website (http://mudcu.be/piano/
) is no exception. Apparently, it just plays a sample without internal looping.
That said, if Java is needed for the midi interface anyway, it may be possible to implement the whole thing in Java. Though, as Masi wrote, that would not work on iOS... BTW: would it be possible to access a midi keyboard from an iOS browser?
Might be an example against the "HTML5 will destroy all native apps" point of view.