gpt4 book ai didi

python - 检查特定的声音(输入:麦克风)

转载 作者:行者123 更新时间:2023-12-02 22:30:47 33 4
gpt4 key购买 nike

我的问题:我目前有一个声音文件,其中包含我录制的特定声音。我希望能够识别该声音何时再次播放超过2秒钟。音量对我来说并不重要,我希望能够识别出何时播放该特定音符。例如,该文件保存了音符A(la)的录音,如果我在麦克风旁边的钢琴上弹奏音符A,则树莓派会打印“正确”或其他内容。我在识别音符时遇到了麻烦,以前的研究建议使用FFT函数查找频率,但我一直无法弄清楚。您是否建议我使用任何库来实现此目的?

理想情况下,我将能够识别外部声音的音调。一旦有了音调,我就可以在一系列频率之间进行检查。

最佳答案

您确实确实想使用numpyscipy都提供的类似FFT的功能。这样的想法是,您收集麦克风输入的缓冲区,对其应用FFT,然后尝试查找最强大的频率是否是您要查找的音符的频率。存在tables可以告诉您每个音符的频率。

您实际上是在制作spectrogram

如果要执行操作顺序:

  • 建筑频率标度:
  • 使用np.fft.fftfreq确定频率刻度(N相同
    长度作为缓冲区)
  • 建立注释表
  • 建立什么频率属于什么音符(使用引用)
  • 确定误差范围
  • 标识注释(此部分处于循环中)
  • 在选择大小的缓冲区
  • 中收集信号
  • 应用FFT
  • 在频域中找到最大值
  • 在查询表
  • 的错误范围内寻找对应的音符

    有用的功能:

    Numpy FFT

    Numpy FFTFREQ

    Numpy ARGMAX

    其他有用的问题:

    Maintain a streaming microphone input in Python

    关于python - 检查特定的声音(输入:麦克风),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60062073/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com