【文件属性】:
文件名称:FFT 的 C++ 封装,无依赖项,注释清晰,简单易用,包含FFT逆变换
文件大小:2KB
文件格式:ZIP
更新时间:2023-06-15 11:28:31
FFT C++
获取一段音频的频谱
#define SAMPLE_RATE 8000
#define SAMPLE_SIZE 256
signed short audioData[SAMPLE_SIZE];
// read audioData
complex data[SAMPLE_SIZE];
for (int i = 0; i < SAMPLE_SIZE; i++) data[i] = (float)*((signed short*)audioData+ i);
CFFT::Forward(data, SAMPLE_SIZE);
const float value_scale = 1.0f / 32768.0f;
for (int i = 1; i < SAMPLE_SIZE / 2; i++) {
float freq = i * SAMPLE_RATE / float(SAMPLE_SIZE / 2);
float amp = std::abs(data[i]) * value_scale / float(SAMPLE_SIZE / 2);
cout << "freq = " << freq << " amp = " << amp <
【文件预览】:
CFFT.h
CFFT.cpp