Beat This

A Beat Synchronization Project
Kileen Cheng Bobak Nazer Jyoti Uppuluri Ryan Verret


Beat Detection Algorithm

Frequency Filterbank
Comb Filter

Block Diagram

Matlab Code
Matlab Plots

Time Scaling Algorithm

Matlab Code


Phase Alignment Algorithm

Matlab Code
Matlab Plots



Music Samples






About The Gang


You Are Visitor


Have you ever found yourself unconsciously tapping your foot while listening to music? Ever wonder how it is that humans can intuitively detect the beat of a song? This project analyzes the beats of two different musical excerpts and speeds up the tempo of the slower signal to match that of the faster one. Traditional manipulation of signal duration would normally cause alteration of the signal's frequency, most commonly evidenced in the way a musical signal sounds higher or lower when played faster or slower. This effect is obviously less than ideal if the original musical quality of the excerpt needs to remain the same. The goal of this project is to determine the beats of two songs and then utilize frequency analysis techniques to change the duration of those two songs such that they were equal without causing alterations in the pitches of either signal.

  Download our PowerPoint Presentation.


Such a beat synchronizer would be of value in many applications such as human-computer improvisation, music transcription, music editing, and ethno-musicological studies. It would open up possibilities for computer in music by allowing the computer to synchronize with tempos external to it without the use of explicit synchronization information. Musicians generally agree that it is more difficult to play in an ensemble and follow a collective tempo than it is to set their own tempo and require that other musicians follow. Similarly, when disc jockeys remix and edit different songs, such a synchronization system becomes a necessity if aurally-pleasing sounds are to be generated for the listener. In such a situation, a beat synchronizer would take the musical input of two different songs, analyze their beat frequencies, and produce two songs whose beats were synched.

A beat synchronizer could also be used to determine rhythmic similarities in music. Rhythmically similar music will have similar beat spectra. A measure of similarity could be computed by comparing the beat spectra. Among other applications, this allows retrieval by rhythmic similarity: a collection of music could be ranked by similarity to a given musical example. Another application might be to arrange songs by similar tempo and rhythm so that the transition between them is smooth. Studies are also performed to analyze the different rhythmic characteristics displayed in the traditional songs of various ethnicities. Such information can be useful in learning the evolution of music with culture over a given period of time.

Additionally, automatic tempo extraction can be accomplished through a beat synchronization system. Knowing the song structure, tempo, and beat times allows synchronization of external events to the audio. For example, an animated character could nod or dance to the musical tempo. Video clips could be automatically sequenced to match the tempo of an chosen musical soundtrack.



(C) 2001 Beat This. All rights reserved.