如何使用过零获取声音频率
How to get frequency of sound using Zero crossing
我目前正在尝试获取从 pyAudioStream.read() 获得的音频数据的频率。我已经得到了块中零交叉的数量,但现在我想根据零交叉确定频率,我听说这是可能的,但我不知道该怎么做,我似乎无法在 google 搜索,有人可以帮我吗?
假设变量 num_crossings
保存块中的过零数。
因此,您有:
frequency = (num_crossings * sampling_rate / (2 * (len(chunk))))
对于频率检测,您也可以使用傅立叶变换(例如numpy.fft
)。
我目前正在尝试获取从 pyAudioStream.read() 获得的音频数据的频率。我已经得到了块中零交叉的数量,但现在我想根据零交叉确定频率,我听说这是可能的,但我不知道该怎么做,我似乎无法在 google 搜索,有人可以帮我吗?
假设变量 num_crossings
保存块中的过零数。
因此,您有:
frequency = (num_crossings * sampling_rate / (2 * (len(chunk))))
对于频率检测,您也可以使用傅立叶变换(例如numpy.fft
)。