如何使用零交叉获得声音频率

时间:2017-06-01 02:42:31

标签: python audio frequency pyaudio

我目前正在尝试获取从pyAudioStream.read()获得的音频数据的频率。我已经得到了块中零交叉的数量,但现在我想根据零交叉确定频率,我听说有可能但idk如何做到这一点我似乎无法在谷歌搜索中找到它,任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

假设变量num_crossings保存了块中的零​​交叉数。

因此,你有:

frequency = (num_crossings * sampling_rate / (2 * (len(chunk))))

对于频率检测,您也可以使用傅里叶变换(例如numpy.fft)。