Super excited about this! I've been getting into synthesis lately and have been writing a sequencer in Ruby. It's just been tough getting a GUI going on top of it...Shoes is great, but I'd have a much easier/better time building it as a web app. Granted, I suppose I could just build the web UI and send data via websockets.
Anyways, awesome stuff! MIDI is fun to work with; it's dead simple and with the right synths you can get some crazy things going working with it programmatically!
I suggest you build the sequencer in Max[1] or Pure Data[2]. Their advantages are:
1. You don't need to write any codes for UI objects
2. Simple things are faster to accomplish in these software.
3. For common complex tasks (fft etc.), Max or pd have built-in solutions that are likely better than the ones you build on your own.
4. You can script Max using js/lua/java. Hence if you want to build something complex and unusual, you can still fall back to programming.
5. You don't need to worry about timing in general. For example you can generate complex rhythm patterns in advance using lua/js/java and trigger them using Max/pd in real time. It will definitely perform better than some random web technology.
Anyways, awesome stuff! MIDI is fun to work with; it's dead simple and with the right synths you can get some crazy things going working with it programmatically!