如何知道麦克风的音频频率

时间:2017-08-27 18:50:25

标签: python audio frequency

我正在尝试用python创建一个应用程序,它显示麦克风输入音频当前主导频率的确切值。就像这张照片从吉他调音器应用程序中所示

enter image description here

我刚用红色标记了我需要知道如何编程的部分。 我需要在PC上运行它,以便如何访问麦克风端口以及如何知道频率。

2 个答案:

答案 0 :(得分:1)

我不会提供代码,因为您没有在最后显示任何内容。 但这里有高级步骤和提示去做。

1)使用`pyaudio blocking wire stream以块的形式从麦克风中读取输入。

2)对于每个块,应用fft并获取所有块的频率并添加到阵列/列表。
有一些有用的讨论herehere 因此,如果您有以下参数(1)

RATE = 44100
chunk = 1024
RECORD_SECONDS = 1

您将拥有44个分档,每个分档在FFT转换后提供一个频率。

3)您可以选择从(2)每秒获得的最大频率max(frequency_list),以及您希望记录多少秒。

4)写下chunks back to stream

5)您现在拥有每秒频率,直到您可以实时录制的持续时间。

答案 1 :(得分:0)

找到一种从麦克风端口录制音频的方法,然后运行傅立叶变换来查看频谱。找到能量最多的频率并在仪表上绘制出来。