- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
华北水利水电大学
微信摇一摇搜歌技术原理分析
姓名: 刘 勇
学号: 201215708
1
摘要:给出一首歌利用 cool edit 等 多轨录音和音频处理软件得出语谱图, 然后利
用傅里叶变换得到语音波形图,从中找到多个“音乐指纹” p ,然后匹配哈希表
匹配已知的音乐指纹,如果相同即为同一首歌;而经过版本改进之后的 Local
Sensitive Hash 局部敏感哈希基于快速近邻搜索,抗噪性更强。
关键词:傅里叶变换;音乐指纹;哈希表;局部敏感哈希
1、提取音乐指纹
首先,一首 MP3 用 cool edit 之类的软件打开将是下图这样,以陈百强的《情
人》片段距离,以下波形图示 20 秒片段。
接下来对这个波形做短时傅里叶变换 (SFFT) ,可以得到下面这个类似乐谱的图,
叫做谱图 (spectrogram) ,纵坐标是频率,横坐标是时间。 亮的地方代表能量高。
每一首乐曲因为乐器、 音高不同, 所以它们谱图都不同。 哪怕是不同的人用同一
2
伴奏,甚至相同的人分开两次唱, 语谱图都是有细微差别的, 体现在亮的位置不
同上。
PS: 傅里叶变换是可逆的,也可以将语谱图转化为波形放出来听,这也是现代
频谱作曲流派的方法。
既然两首曲子亮的位置不同, 我们就可以根据亮点来区分两首歌一不一样。 如下
图找到谱图上若干个最亮的点,比如下图找到了点 1 ,点 2 ,点 3 。它们的音高
记作 y1,y2,y3, 点 1 和点 2 的横坐标距离记作 dx1, 点 2 和点 3 的横坐标距
离记作 dx2 。我们用向量 p =[y1,y2,y3,dx1,dx2] 作为这个片段的特征,我们
将 p 叫做音乐指纹 。如果两首歌的 p 相同,那么我们就认为这两首个一样啦!
否则就不一样。
2、音乐指纹匹配哈希表
3
事实上为了稳定和抗噪,我们可能会对一首歌提取更多的指纹 p ,比如 100 个
录音环境经常会有噪音, 如果匹配中了 50 个以上,我们就认为是同一首歌。而
那些不一样的歌,基本上匹配数不会超过个位数。
这就是基本原理了,是不是很简单!
当然另一个问题就是大数据量了, 酷狗的音乐库动辄上百万, 总不可能对用户录
制的片段一条一条去匹配吧?所以这里我用的不是逐条匹配,而是哈希表匹配。
总的说来就是把每个 p 映射成不同整数,比如 p =[24,8,46,13,29] 可以映射
成 。每个 p 对应着一首歌的某个位置,建库的时候把所有曲目的
指纹都插到这个巨大的哈希表中。如下所示。
那么加入我们想查找 对应的曲子,就可以一瞬间找到。就像查字
典一样,找到偏旁部首对应的页数一样。这样即使曲目再多也不怕了。
4
3、局部敏感哈希抗噪性更强
局部敏感哈希 LSH
在很多应用领域中,我们面对和需要处理的数据往往是海量并且具有很高的维
度,怎样快速地从海量的高维数据集合中找到与某个数据最相似 (距离最近)的
一个数据或多个数据成为了一个难点和问题。
文档评论(0)