如何对麦克风的输入进行傅里叶变换并获得某个频率范围的平均幅度

信息处理 傅里叶变换 频谱 声音 可视化
2022-02-25 05:36:35

我正在构建一个带有由 python 控制的 LED 灯条的声音可视化器,并且我正在尝试学习如何使用pyAudio对实时麦克风输入执行快速傅立叶变换并获得特定频率范围的平均幅度。

如何打开声音流并amplitude使用实时 FFT 数据持续更新给定频率范围的当前幅度(例如,一个名为“”的变量)?到目前为止,我已经设置了所有硬件并且所有基本pyAudio功能都可以正常工作。

1个回答

如果您知道您感兴趣的频率,您最好只计算这些频率的功率/能量,而不是使用完整的 FFT。

做到这一点的最佳算法可能是Goertzel 算法这里有一个 python 实现,这里有一个相关的 SP.SE问题