我正在使用 SDK for iOS 5.0和XCode 4.2 开发 iOS 应用程序。
我想开发一种识别声音的应用程序。我看到有一个名为 Sound Hound 的应用程序可以识别音乐并告诉艺术家和标题。
我该怎样做类似的事情?我想将声音与现有声音数据库进行比较。 我怎么能这样做?
也许我可以使用傅里叶变换。我不知道如何处理声音。或者它可能类似于语音识别,不是吗?
答案 0 :(得分:21)
我遇到了一篇解释音频搜索算法如何工作的论文。这是link。它是由Shazam的一个开发人员编写的,是SoundHound的竞争对手。
答案 1 :(得分:7)
好links包括: http://www.soyoucode.com/2011/how-does-shazam-recognize-song和前面提到的http://www.ee.columbia.edu/~dpwe/papers/Wang03-shazam.pdf Sub_stantial论文
答案 2 :(得分:1)
Shazam应用程序是链接打开数据中应用程序的最佳示例之一,它从最终用户获取短样本音乐,并从数据集中识别歌曲以及购买相册的链接。
用户将歌曲标记10秒钟,应用程序根据简化频谱图的一些锚点和它们之间的目标区域创建音频指纹。
对于目标区域的每个点,它们创建一个哈希值,该哈希值是锚点所在频率,目标区域中的点所在的频率以及目标区域之间的时间差的组合。指向目标区域以及锚点位于歌曲中时。
创建音频指纹后,Shazam开始搜索数据库中的匹配项。如果匹配,则将信息返回给用户;否则它会返回“未知歌曲”对话。