How do you define beats of a song? Is it a drum’s rhythm? Is it a sequence of stressed and unstressed beats (Wikipedia)? Is it when you tilt your head to the side when you’re listening? Or when you tap your foot?
In ska music, the beat is a rhythm of upbeats and downbeats. How can we find the beat to any song that would be in one’s music library? This was our challenge for Step Up!
We struggled with this idea while implementing Step Up! We ultimately decided that we needed beats that had a rhythm that you could move to, that one could step to.
In trying to get it right for the demo day, we had to define how our program would find beats and then make the lights blink to those beats in real time.
We ended up using a Java/Processing library called Minim which can process an MP3 file. We are using the BeatDetection class which allows us to detect beats, detect specific kinds of beats (snare, hat, kick drums), and beats that occur within a certain frequency. At first, we tried the default beat detection; it wasn’t great. Then we tried detecting beats as drum beats, which was not as consistent as we would have liked. We implemented this on our first installation of Step Up! We found that you could not move to the beats like we wanted; the beats weren’t as consistent or fast enough. Then we found that for a certain song, we could find the optimal frequency range that would give us beats like we were envisioning. This is what we went with for our implementation at demo day, with some additional tweaking.
These are some videos we found were inspirational when researching how to do this sort of thing