如何以编程方式比较2个音频文件?

isc*_*ers 32 iphone audio-processing ipad

我想以编程方式比较2个音频文件.例如:我的iPhone应用程序中有一个声音文件,然后我录制了另一个.我想检查现有声音是否与录制的声音匹配( - 类似于语音识别).

我怎么能做到这一点?

Mig*_*elB 24

这就是所谓的音频指纹识别.存在一些开源项目,您可以从中获得一些想法.看看这里:音频指纹 - MusicBrainz.

  • 好吧,如果您正在寻找现成的,复制粘贴的Objective-c代码或库来放置在您的iOS项目中,您现在可以停止 - 您不会找到类似的东西(至少在某种程度上)我的知识).你必须自己编写代码. (14认同)

Tae*_*hin 13

让服务器进行音频指纹计算,无论如何都不适合移动设备.然后您的移动应用程序将您的文件上传到服务器并获取分析结果以供显示.所以我认为实现它的编程语言并不重要.以下是一些AF实现.

Java:http://www.redcode.nl/blog/2010/06/creating-shazam-in-java/

VC++:http://code.google.com/p/musicip-libofa/

c#:http://www.codeproject.com/KB/WPF/duplicates.aspx


Meh*_*di. 5

我知道这个问题很久以前就有人问过了,但明确的答案可以帮助其他人。

  1. Echoprint(网站:echoprint.me/start)的将帮助您解决以下问题:

    • 去重一个大集合
    • 识别(曲目、艺术家...)硬盘或服务器上的歌曲
    • 使用您的数据运行 Echoprint 服务器
    • 在 iOS 设备上识别歌曲

    PS:更多面向音乐的功能,你可以在这里查看API列表。

  2. 如果你想自己实现指纹识别,你应该阅读这里列为参考的文档,并且可能在谷歌代码上查看一下musicip-libofa

希望这会有所帮助;)