BTW if we really need to be able to generate, process and play MIDI tracks
in real time in the browser, a good approach might be to add a MIDI track
type to MediaStreams. Then with very little extra API surface we could
extend getUserMedia to support capturing MIDI tracks, extract recorded MIDI
tracks using mediaElement.captureStream, extend the Worker onprocessmedia
event to support reading and writing MIDI data, synthesize and play back by
feeding the MediaStream into an <audio> element, record MIDI using
StreamRecorder, etc. This approach would let you keep MIDI tracks in sync
with other video and audio sources (including other kinds of audio
processing). (I'm assuming MIDI tracks can be represented as a sequence of
timestamped events; I don't know much about MIDI!)
Rob
--
"If we claim to be without sin, we deceive ourselves and the truth is not
in us. If we confess our sins, he is faithful and just and will forgive us
our sins and purify us from all unrighteousness. If we claim we have not
sinned, we make him out to be a liar and his word is not in us." [1 John
1:8-10]