流行应用Shazam是如何工作的?

3

出于好奇,因为我一直想知道这个。Shazam应用程序是如何工作的?我知道如何使用它,我是在编程方面说话。该应用程序如何聆听歌曲的任何部分,然后给出结果?显然,它从数据库中接收其歌曲信息,但没有人可能在数据库中输入所有已知的歌曲。此外,Shazam如何不断更新?新歌曲不断发布,但好像Shazam已经将未来的歌曲编程到其中了。这对我来说只是令人费解的,我想知道所有这些究竟是如何工作的。我知道这不是一个帮助问题,但请问有人能澄清一下吗?谢谢!


1
你看过 https://dev59.com/jWkw5IYBdhLWcg3wlroa 这样的网站吗? - diciu
我现在有点明白了。 - Big Box Developer
2个回答

3
Shazam仅从傅里叶变换开始(这并不奇怪,因为几乎所有音频处理都是这样工作的)。如果您愿意,可以阅读Avery Wang的原始论文。他是Shazam算法的发明人。我认为最好将其解释为最近邻技术,这就是为什么我们在“数据挖掘技术,第3版”的第9章中将其作为示例包含在内的原因。您可能会对我们在那里说的内容感兴趣(http://www.amazon.com/Data-Mining-Techniques-Relationship-Management/dp/0470650931/ref=pd_sim_b_5)。

0

他们在diciu发布的链接中没有说太多。
该算法基于傅里叶波,允许将数学函数表示为谐波函数的线性和。这种转换允许在时间和频率之间进行映射,这正是您需要创建语音识别所需的。

我很难相信Shazaam拥有傅里叶变换的专利。但是,如果您尝试构建“第二个Shazaam”,您可能会失败,因为他们已经占据了整个市场...


谢谢,这解释得很清楚。但是他们如何检测到新歌曲呢?我只是好奇,并不是真的在制作应用程序。 - Big Box Developer
1
他们无法“检测”未被采样并输入到他们数据库中的歌曲。不客气 ;) - Nir Alfasi

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