I want to develop an application that would take audio(.wav) as input and display its real time simultaneous frequency spectrum . From what i have looked upon the subject , this requires fourier transform of the waves . Can someone suggest where i should start with ? Possible references and books . I want to learn the details of the implementations of realtime frequency spetrum rather than the development of GUI which i am quite familiar with(in C# and in C++).
-
1The "[Numerical recipes](http://www.nr.com/recipe-list.html])" series of books has an introduction to FFT implementations. Everyone loves to criticise them, but as a learning exercise at least it's probably a good starting point. – Flexo Jun 02 '11 at 15:41
4 Answers
There are already many libraries to do FFTs for you. No reason to reinvent the wheel. DirectX has an implementation but it might only be in the most recent version. Here's an open source C library for it.
If you want to understand the math behind it, here's a simple explanation and here's a complicated explanation.

- 2,994
- 1
- 16
- 14
-
"The requested URL /2011/05/17/understanding-the-fourier-transform/ was not found on this server." - this is why we don't use outside links. Please update your answer. – 19greg96 Mar 23 '15 at 22:01
You should begin with opening the wav file, extracting the audio stream and decoding it. There are 3rd party libraries to help on this operation.

- 92,053
- 36
- 243
- 426
Take a look at FFTW.
As far as books go, the classic text book on signal processing is Oppenheim and Schafer's Digital Signal Processing. Its college level but it is quite through. You do need some knowledge of calculus in places.

- 4,277
- 3
- 27
- 35
One should understand a bit of the theory before going off and implementing an application to display something. Here are some free online resources on digital signal processing, which is the basis for understanding FFTs and frequency spectrums, and maybe how not to misuse them.
http://www.dspguide.com/pdfbook.htm
http://www.bores.com/courses/intro/index.htm

- 70,107
- 14
- 90
- 153