Slashdot Mirror


Audio Beat Detection Analysis?

An Anonymous Coward with a developing sense of rhythm asks: "I'm a CS student, and I'm interested in audio processing - specifically beat and pitch detection. Whilst there seems to be quite a lot on the Internet about tempo and pitch modification algorithms, I'm having trouble getting anything about the detection field, apart from a few PhD articles. Does anybody have any suggestions of a good place for a undergrad CS student to start? It's a complex subject I know, but I'd like to investigate it further, and am at a loss as to where to start"

2 of 10 comments (clear)

  1. Piece of cake by Anonymous Coward · · Score: 3

    Pitch detection is a simple FFT (Fast Fourier Transform). You can use Matlab or rip the code from Numerical Recipies. Note that you'll most likely want to do the STFT (Short Time Fourier Transform) if you want to detect "notes".

    Tempo detection is a little trickier but still not that bad. You can take a local autocorrelation of the signal. From this, you should see some periodic hills and valleys. (as well as some noise... good time for a low pass filter?) To figure out the periodicity of the autocorrelation, we use our old friend the FFT again!

    These are the sorts of tricks that Winamp plugins and dancing robots use.

  2. MediaLab Work by Hnice · · Score: 3

    My girlfriend's brother did his phd at the MIT Medialab on this very subject. Check his stuff out at um, this, which is more or less exctly what you're talking about. He was in the "Machine Listening Group".

    --

    god is just pretend.