[发明专利]一种基于音乐指纹特征的音乐检索方法及系统有效
申请号: | 201410095561.4 | 申请日: | 2014-03-14 |
公开(公告)号: | CN103853836B | 公开(公告)日: | 2017-01-25 |
发明(设计)人: | 孔秋强 | 申请(专利权)人: | 广州酷狗计算机科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 广州粤高专利商标代理有限公司44102 | 代理人: | 张月光 |
地址: | 510665 广东省广州市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 音乐 指纹 特征 检索 方法 系统 | ||
技术领域
本发明涉及音频信号处理和多媒体信息检索系统技术领域,更具体地,涉及一种基于音乐指纹特征的音乐检索方法及系统。
背景技术
随着互联网时代的到来,大数据越来越成为了一个热门的课题。在音乐检索领域,面对百万级的音乐数据,如何实现快速检索成为了一个十分具有价值的问题。现实应用中,录音环境可能非常嘈杂,如何选取抗噪的、鲁棒性高的指纹成了一个难题。
目前市场上现有的音乐指纹算法包括Philips公司的音乐检索算法,参见Haitsma J,Kalker T.A Highly Robust Audio Fingerprinting System[C]ISMIR.2002。其方法是获得音乐的频谱图,为每一帧提取一个特征。频谱图切分成了若干频带,取频带间能量的差值的符号作为特征。Philips算法的缺点包括:1.在静音部分特征提取的准确率较低。2.由于手机等录音设备高低频区域内信道失真严重,导致准确率较低。3.音乐信号实际上是稀疏的,Philips算法为每一帧提取特征,造成了指纹特征的冗余,使得检索变慢。
Shazam算法是市场上另一种算法,参见Wang A.An Industrial Strength Audio Search Algorithm[C]//ISMIR.2003:7-13。其基本原理是获得音乐的频谱图,在频谱图某个区域内选中一个锚点,在此锚点附近的区域内再选择若干个重要点,以这些锚点和这重要点的点对的组合作为特征。Shazam的指纹特征冗余度较Philips算法低,但是有以下缺点:1.当曲库达到百万级时,由于点对组成的桶的空间上限限制,使得搜索速度变慢。2.当录音源抖动或录音信道不稳定时,锚点及重要点发生漂移,导致识别准确率下降。3.存在最少录音时间限制,如至少录音3秒才能识别。
发明内容
本发明为克服上述现有技术所述的至少一种缺陷(不足),提供一种快速检索百万级音乐库的音乐检索方法,是基于音乐指纹特征的音乐检索方法。
本发明的又一目的是提出一种基于音乐指纹特征的音乐检索系统。
本发明的具体技术方案为:
一种基于音乐指纹特征的音乐检索方法,包括:
构建音乐指纹索引,输入音频信号并进行预处理获取音频频谱图,在频谱图内选取第一锚点、第二锚块和第三锚块进行组合,得到指纹并将其插入到哈希表内,记录该指纹出现的歌曲ID和在歌曲内的位置;
音乐检索,提取待检索音乐片段的指纹序列,通过查找哈希表得到各指纹对应的歌曲ID和歌曲位置链表,构建歌曲ID与指纹对应的匹配表,将匹配表内重复最多的歌曲内位置作为命中数,将命中数最多的歌曲作为检索结果;
所述第一锚点的获取方式为:将频谱图切分为M×N块,其中M是指将频谱图纵向频域均匀划分为M个频带,每个频带为a个点;N是指将频谱图横向时域以步长b为单位切割为N个部分;
在每块中选取一个幅值最大的点最为第一锚点,并将第一锚点附近R*R的区域内的点赋值为0;
所述第二锚块的获取方式为:以第一锚点为起点,在时移b帧后的矩形区域内搜索第二锚块;将该矩形区域划分为X个3*3小块,在每个3*3小块内选择最大的幅值作为该3*3小块的小块代表值,在该矩形区域内选择小块代表值最大的3*3小块的作为第二锚块,并以第二锚块为中心将R*R的区域内的点赋值为0;
所述第三锚块的获取方式为:以第一锚点为起点,在时移b帧后的矩形区域内搜索第三锚块;将该矩形区域划分为Y个小矩形区域,每个小矩形区域划分为y个2*2小块;在每个2*2小块内选择最大的幅值作为该2*2小块的小块代表值,在小矩形区域内选取出幅值最大的2*2小块,在大矩形内选择Z个2*2小块。
采用该方法能在音乐库达到百万级时实现快速检索,在频谱图中采用2*2小块代替1*1点,从而克服了录音源抖动及信道不稳定的问题。采用一个锚点和两个锚块作为集合,扩大了桶的取值空间,使得检索倒排表的链长缩短,可以实现在百万级的数据量下大幅加快检索速度;在选择特征点及特征块时,考虑到了信道的局部平稳性,抗噪性更强,识别率更高。不存在最少录音时间的限制。使得用户体验更好。当音乐数据库巨大时,由于指纹信息是紧致的,冗余度低,因此更节省内存。
上述第一锚点选出后,在其附近R*R的区域内的点赋值为0是基于以下原因:若不设禁忌,可能会出现相邻的两个锚点。实验显示,此情况下错误的hit数可能会翻倍,如hit从4变到8。产生上述情况的原因是锚点相关性大。选点尽量要去相关,让点独立(即熵大),这样才能减少碰撞,且获得较好的桶。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州酷狗计算机科技有限公司,未经广州酷狗计算机科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410095561.4/2.html,转载请声明来源钻瓜专利网。