Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 声音指纹的原理是什么?_Android_Ios_Pattern Matching_Acoustics - Fatal编程技术网

Android 声音指纹的原理是什么?

Android 声音指纹的原理是什么?,android,ios,pattern-matching,acoustics,Android,Ios,Pattern Matching,Acoustics,什么样的API或框架用于为音符赋值?比如,像Shazzam这样的应用程序如何从麦克风接收一个音符,并知道如何处理它? 对我来说,一个手机麦克风和一些漂亮的逻辑可以与音乐商店的调谐器竞争真是太神奇了 编辑1 这方面的有趣论文。 音乐识别应用软件Shazzam 依靠 和a的原则 下面是一个例子,一些类似的代码在简短而简单的解释中 第一步。利用小波变换分析所有歌曲文件的原始频率 第二步。根据FFT分析的结果,建立合适的树型数据结构,以便按频率搜索歌曲 第三步。使用麦克风从外部环境录制歌曲。并对其进行了

什么样的API或框架用于为音符赋值?比如,像Shazzam这样的应用程序如何从麦克风接收一个音符,并知道如何处理它? 对我来说,一个手机麦克风和一些漂亮的逻辑可以与音乐商店的调谐器竞争真是太神奇了

编辑1

这方面的有趣论文。 音乐识别应用软件Shazzam 依靠 和a的原则


下面是一个例子,一些类似的代码在

简短而简单的解释中

第一步。利用小波变换分析所有歌曲文件的原始频率

第二步。根据FFT分析的结果,建立合适的树型数据结构,以便按频率搜索歌曲


第三步。使用麦克风从外部环境录制歌曲。并对其进行了FFT分析。从上一个频率树中搜索匹配的频率

声音指纹算法不会试图分析音乐。也就是说,它们不会将麦克风中的音频转换为音符。他们正在从音频中提取一些任意的特征,从音乐理论的角度来看,这些特征没有多大意义,但它们仍然对识别音乐有用

通常,你从光谱图开始。频谱图是对频率随时间变化的分析。这在几乎所有的声音指纹算法中都很常见。他们对光谱图做了什么,从中提取了什么样的特征。一些算法正在寻找光谱图中的峰值,一些算法将其分割成规则的间隔。最终目标通常是生成一组哈希,您可以对其进行索引并快速搜索

Avery Li Chun Wang的原始Shazam算法是公开的。你可以找到细节