0

my ultimate goal is to extract all the sound information that is below 15KHz from a mono wave file. The program loads samples into memory and its represented as 16bit signed integer array.

I used FFTW and it has several functions such as complex multidimensional fft, real multidimensional fft, real one dimension fft, complex one dimension fft.

what method should I be using for this?

Thanks.

Maduranga E
  • 1,679
  • 5
  • 23
  • 37

2 Answers2

1

You will need to convert to a float/double array first, and then probably use the 1D real-to-complex mode (see http://www.fftw.org/fftw3_doc/One_002dDimensional-DFTs-of-Real-Data.html).

Oliver Charlesworth
  • 267,707
  • 33
  • 569
  • 680
  • Windows are informationally lossy, and thus do not allow "extracting all sound information", only a specific subset is "improved". – hotpaw2 May 29 '12 at 15:06
0

How to use an FFT depends on what information you want. Just using the 1D real FFT on audio, there are time frequency resolution trade-offs, per bin filter response trade-offs, and other questions you will need to answer first. You will also need to know the sample rate of the data.

hotpaw2
  • 70,107
  • 14
  • 90
  • 153