Beep.js – toolkit for building browser-based synthesizers
beepjs.com
beepjs.com
At the moment this seems to just be doing basic tone generation, though -- the options are sawtooth wave vs. sine wave etc..
Things get messy when you dig into MIDI playback type features, working with samples, sound libraries, etc.. But if they can forge a clear path in that direction (but somehow not lose decent timing), that could be quite useful.
and btw it's totally possible to make well-timed music with web-audio. I've got a midi keyboard hooked up to web-audio based looper, and that's what I use as my primary instrument these days for practicing. It works fine for me.
"Evergreen browsers only" is reasonable to ask for lots of sites; but "This site only works properly in the Chrome browser" gives me unpleasant flashbacks to when this notice was everywhere, but the browser was "IE5".
[1] http://en.wikipedia.org/wiki/Keyboard_expression
[2] http://en.wikipedia.org/wiki/Polyphony_and_monophony_in_inst...
For key velocity (is that what you mean by instrument expression?) -- there's maybe not much point attempting to tackle that when it's not emulating instrument voices yet anyway, or supporting MIDI input. You can't exactly capture key velocity from a computer keyboard.
There's some mention of gain in the code snippets, at any rate -- I think each voice may have its own "volume knob", in effect -- but I haven't dug into it at all.
I think that's a limitation of your keyboard. Here I can play zxcvbn, but I can't add a seventh note.
USB keyboards are limited to 6-key rollover. Using a PS/2 connector will fix that.
http://www.reddit.com/r/hardware/comments/nydvp/why_does_usb...
http://www.microsoft.com/appliedsciences/antighostingexplain...
Edit: If there's a reason for not having this be this way, I apologize; I'm a drummer and not privy to computer based synth.
http://www.diydsp.com/index.php?title=Great_online_music_thi...