This is the second iteration of the thing I described at a most unusual hack.
This time, everything, including sound synthesis, is done in the browser. Since almost no browser is able to output sound directly from javascript, I currently use a small flash applet to push the sound to your speakers, I hope you don't mind. So please disable flash blockers.
Take a look at http://webloop.pixelpoke.de/ or watch the screencast:
(Sorry for the screenflow overlay, downloading the trial was the quickest way for me to be able to record a screencast at all)
Some technical details:
- Handing over large amounts of data from javascript to flash is not entirely easy. I tried out various methods and the current method is dead stupid, inefficient (data size wise) but reasonably performant and also pretty easy to understand: I hand over the audio buffers as 16-Bit values, encoded in HEX characters. Handing over 8Bit strings didn't work at all and a small test with base64 encoding proved to be too inefficient.
- The flash movie is written in haXe which I would recommend to everyone who needs to do flash at all.
- The synth uses no special optimizations, the sound generation is relatively naive with no sound quality optimizations like dithering or such.
- The backend is a small sinatra app to allow the users of the synth to collaborate. Currently the pattern data is held in one YAML file which will break pretty fast with more users, but works for now.
Thanks to Oliver Wittchow of nanoloop fame for the inspiration.
Thats me: http://jan.krutisch.de/
Thats also me: http://twitter.com/halfbyte