Audio Beat Detection with Application to Robot Drumming
Michael Engstrom · 2019
This Drumming Robot thesis demonstrates the design of a robot which can play drums in rhythm to an external audio source. The audio source can be either a pre-recorded .wav file or a live sample .wav file from a microphone. The dominant beats-per-minute (BPM) of the audio would be extracted and the robot would drum in time to the BPM. A Fourier Analysis-based BPM detection algorithm, developed by Eric Scheirer (Tempo and beat analysis of acoustical musical signals)i was adopted and implemented. In contrast to other popular algorithms, the main advantage of Scheirer's algorithm is it has no prerequisite to decompose the audio information into notes beforehand and can therefore be automated. In contrast, the McKinney and Breebaart feature set detection and classification method has a result that typifies music genre into static features and is not suitable for real time control of a robot (Features for Audio and Music Classification)ii. A host computer inputs audio from the environment (via microphone) and extracts the BPM data with the Scheirer algorithm to be sent to a robot controller. A commercially available robot controller was used to control the Drumming Robot servo motors and to interface with the host. The robot motion control task and the input audio BPM detection task are purposely separated in this implementation. One advantage is that each task could be developed independently. However, the main advantage of this approach is to create a generic interface between Input Logic and Robot Control functions, so each could be used independently for application to other robots or control systems. Extracted BPM data is useful not for just the Drumming Robot but for any robotic system that interacts in real time with the sound environment, such as dancing robots. By the same token, the Drumming Robot can be controlled by any BPM information source, if the control signals are compatible. The Robot Theater at Portland State University features animated robots with the goal of performing music and acting out scenes for the entertainment of the audience passing through the halls of the FAB building. The Robot Drummer idea was conceived following the construction of a Handshaking Robot class project involving the "DIM" robot located in the PSU Robot Theater. By adding a second arm to the DIM torso and powering movement by servo motors and a robot controller, the motions of drumming could be performed for the Robot Theater. Audience members