我已经尝试了一段时间,但是我不知道我在这里应该做什么。
我正在将PCM音频数据读入一个audioData数组中:
recorder.read(audioData,0,bufferSize); //read the PCM audio data into the audioData array
我希望使用Piotr Wendykier的JTransform库对我的PCM数据执行FFT,以获取频率。
import edu.emory.mathcs.jtransforms.fft.DoubleFFT_1D;
目前我有这个:
DoubleFFT_1D fft = new DoubleFFT_1D(1024); // 1024 is size of array
for (int i = 0; i < 1023; i++) {
a[i]= audioData[i];
if (audioData[i] != 0)
Log.v(TAG, "audiodata=" + audioData[i] + " fft= " + a[i]);
}
fft.complexForward(a);
我不理解如何使用这个,能有人给我指点一下吗?之后我需要进行任何计算吗?
我确定我的想法偏离了正确方向,非常感谢任何帮助!
Ben