So lets say I have an audio file, "hello.mp3". I want to split this file into all of its frequencies, so if the audio file contains 12hz, 412hz and 200hz, I get files containing those frequencies.

  • What for? What's the context?
    – Mark
    Jun 14 '19 at 23:44
  • @Mark I'm trying to create a program that converts a file into it's different frequencies, then into text which I can put into another program that plays back the file.
    – user27044
    Jun 15 '19 at 8:44
  • I have given you an answer below, but in all honesty the only use I can see for this exercise is to develop a codec. The amount of text data that the process of FFT transformation would generate would be huge and you would need to provide all of this data back to the FFT library again to get listenable audio out of it. Still not fully sure I understand what you are trying to achieve here.
    – Mark
    Jun 15 '19 at 11:27

You need to use something like libfft which can be found at http://www.fftw.org/. This will allow you to convert discrete sampled audio data to discrete sampled frequency data.

The Fourier Transform converts sequentially sampled time-domain data into sequentially sampled frequency-domain data, and then back again.

You will need to further investigate windowing and overlap-add functions as part of this process.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy