iOS应用中是否有类似Shazam的功能?

5

我想编写一个应用程序,允许用户将麦克风靠近扬声器并聆听几秒钟的歌曲来识别歌曲...就像Shazam一样。

在iOS中,是否有任何框架、库或服务可用于实现此功能?


2
是的和不是的。实际的识别并不是在设备上完成的,而是将声音数据发送到远程位置进行分析(这就是为什么Shazam只能在有互联网连接的情况下使用)。你可以在iOS上做到这一点。我不建议尝试在单个iOS设备上实现像那样的音频分析算法,也不建议自己去做,除非你是音频和/或数学专家。 - weltraumpirat
我同意,我确实认为正确的方法是依靠Web API来检测歌曲...只是不确定要使用哪个API。有没有一个可用的API? - zumzum
2个回答

3

您需要一个可以查询的API。这样一个API的例子是Gracenote。您还可以看看Musicbrainz


那么你是在说这两个选项都可以在iOS上完成我需要做的事情吗?还是仅仅是你认为可能行得通的某些服务? - zumzum
MusicBrainz允许你下载他们的音乐标签数据库以及用Python编写的开源标记器MusicBrainz Picard。Gracenote则不免费。像Tagalicious这样的应用程序用它来进行标记。这些都不是实际的iOS库,因此您需要进行一些工作来与这些服务进行通信。对于网络部分,您可以使用诸如AFNetworking之类的网络框架。 - Sbhklr

1

您可以查看由Echonest开发的Echoprint库这里。他们提供了一个C++库来计算音频指纹,可在iOS下使用。他们还提供了iOS示例!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接