I'm having trouble understanding the concept of using FFT to calculate frequency changes. I've been scavenging through a ton of articles on this concept but it's still confusing me. I found a Stack Overflow article about the steps to take to calculate the frequency, but I'm still a little bit confused on exactly what to do in Java.
Asked
Active
Viewed 136 times
-1
-
It seems to me that you don't need to understand "the concept of using fft". You just need to find a ready-made FFT function and call it). The result will be a frequency response: [screenshot of FFT result in audio editor](https://yadi.sk/i/C-iNbFiXnncvm) – Vladimir Bershov Jan 26 '16 at 20:18
-
1Try searching for this question over at dsp.stackexchange.com – hotpaw2 Jan 26 '16 at 21:18
1 Answers
2
Sounds like you need to start way back with some general concepts. An FFT is just a fast DFT. A DFT uses Fourier decomposition on a set of sampled data. So first you need to understand what a waveform is, what a sinusoid is, what a frequency is (and is not the same as a musical pitch), and how Fourier's theorem works to relate the two. Then how to compute a DFT on a window of a sampled waveform, and how to interpret the complex result vector. Then how to do it fast in Java.

hotpaw2
- 70,107
- 14
- 90
- 153