Calculate the BPM of a song using the Audio API
Switch branches/tags
Nothing to show
Clone or download
Latest commit a3254ef Aug 8, 2016
Type Name Latest commit message Commit time
Failed to load latest commit information.
.eslintrc Lint code Aug 8, 2016
LICENSE Create LICENSE Mar 9, 2015 Update image Aug 2, 2016
index.html Replace EchoNest API with Spotifys Audio Features Aug 2, 2016
script.js Lint code Aug 8, 2016
spotify-web-api.js Replace EchoNest API with Spotifys Audio Features Aug 2, 2016
style.css Design tweaks Aug 7, 2014

Calculating BPM using Javascript and the Spotify Web API

This project uses the browser's Audio API to guess the tempo of a song, processing a chunk of 30 seconds of music. For more information, read the blog post Beat Detection Using JavaScript and the Web Audio API, from where I've taken the code to perform the track analysis. I have also written a post explaining the project more in depth.


You can see a demo on

You can search for any track in the Spotify's catalog, and display a diagram of the detected peaks. Then, click on 'Play' to listen to the song while seeing an indicator on top of the peaks diagram. Apart from the detected tempos, the tempo provided by Spotify is shown.

Screenshot of the BPM detector

Run it yourself

There are no dependencies to install, and you don't need to register any app on Spotify. Just clone the project and start a server.