How to develop a music visualizer

I’m going to develop a music visualizer–music drive graphics. I can use Opengl to do the graphics. But the problem is the audio processing part. I have no experience in this field. I once thought I could extract music features-such as pitch, beat, volume to control the graphics. But I now I don’t know how to start. I learned fft in math, but I don’t know what to do after I get the spectrum of a piece of music, how can I extract those music features after fft? Or how to do the music processing part?

Probably plenty of papers and articles out there to get you started on what to actually do with the fft data

Theres plenty of addons already for FFT stuff that I’m sure you could pick apart:

http://ofxaddons.com/repos/383

http://ofxaddons.com/repos/391

Here is one for actual beat tracking: http://ofxaddons.com/repos/63

I come from the max/msp world of using analyser~ so I never got into anything too math heavy with music analysis…just a lot of data maneuvering…beat detection is pretty good now, pitch detection is still a bit hit or miss

FFT is a good choice. But you can also just start with the raw audio signal from audioIn(float *…) and get pretty far.

Look at the audioInputExample in the openFrameworks examples folder which calculates the RMS. Volume is just a log-scaled version of this value. You can also do beat tracking and segmentation with the same value, the RMS.

For another example, have a look at the audio onset detection example from Day 2 here: http://pkmital.com/home/teaching/cema-workshop/

  • this just builds a really simple model using the mean and variances of the RMS

If you aren’t happy with the RMS, you may want to explore the FFT and apply some of the same concepts to get more interesting results. You can look at the energy of different bands for instance and apply similar techniques.

Good luck,
Parag