Tempo and Loudness
Tracking via Frequency and Time Domain Analysis for Polyphonic Music
ISE-575/b final
project: Spring 2006
By
Erdem Unal
![]()
AUTOCORRELATION
The Objective: To estimate the periodicity
of the quantized input in the energy domain
The Algorithm: For autocorrelation, we convolved the quantized
trigger vector with itself. There 2 ways to go. First, calculating the period
of the repeating events for the entire input, and second, dividing the input
into windows and estimate periodicity for local portions. At this point, we
chose the second approach since the tempo of a given performance is subject to
change over time. The formula for convolving two signals is as follows. If a
signal is convolved with itself, it is the equal to autocorrelation. (Papoulis
1962, p. 241).
![]()
The first autocorrelation series of the trigger function is as
follows. (for the example we are studying)

The autocorrelation vector for the entire trigger vector is as
follows.

After the autocorrelation calculation is finalized, for each
portion, max value of the graph is searched. The second maximum which is the
closest to the global maximum in the autocorrelation graph shows the point
where the signal starts to repeat itself. The distance between these two peaks
are the calculated period for the corresponding window. For each portion a periodic tapping
sound is synthesized with the input itself.
Here are some simulation results.
![]()