如何在加载的样本上使用 FFTW?

Posted

技术标签:

【中文标题】如何在加载的样本上使用 FFTW?【英文标题】:How to use FFTW on loaded samples? 【发布时间】:2012-05-28 14:15:17 【问题描述】:

我的最终目标是从单声道文件中提取低于 15KHz 的所有声音信息。该程序将样本加载到内存中,并将其表示为 16 位有符号整数数组。

我用的是FFTW,它有复多维fft、实多维fft、实一维fft、复一维fft等多种功能。

我应该使用什么方法?

谢谢。

【问题讨论】:

【参考方案1】:

您需要先转换为浮点/双精度数组,然后可能使用 1D 实数到复数模式(请参阅 http://www.fftw.org/fftw3_doc/One_002dDimensional-DFTs-of-Real-Data.html)。

【讨论】:

Windows 信息有损,因此不允许“提取所有声音信息”,只有特定子集被“改进”。【参考方案2】:

如何使用 FFT 取决于您想要什么信息。仅在音频上使用 1D 真实 FFT,就有时间频率分辨率权衡、每个 bin 滤波器响应权衡以及您需要首先回答的其他问题。您还需要知道数据的采样率。

【讨论】:

以上是关于如何在加载的样本上使用 FFTW?的主要内容,如果未能解决你的问题,请参考以下文章

16 位音频的 fftw :: 峰值在 2f 处出现错误

如何在 Xcode 中链接 fftw3? (苹果电脑)

如何在 MATLAB MEX 文件中使用 FFTW lib 文件?

如何正确 FFT 声音阵列?

在 C/C++ 中使用 JACK 和 fftw 的音频频谱

Linux下安装fftw函数库后在QtCreator中如何使用