As an aside, the drum sounds themselves are generate using the web audio api.
I'm not even switching tabs.
Doesn't appear to even display in IE11, although to be fair, I just opened my DR-110 up and, while it renders, and most of the buttons are functional, the knobs are not, and no audio plays back.
Playback of beatpetite seems steadier in Chrome, but as I typed that, I got an audio hiccup. The visuals are noticeably jerky. Again comparing to my DR-110, it's pretty clear I'm using a different approach to the audio playback because I'm getting seriously weird glitches on my playback. And the CSS buttons don't quite line up on mine in Chrome the way it does in the other two browsers.
I wouldn't spend too much time chasing a solid tempo down. That's essentially out of your control.
Yeah, I think Firefox isn't quite up to the job yet. But I think Chrome's performance is indicative that it is possible.
I'm using the technique described in this article, but with a web worker, meaning that the clock doesn't stop when changing tabs.
Also, you might want to go a bit easier on history.pushState() :-). I had a heck of a time getting back here.
Sorry but in terms of holding the tempo the browser is still not accurate.Audio Synthesis is only one part of the problem.Flash is bloody accurate in term of sequencing and playing sounds at the right time.The browser is just not.that's why Flash sequencers are possible,but WebAPI ones arent.