Saturday 10:30 a.m.–11 a.m.

Music beat aware interactive physics simulation

Vikram Bahl

Audience level:
Lecture Room E4


This talk will demo a beat recognition system in Python which locates the main beat in a song and renders a dynamic physics simulation in synchronization with the beat. The demonstration will serve as a basic introduction to digital signal processing in Python.


Precise pinpointing of the beat in a song is a complex signal processing challenge. A sound energy based amplitude averaging method is employed to extract the beat location of an input music signal. These beat locations are then passed as input to an interactive animated environment with objects that are sensitive to the beat. The simulation is a physics based system which comprises objects governed by the laws of rigid body dynamics. The animated environment reacts to the input music signal in a way that a viewer is able to look at the animation and visually perceive when a beat is detected. The corpus of songs which are successfully detected for a beat is limited to the trance and hip-hop genres. The application is cross-platform and is developed in the Python 2.7.2 language. The Python modules, pygame and pyo, are used for animation and signal processing, respectively.