使用什么类型的 API 或框架来为音乐音符分配值?就像 Shazzam 这样的应用程序如何从麦克风接收笔记并知道如何处理它? 对我来说,手机麦克风真是太棒了,一些漂亮的逻辑可以与音乐商店的调音器竞争!
编辑1。
关于该主题的有趣论文。 Shazzam 音乐识别应用程序的软件 取决于 Acoustic fingerprinting的原理和一个Fast Fourier Transform
下面是 practice 中一些类似代码的示例
最佳答案
声学指纹识别算法不会尝试分析音乐。也就是说,它们不会将麦克风中的音频转换为音符。他们从音频中提取一些任意特征,从音乐理论的角度来看这些特征没有多大意义,但它们对于识别音乐仍然很有用。
通常,您从频谱图开始。频谱图是对频率随时间变化的分析。这对于几乎所有声学指纹识别算法来说都很常见。不同之处在于它们对频谱图的处理方式以及从中提取的特征类型。一些算法正在寻找频谱图中的峰值,一些算法将其分成规则的间隔。最终目标通常是生成一堆可以索引并快速搜索的哈希值。
Avery Li-Chun Wang 的原始 Shazam 算法已公开。详情可查看here .
关于android - 声学指纹识别背后的原理是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38497597/