Dancer.js, a high level audio api to make visualizations
jsantell.github.com
jsantell.github.com
The 'hard' part here is to compute the Fourier transform (which can be both a hard maths and performance problem for a person who knows nothing about signal processing), but quite a few implementations exist in javascript already (plus, if the author uses the new typed arrays, it brings a nice speed boost).
Hard? Actually it is very easy on rock/dance/pop music.
It's only difficult in classical/jazz pieces.
Uncaught TypeError: Cannot read property '0' of null, dancer.js:319
All I see are floating particles. The code looks sleek, though, and I'd love to see it working. I had a hacked up WebGL visualizer for a computer graphics class long ago, but it was nowhere near as thoughtfully written.I'll dig into the code for sure, i just started webgl and this kind of things is perfect to learn.
And of note, while this is using Three.js, it's just using a CanvasRenderer, since FF has problems with loading particles (without a system) in WebGL. Made a ticket for it since this will improve performance as well https://github.com/jsantell/dancer.js/issues/6
The music loads, the particles move, but not really in sync with the music. It just spins...
At the top, I see the spectrum scrolling by, with it averaging about 20 FPS. I cannot click on toggle FFT spectrum, it doesn't recognize my tap. Like a limitation with the WebGL implementation.
Now to build Chromium and try on vanilla Webkit..
If you need me to test/debug, give me a shout. I'd be happy to help.
I'll have to check it out on my computer when I go back inside.