Beat detection


My name is Mathilde and I am part of the Robot project. I come from France and I have been here in Sweden for more than one year now. I can say I am really interested in dance. I practiced contemporary dance between the age of 5 and 18 and I love going to see dance performances. So when we started this project of building a dancing robot, I was excited but little afraid too: Can a robot really dance as I imagine it?

My role in the project is to give ears to our robot and especially make it have “le rythme dans la peau” as we say in French. In other words, I am in charge of the beat detection feature. We want our robot to be able to dance to the beat of any song that is played in its surroundings. To describe that little more technically, the robot will be equipped with a microphone that is intended to capture the music around. Then this music is processed by a beat detection program (running on a Raspberry Pi) which is able to find beats corresponding to different frequencies in the song such as the kick beat or the hi hat beat.

I have some programming knowledge from my engineer school in France and from last year at KTH but beat detection programming was totally new to me. It might seem easy programming at first sight but beat tracking is actually the result of quite heavy mathematical calculations. While a human can naturally hear the beat of a song, our robot needs to divide the music signal into frequency bands (for the initiated, we are using a Fast Fourier Transform) and look for energy peaks in these different ranges of frequencies. As a consequence of the algorithm, the robot will perform better on music with heavy beat and even better if it is one of the Robyn’s songs of course!

Besides, I have been listening to “Dancing on my own” almost every day for one month for testing matters. The song became everyone’s favorite in our project room…or at least nobody complained about it! 🙂

If really interested you can also watch this film: Inlägg by The Robot Project 2014.


2 thoughts on “Beat detection

  1. Piyush

    Can you please send me the beat detection code for Rasberry Pi,
    I am trying to give that output to Arduino to drive 2400 led pixels.


  2. redstorm

    +1 for beat detection code request
    want to make a bpm detector unit with a clock output to midi from raspi.

Leave a Reply

Your email address will not be published. Required fields are marked *