首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查特定声音(输入:麦克风)

检查特定声音(输入:麦克风)
EN

Stack Overflow用户
提问于 2020-02-04 16:53:32
回答 1查看 145关注 0票数 2

My problem:我目前有一个声音文件,其中包含我录制的特定声音。我想要能够识别,当那个声音再次播放超过2秒。这卷书对我来说并不重要,我想知道什么时候播放那个特定的音符。例如,文件保存了音符A (la)的记录,如果我在麦克风旁边的钢琴上弹A音符,raspberry pi会打印“正确”或其他什么。我很难辨认这张便条,以前的研究建议用FFT函数来找出频率,但我一直无法弄清楚。您推荐我应该使用哪些库来实现这一点吗?

理想情况下,我可以识别外部声音的音高。一旦我有了音高,我将能够检查它之间的频率范围。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-05 13:06:23

您确实希望使用类似numpyscipy提供的快速傅立叶变换。你的想法是收集一个麦克风输入的缓冲器,在上面应用FFT,然后你会试图找出最强大的频率是否是你想要的音符的频率。有一个表格可以告诉你每一个音符的频率。

你实际上是在做一个谱图

如果您想要一个操作顺序:

  1. 建筑频率标度:
    1. 使用np.fft.fftfreq确定频率刻度(N与缓冲区长度相同)

  1. 构建备注表
    1. 确定什么频率属于什么音符(使用参考)
    2. 确定误差范围

  1. 标识注释(此部分处于循环中)
代码语言:javascript
复制
1. Collect signal in a buffer of select size
2. Apply FFT
3. Find highest value in frequency domain
4. Look for corresponding note within a range of error in lookup table

有用的职能:

Numpy FFT

Numpy FFTFREQ

Numpy ARGMAX

其他有用的问题:

维护Python中的流麦克风输入

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60062073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档