About the BPM tap toy:

The BPM tap toy is a tiny application to estimate the speed of a song by tapping a button in sync with the rhythm.

In contrast to many existing applications, this application uses a weighted moving average in estimation, and also gives a confidence interval so the user can see the accuracy of his tapping.

A fully automatic computation based on audio input is not done, since my experience with such algorithms is that they can’t distinguish the main rhythm from sub- or super-rhythms and are just not reliable.


BPM tap toy screenshot


  • Any key (except special keys) and mouse clicks will be counted.
  • After a short pause, computation restarts automatically!
  • The two symbols in the upper right corner continue to flash in the current speed, and are thus useful for validating the computation result.
  • The think green line in the diagram is the curren estimation, the blue line are the raw values, and the thin green lines give the confidence interval.

Download & Installation:

Download (tgz)

Installation is not required, the application can be started right away (the .py file).


  • Python (usually included with Linux, OS X)
  • PyGTK (often included with Linux)

These need to be installed separately. This should also be easily possible for both Windows and OS X, but I can not offer you help with installation. Linux users most likely have everything they need already installed (Debian: apt-get install python-gtk2)