Real-time BPM counter continuously analyzing audio input from your device’s microphone.
What you should know before using it:
* the tempo is assumed to lie in an interval from 120 to 180 bpm
* the value is updated every 5 seconds
* analysis is performed on the audio recorded in last 6 seconds
How does it work?
Every approx. 20 miilliseconds Beatnik analyzes recorded audio and estimates its energy (a number) relative to the previous samples. These values together form an energy envelope (displayed in the upper plot), an image of how the audio energy varies with time. With each new value the oldest is discarded so that only the last 6 seconds are considered for the tempo calculation.
Once in a while, an algorithm tries to find a suitable pattern in the energy envelope. Given such pattern, beat locations are estimated and so the tempo is known.
Note: The very first step in the energy analysis is transforming the audio from the time domain to the frequency domain (Fast Fourier Transform). As it might come in handy to see the frequency distribution, plot of the magnitudes is displayed at the bottom of the screen.