Jump to content
  • Advertisement
Sign in to follow this  

"Extracting" sound between a certain frequency-range / How to interpret FFT Output

This topic is 1134 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hey guys!


For my newest project I need to be able to identify different frequencies in a specific sound-source (Either the direct input, or some sound file like mp3 or something). I don't know a single thing about sound processing and signal processing and all that stuff, but I hope that I will be able to explain myself.

Here's what I'd like to achieve:

  • From a "complete" sound-source such as a mp3-file, I need to be able to analyze it's frequencies in order to understand in which frequency-range a specific sound I recorded lies.
  • From some direct-input OR a complete sound-source such as a mp3-file, I need to be able to:
  • - Extract sound of a frequency between my previously analyzed frequency-range in order to verify my previous analysis.
  • - Detect sound of a frequency between my previously analyzes frequency-range from some continuous input, and somehow do something when it got detected.


As I said, I don't know anything about signal processing, but I heard that a Fast Fourier Transform outputs data that can be interpreted to somehow separate the different frequencies in a sound-file. With Mathematica I tried to apply this algorithm to one of my files, and got a result - But I am not able to interpret it.


I know that the output should always be symmetric if real input was given, and that, in my case, the frequencies go from 0Hz to 22k-and-something Hz, but else I don't know anything. I think that I am pretty confused by the fact that there isnt any "time-basis": So I don't know how to know what frequency was present at which point of the sound. Ultimately, I'd like to represent the frequency(ies) in a specific range by some sinusoid-like-curve (I know that the frequency that I should get has a peculiar motive, but I dont know how to get it. The sound is the one of insects by the way.)



Help would be greatly appreciated.


Kind regards


Share this post

Link to post
Share on other sites
You are right that the time information is lost when you do the FFT. If you want to know when a particular frequency was active, I can think of two methods:
(1) Divide the signal into time windows (it's OK if they overlap) and compute the FFT of each window. See here.
(2) Use the continuous wavelet transform or some other time-frequency representation of the signal.

Although (2) is probably a better mathematical tool, you said you know nothing about signal processing, so I suggest you stick to (1).

EDIT: You should probably also take a look at the Wikipedia page on spectrograms. Edited by Álvaro

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!