BeatDetektor iPhone App

Microphone-based BPM detection application for iPhone

Get it Now!

BeatDetektor makes use of your iPhone's microphone to detect and visualize the BPM (Beats Per Minute) of music automatically without the need for tapping or shaking.
BeatDetektor works best with Dance and Electronic music but has been found to also work with a wide variety of other genres.  Tapping or any other steady sounds near the microphone will work just as well.  The BPM display will brighten and sync indicator bar will advance to indicate confidence in the current BPM display value.  The counter can be used to visually confirm accuracy or keep track of a 4/4 bar, simply tap the counter once on the first beat to align it to the rhythm at any time -- the counter can also be reset by swiping up/down from the scanner (or Light Module) view.
iPhone 1G, iPod Touch (with accessory), iPod Touch 2G (with Mic earbuds or accessory) and Bluetooth devices should now be supported, please let me know via the support site forum if these devices have issues as not all scenarios have been explored yet. Note that 1G iPhone, Bluetooth and some external devices will have degraded performance and lock-in due to the sample rate being nearly six times lower than ideal, these devices may require less background noise or for the music to be closer (or louder) than usual. As well inexpensive Bluetooth headsets (or nearby equipment) may themselves produce an audible interference rhythm that can cause BeatDetektor to produce unwanted detections in low volume conditions.
BeatDetektor deals well with low volume, low quality, distortion and interference from other sound sources but a clearly audible rhythm is ideal. 
Please note the iPhone cannot sample audio from the iPod music library so this application will work with external sound sources only.


Three modules are included in version 1.1 and will continue to be expanded in the future:

 1. BeatDetektor Main, a frequency scanner, spectrum analyser and detail view with: sync indicator, fractional display option, lock functions, counter and oscilloscope.
 2. BeatDetektor Light visualization module integrated with several minor improvements

 3. Wave pool with bass kick wave and interactive tap and drag waves
Basic Usage: 

The BeatDetektor Main module is displayed by default.  

Upon startup it will be tuned for 85-169 BPM however three BPM minimum/maximum ranges are available for selection:

  48-95 BPM,  85-169 BPM and  150-250 BPM  *

If a detection appears too fast (double time) you can tune it down by tapping a lower range, if it appears too slow (half time) you can tune it up by tapping a higher range.

* Note that the ranges have been changed since v1.01 to allow for a better detection margin between the low and mid ranges and less error in the high ranges, detection near the very edge of each range is degraded and you should switch to a lower or higher range if it has a greater margin.

To access BeatDetektor Light swipe left or to access the Wave Pool swipe right.

Light module modes can be cycled by double tapping the screen, see the BeatDetektor Light App in the iTunes store (my other apps) for individual module information.

Color schemes can be cycled by double-tapping the screen in an unused, non-interactive area or anywhere on the wave pool.

Five color schemes are included in v1.1 and more will be added in the future:

  1. Terminal (Default)
  2. Silver
  3. Fire
  4. Pastel
  5. Classic VU
 Thanks for your interest and I hope you'll enjoy using BeatDetektor as much as I did developing it.  Feedback is welcome and as always will be considered for future revisions. 
Wave Pool Module Scanner view
Spectrum Analyser Config Screen
Feedback is welcome and will be considered for future revisions.
Questions, comments, requests and bugs should be directed to the: BeatDetektor iPhone Forum

Update: v1.1 now available on the app store.

What's new: 
- New user interface
- iPhone 1G support - may now support other devices please let me know!
- Bluetooth microphone support
- Improved detection sensitivity
- Improved detection accuracy nearly 8-10x
- Improved visualizer bar rendering
- Improved general intuitiveness of indicators
- Added fractional BPM display
- Integrated scanner, spectrum, config and details into one module
- Quality now represented visually
- Added Quick Reset button
- Added standard Bass Kick indicator light
- Range selectors moved to main screen
- Added BPM locking with side-by-side view
- Added BPM auto-lock
- Added the BeatDetektor Light module
- Improved overall framerate stability
- Improved wave pool touch response
- Fixed the oscilloscope tearing (the broken line / frozen piece)
If you are experiencing problems after the update please go to the BeatDetektor iPhone forum.  Post your iPhone model information and I can work with you to resolve as soon as possible.
Thanks again for your support. 

Appendix: BeatDetektor Frequently asked questions (emails, forums, friends): 

(Answers by Charles J.)
Q: What is BeatDetektor used for?
A: The BeatDetektor algorithm's primarly design was for synchronizing visuals to a beat (as illustrated by BeatDetektor Light Module) but can be used in any ad-hoc scenario when you just need to find the BPM value of what you're hearing.  I personally use it to quickly tune my audio software to a track I like or perhaps set the timing for various audio effects I may wish to apply in a mix.
Other known uses include (but are not limited to):
  * Place the microphone firmly in your headphones to quickly estimate the BPM during a real-time mix session and free up time for other actions.
  * Record all of the BPM values of your favorite tracks or records for a new way to sort and choose your music.
  * Quickly go through your music and fill out that typically empty 'BPM' column in iTunes (hidden by default, right click the header to add).
  * Figure out your favorite BPM to dance to at a party and make sure you've got the best room.
  * . Find out the drips per minute your tap leaks.
  * .. Or how many purrs per minute your cat produces.
  * ... and the list goes on as long as you can imagine.
Q: It doesn't seem to work well with my favorite artist (x), what should I do?
A: Please check out the support site and visit the forum, any song which proposes a challenge can only improve BeatDetektor and I will be happy to review your artist and do my best to make it work.  Future versions may include a custom BPM range selector and presets to help reduce the error rate for specfic genres or artists.
Q: How does BeatDetektor actually work?
A: BeatDetektor uses a very simple statistical model designed from scratch by myself that is driven by predicting individual or groups of periodic frequencies and their implied harmonic properties and then using it's own results in a timed feedback loop. In english -- It's like having 384 monkeys each with their own iPod touch running their own BPM tap application but they're trained to only tap to a specific frequency whenever they hear it and have a habit of seeking out other monkeys who are tapping like they are -- the largest and most in-tune group of monkeys wins.
Q: What other modules or updates are planned for future releases?
A: So far there are a few including updates to exising modules and more will be considered as suggested or imagined:
* Wave pool multi-touch with more interactive options and automated responses to music (near future)
* Beat Animator (future):  A simple drawing application with animation assistants that will let you create your own animated sequences and display them to the beat.
* Dual Mono detection (future):  If an external stereo device with a line-in is plugged into your iPhone or iPod and you turn it sideways it will begin detection in separate left/right channels, allowing you to plug in two separate mono channels to monitor their BPM simultaneously with a single device.
* Radio Tuner / Streaming (future): Ability to connect to a stream server from popular listings or a local network resource to play audio files for detection and visualization.