fftw_free(in); fftw_free(out); return0; } 此代码使用了fftw3库进行 FFT 变换。首先,通过readWavFile函数从 WAV 文件中读取音频数据。然后,创建输入数组和输出数组,并为其分配内存。接下来,使用fftw_plan_dft_r2c_1d函数创建一个 FFT 变换计划。最后,执行变换并输出频谱结果。 请确保你已经正确安装了fftw3...
fftwf_plan plan=fftwf_plan_dft_r2c_1d(N,(float*)in,out,FFTW_ESTIMATE); // 进行频域分析 for(inti=0;i<N;++i){ in[i][0]=;// 将音频数据填充到输入数组的实部 in[i][1]=0.0;// 输入数组的虚部置零 } fftwf_execute(plan);// 执行离散傅里叶变换 // 处理频域结果 // 清理资源 fftw...
file.close(); // 配置FFTW计算参数 fftw_plan plan; intn=numSamples; double*in=newdouble[n]; fftw_complex*out=reinterpret_cast<fftw_complex*>(fftw_malloc(sizeof(fftw_complex)*(n/2+1))); plan=fftw_plan_dft_r2c_1d(n,in,out,FFTW_ESTIMATE); // 填充输入数组(将音频数据转换为double类型...