A method for music analysis. The method includes the steps of acquiring a
music soundtrack, re-sampling an audio stream of the music soundtrack so
that the re-sampled audio stream is composed of blocks, applying FFT to
each block, deriving a vector from each transformed block, wherein the
vector components are energy summations of the block within different
sub-bands, applying auto-correlation to each sequence composed of the
vector components of all the blocks in the same sub-band using different
tempo values, wherein, for each sequence, a largest correlation result is
identified as a confidence value and the tempo value generating the
largest correlation result is identified as an estimated tempo, and
comparing the confidence values of all the sequences to identify the
estimated tempo having the largest confidence value as a final estimated
tempo.