I'm a DJ and have stacks of mp3s on my laptop. What I usually do is open the track in Ableton, wait for it to calculate the BPM, and then adjust the track name to XXX_Artist_Track, where XXX is the BPM of the record. I have experience with programming too, so what I'd like is be able to point my program at a directory, have it calculate the BPM of the tracks and change the track name accordingly.

  • 2
    There are tons of programs that do this already - the one suggested by Noxxys is one example. Sep 9 '14 at 5:00
  • Ah, gone are the days of beatmatching Sep 9 '14 at 9:29
  • cdjs, I still beat match ;)
    – kafka
    Sep 9 '14 at 17:07

Sure you can. It would require some knowledge in audio programming and analysis. However, I would advise to not reinvent the wheel and use existing tools, such as BPM Counter (free).

I'm not sure if it can write the BPM into the file name directly, but once it's saved in the id3 tag, it's much easier to access it with your own program and then rename the file.

  • perfect thanks. As you say hopefully I can point it at a directory, calculate the BPM, then just take the property and write it to filename.
    – kafka
    Sep 8 '14 at 20:02
  • 1
    as a DJ you might know about it already but I use MP3tag to automate the file re-naming process. You can specify a id3 tag field to add to the filename, in this case format it for BPM - Artist - Track. You can also bulk edit file names and tags.
    – charlie
    Sep 9 '14 at 0:10

If you have an iPhone or iPad you might want to check out the app Tempi which does just what you're asking. http://madebywindmill.com/tempi/

If you wanted to code this up yourself, look at the autocorrelation algorithm.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.