views:

69

answers:

2

I've tried looking up how I might go about this for a while now, and maybe I am using the wrong terminology in my searches or it's way too advanced for me. I basically want to be able to analyze audio files in real-time. I know hardly anything about audio processing so I should probably start small and work my way up. Eventually I'd like to be able to display a power (or frequency?) spectrum correlating to audio playing in real time. Basically like the WinAmp spectogram (terminology?)

Any online tutorials with perhaps an API suggestion or two would be greatly appreciated. I've found some vague explanations (mostly dealing with calculating FFT's then converting them to something...) Like I said, I know little of audio processing, so knowing where to start would be great.

Language of choice: C++

+2  A: 

You could look into VST plugins as a starting point for the theory behind audio processing. There's a blog with some tutorials in c++ here.

You can also check out other SO questions on VST plugins for more info.

I believe audacity can run VST plugins, I'll look at that.

EDIT: Audacity doesn't support them out of the box, but you can enable it. You could download a trial of something like ableton live too.

Nathan
A: 

I'd recommend using a graphical tool to begin with to prototype some ideas. Try Puredata or something similar.

http://puredata.info/

Juce is a fantastic way to get to grips with C++ with an Audio slant.

http://www.rawmaterialsoftware.com/juce.php

I've also stumbled across UGen which might help you get up and running without having to understand too much of the sample-by-sample processing theory. I've not looked at this much yet but it looks interesting at the outset.

http://code.google.com/p/ugen/

The KVR forums are full of knowledgable people who will help and direct newcomers to audio and plugin development.

http://www.kvraudio.com/

If you're feeling brave the dive in to a good book. I've heard a lot of good things about the following:

http://www.amazon.com/DAFX-Digital-Udo-246-lzer/dp/0471490784

Good luck! This is not an easy area to get going in! (PS, the blog linked in the above answer is mine -> it's out of date and wont help you actually do any signal processing)

learnvst