0
我目前正在嘗試獲取從pyAudioStream.read()獲得的音頻數據的頻率。我已經得到了大塊零交叉的數量,但現在我想根據零交叉來確定頻率,我聽說有可能,但是idk如何去做,我似乎無法在谷歌搜索中找到它, 有人可以幫我從這裏出去嗎?如何獲得使用零交叉聲音的頻率
我目前正在嘗試獲取從pyAudioStream.read()獲得的音頻數據的頻率。我已經得到了大塊零交叉的數量,但現在我想根據零交叉來確定頻率,我聽說有可能,但是idk如何去做,我似乎無法在谷歌搜索中找到它, 有人可以幫我從這裏出去嗎?如何獲得使用零交叉聲音的頻率
讓我們假設變量num_crossings
持有的在你的塊零個交叉數。
因此,你必須:
frequency = (num_crossings * sampling_rate/(2 * (len(chunk))))
對於頻率檢測,你也可以用傅里葉變換(與numpy.fft
例如)。
我建議你眼球您預計使用像無畏的工具,以確認這種方法將工作遇到一個典型的音頻文件...簡單的純音但是它完全可以在泥濘的現實世界中的音頻波形可以很好的零個交叉常即使主頻率顯示較低的交叉率......如果這是真的,您可能需要使用資源要求較高的FFT方法 –