geelen / x-beat

A Web Component for generating a continuous stream of beats from (currently) MIDI and (soon) Web Audio for the synchronising of GIFs to music.
http://geelen.github.io/x-beat/
32 stars 0 forks source link

Real-time beat detection/prediction using the Web Audio API & microphone #2

Open geelen opened 10 years ago

geelen commented 10 years ago

I think it's definitely possible to implement a high-performing beat detector/predictor in JS using the Web Audio API. I also believe it hasn't been done yet. If I'm wrong on either, let me know.

The best resources I can find on this are a Master's Thesis from 2004 by @robharper: https://github.com/robharper/beat-detect and this extremely recent BeatPort article by @itsjoesullivan: http://tech.beatport.com/2014/web-audio/beat-detection-using-web-audio/

As for software that does this already, I've been playing around with Wavetick by Wavesum http://wavesum.net/products.html#wavetick to generate a MIDI stream from audio from the microphone, and it works really well. I think this is a good target to set for whatever JS algorithm we implement.

There are also a collection of Vamp Plugins that are open-source and do beat-detection stuff, but I haven't been able to verify how well they work or how easy they would be to port.

tmaximini commented 9 years ago

I am also currently investigating the possibility of real-time beat detection in web audio. I'll just link this issue here, as it might be relevant: https://github.com/monstercat/bpm.js/issues/1