什么样的API或框架被用来分配一个音符的一个值?比如,像Shazzam这样的应用程序如何从麦克风中获取信息,并知道该如何处理它?对我来说,这是惊人的电话,麦克风和一些巧妙的逻辑可以竞争调谐器从一个音乐商店!
编辑1。
关于这个主题的有趣的论文。音乐识别应用软件Shazzam基于声指纹和快速傅里叶变换的原理
下面是实践中的一些类似代码的示例
发布于 2016-07-21 09:03:15
声学指纹算法不尝试分析音乐。也就是说,他们不把声音从麦克风转换成音符。他们正在从音频中提取一些任意的特征,从音乐理论的角度来看,这些特征没有多大意义,但它们仍然对识别音乐很有用。
通常情况下,你会从一个谱图开始。谱图是对频率随时间变化的分析。这在几乎所有的声学指纹算法中都很常见。不同的是,他们如何处理光谱图,以及他们从其中提取了什么样的特征。有些算法正在寻找谱图中的峰值,有些算法则将其分成规则的间隔。最终目标通常是生成一堆哈希,您可以索引和快速搜索。
Avery Li-Chun Wang的原始Shazam算法是公开的.你可以找到细节这里。
发布于 2016-07-21 08:14:51
简短而简单的解释。
步骤1.使用FFT分析所有歌曲文件的原始频率
第二步,利用已有的FFT分析结果,建立合适的树型数据结构,从而可以按频率搜索歌曲。
步骤3.使用麦克风从外部环境录制歌曲。并对其进行了FFT分析。从以前的频率树中搜索匹配频率。
https://stackoverflow.com/questions/38497597
复制相似问题