FFT 的 C++ 封装,无依赖项,注释清晰,简单易用,包含FFT逆变换

时间:2023-06-15 11:28:31
【文件属性】:
文件名称: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

网友评论