This problem is exactly why I feel that browsers need to implement some kind of 'Audio Canvas' API if there are going to be any serious audio apps developed in browser using JS. Currently only plugins like Flash offer the necessary timing control. Also, the current method for playing realtime-generated audio from JS involves packaging it up as a PCM Wave file and sending it to an <audio> tag. This is an ugly hack.
An example of a strongly-timed audio app in Flash: http://www.audiotool.com/app