首页> 中国专利> 基于音频指纹特征的音乐检索系统

基于音频指纹特征的音乐检索系统

摘要

本发明属于信息检索技术领域,具体为一种基于音频指纹特征的音乐检索系统。该系统由预处理模块、特征提取模块、倒排索引模块和精匹配模块四部分组成。预处理模块主要完成音频信号的转换、重采样、滤波;特征提取模块是对音频文件的表示,采用音频指纹特征,通过两次基于动态阈值的筛选来选取频谱中最为稳定的点作为特征点,用一个点对表示一个特征;倒排索引模块是将特征作为关键词,由歌曲库的特征建立倒排索引,根据相同关键词多少返回索引结果;精匹配模块是结合音频特征间的时序关系,采用改进的编辑距离作为两个特征序列的相似度,以此优化索引结果。本系统适用海量音乐检索,尤其能对录音查询片段进行有效检索。

著录项

  • 公开/公告号CN103440313A

    专利类型发明专利

  • 公开/公告日2013-12-11

    原文格式PDF

  • 申请/专利权人 复旦大学;

    申请/专利号CN201310378000.0

  • 发明设计人 俞鹏飞;杨夙;

    申请日2013-08-27

  • 分类号G06F17/30(20060101);

  • 代理机构31200 上海正旦专利代理有限公司;

  • 代理人陆飞;盛志范

  • 地址 200433 上海市杨浦区邯郸路220号

  • 入库时间 2024-02-19 21:18:53

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-10-16

    授权

    授权

  • 2016-02-24

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20130827

    实质审查的生效

  • 2013-12-11

    公开

    公开

说明书

技术领域

本发明属于信息检索技术领域,具体涉及音频信号处理和多媒体信息检索系统,进一步涉及一种基于音频指纹特征的音乐检索系统。

背景技术

早前,由于音乐信息是非结构化数据,其检索系统一般通过基于文本描述来实现检索。例如在互联网中检索一首歌曲,以歌曲的名字、歌唱者、作歌者、歌曲存取格式等来检索。该方法具有很多的缺点:数据量越来越大,从而人工注释工作量也随之加大;音频感知难以用文字注释表达清楚;信息描述具有一定的主观性。而基于内容的音乐检索系统是根据信息本身的特征参数而非外部属性对内容进行检索,其提取过程由程序自动完成。因此,其不存在对信息描述的主观性,能更好的表示音乐信息,从而使检索更加有效。

音频特征是音频信息的结构化表示,是基于内容的音频检索系统中较为关键的一步,音频特征的好坏直接影响系统性能。音频特征分为时域音频特征和变换域音频特征,时域音频特征较为容易提取,但抗噪能力较差;变换域特征提取过程较复杂,抗噪能力良好,使用较多。在变换域特征中,较为常见的是基于傅里叶和小波变换的特征。早期,Mel倒谱系数(MFCC)和线性预测倒谱系数(LPCC)特征较为经典,特别是MFCC,由于其特征是根据人的听觉模型生成的,应用较为广泛。随着音频指纹特征的出现,由于其特征鲁棒性较好,使得大量学者投入在这方面进行研究,发展较快。

目前,基于音频指纹特征的音乐检索系统以Shazam公司和Philips公司的音乐检索系统较为经典。Shazam公司的音乐检索系统是在频谱上选取局部极值点作为特征点,然后把相邻的两个特征点组成一个点对来表示一个特征;采用hash索引实现检索;查询时,使用直方图统计相同特征点的时间差,一般目标歌曲的时间差是统一的,将会集中出现在某处,从而检索到该歌曲。该系统查询方式并不适用海量音频检索,而且局部极值点非常多,导致特征数据非常多,很多特征抗噪能力差。在Philips公司的音乐检索系统中,特征是在频谱上计算各频段能量,根据相邻帧的能量大小,将各频段量化成 0 或 1,所有频段组成一个二进制序列,通过哈希(hash)函数,得到最终特征。采用哈希表实现检索,通过统计词频数来进行检索排序。在海量音乐数据下,hash冲突会非常多,也不适用,同时在特征性能上不如前一种指纹特征。

发明内容

本发明的目的在于提供一种基于音频指纹特征的音乐检索系统,该系统能够在海量音乐信息下进行快速准确的检索,且能够对录音查询片段进行有效检索。

本发明提供的基于音频指纹特征的音乐检索系统,包括预处理模块,特征提取模块,倒排索引模块和精匹配模块四个部分。其中:

所述的预处理模块,用于音频文件格式统一,音频重采样和音频滤波。

所述的特征提取模块,用于对音乐文件的结构化表示,采用基于动态阈值的音乐指纹特征。首先对歌曲序列进行分帧,帧之间有较高重叠率,对每帧进行快速傅里叶变换(FFT),处理完所有帧,得到频谱矩阵;接着,对频谱矩阵进行平滑处理;然后,在矩阵中选取极值点,并根据动态阈值对这些点进行两次筛选,取大于阈值的点作为特征点;最后,用一个点对来表示一个特征,并经哈希(Hash)函数变换,一个哈希值即为一个特征。对于每个特征点,在其后续频段的邻近区域内,选取最多P个最近邻的特征点与该特征点一一组成特征,所有特征按帧的先后顺序和特征点的筛选顺序组成一个特征序列。

所述的倒排索引模块,用于系统的初次检索,以一个特征作为一个关键词,以歌曲库的所有特征建立倒排索引表;当查询时,通过倒排索引表统计查询片段每个关键词在各歌曲中出现的次数,并将所有关键词在各个歌曲中出现的次数求和,然后对求和的结果进行排序,排序结果所对应的歌曲作为初次检索结果。为了防止查询片段较短或者较为偏僻,在倒排索引中并未加入权重,即各词项在各歌曲中权重是一样的。但这样可能降低目标歌曲与其他歌曲的区分度,对于较长的歌曲,需要对歌曲进行分段,以歌曲片段为单位加入倒排索引表中。

所述的精匹配模块,用于系统的二次检索,先根据倒排索引返回的结果选定候选歌曲,接着读取各候选歌曲的特征序列,并对特征序列按查询特征序列长度进行分段,对每首歌曲筛选出最为相似的Q个特征序列片段(与查询特征序列具有最多的相同特征个数),然后,对这Q个片段与查询特征序列进行改进的编辑距离计算(特征值只错一位认为是相同的),取最小的编辑距离作为该歌曲片段与查询片段的相似度,最后,根据相似度对候选歌曲进行排序,得到最终的检索排名,作为系统检索结果。如果某首歌在排名中出现多条记录,只保留第一条记录。

本发明的优点为:系统所用的特征鲁棒性好且数据量小;采用现阶段较为成熟的倒排索引技术作为系统初始检索,可适用于海量音乐检索;精匹配作为系统二次检索,能有效的找出目标歌曲且可以并行计算。

附图说明

图1为本发明系统结构示意图。

图2为本发明系统音乐指纹特征提取流程图。

图3为本发明系统特征表示示意图。

图4为本发明系统倒排索引结构示意图。

图5为本发明系统精匹配流程图。

具体实施方式

图1显示了系统结构,包括预处理模块,特征提取模块,倒排索引模块和精匹配模块四个部分。预处理模块主要完成音频信号的转换、重采样和滤波;特征提取模块是对音频文件的结构化表示,采用基于两次阈值筛选的音频指纹特征;倒排索引模块是根据歌曲库的特征建立倒排索引,当查询时,通过倒排索引统计各歌曲片段与查询片段相同关键词个数多少,并对个数和进行排序,作为初次检索结果;精匹配模块在初次检索的基础上,结合音频特征间的时序关系,采用改进的编辑距离作为两个特征序列的相似度,优化索引结果。对于数据库中每首歌,通过预处理和特征提取,将特征保存于特征库中,用于建倒排索引和精匹配;对于查询片段,做相同的预处理和特征提取,其特征用于查询和精匹配。

所述的特征提取模块,其特征提取过程如图2所示,采用基于两次阈值筛选的音频指纹特征。首先,对音频序列X={x1,x2, … ,xL}进行分帧,L为音频序列长度,帧之间有较高的重叠率,共分成M帧;接着,对每一帧进行N点快速傅里叶变换,即取N个频段点,处理完所有帧后,得到N*M维的频谱矩阵S,并对频谱矩阵S=[Si,j| i=1,2,…,N; j=1,2,…,M]进行平滑处理,平滑计算公式如下:

 (1)

其中abs( )为取模运算,M由音频长度决定,N可取129(傅里叶变换取256个点,由于对称性,取一半),然后,在S中选取极大值点,即 Si,j> Si,j-1且 Si,j> Si,j+1,作为特征点,并根据阈值对特征点进行两次筛选;用N维向量thresh表示频谱中各频段的阈值,在S矩阵中,取前R帧各频段的最大值来初始化对应频段的阈值,一般R取10;初次筛选:顺序扫描所有特征点,若该点值大于对应维度的阈值,则保留该特征点,否则删除该特征点,同时按以下公式更新阈值向量thresh: 

 (2)

第二次筛选:从最后一个特征点开始,逆序扫描所有特征点,按相同规则筛选特征点和更新阈值; 最后,用一个点对来表示一个特征,对于每一个特征点,用它与其邻近区域的每个特征点组成一个特征;当邻近区域内特征点较多时,选取与它最相邻的P个点与该特征点一一组成特征。一般,P取3~5的整数,P越大,包含信息越多,但特征数量明显增多。用这些点对的时间,频率来表示特征,并进行了哈希(Hash)函数计算,具体见图3。按第一次筛选顺序逐个表示这些特征点,处理完所有帧得到一维特征序列。

图3显示了特征的表示,点A(t, f)为要表示的特征点,矩形为它的邻近区域[t+1: t+T, f-F/2: f+F/2],区域中最相邻的P个特征点与点A组成P个特征,在程序中,P取3,T取32,F取64,如图中三个箭头。由于使用一个查询片段来进行检索,我们用第一个点的频率F1,第二点与第一个点的频率差ΔF及它们的时间差Δt来表示一个特征。为了便于后续检索,我们对特征进行了哈希函数运算,公式如下。

    (3) 

其中,<<为向左移位运算,用fbits位表示频率差ΔF,tbits位表示时间差Δt,Feature为特征值。当fbits或者tbits较小时,还需要进行取模运算,在程序中,tbits取6,fbits取8。一个哈希值便是一个音乐指纹特征,一般用2-3个字节来表示。 

所述的倒排索引模块由两部分组成,如图4所示,左边部分叫做字典,即由词项组成,是一系列字符串的集合,字典在索引中通常是以字典序列存储,系统中,所有哈希值相同的特征组成一个词项;右边部分是包含某个字符串的文档编号的集合,称之为“倒排链表”,每一个词项都对应一个属于自己的“倒排链表”,该表记录了包含该词项的歌曲编号或者歌曲片段编号。当查询时,通过倒排索引表统计各歌曲片段与查询片段相同关键词个数多少,然后计算个数和(对于查询片段中出现的重复关键词进行累加计算),并按个数和进行排序,作为倒排索引的结果。考虑到查询片段的特征很可能是目标歌曲的偏僻特征,在链表中并未加入权重,也就是各词项在各歌曲中具有相同的权重。然而这样大大降低了目标歌曲与其他歌曲的区分度,通常需要对长歌曲进行分段,以歌曲片段为单位建立索引,能有效的提高它们之间的区分度。

所述的精匹配模块,采用多个步骤实现精匹配,其过程如图5所示,首先,根据初次检索返回结果,寻找一“拐点”,假定倒排索引表返回的第i首歌曲中具有的相同特征个数之和为numi,如果存在一点K,使得:

        (4)

则认为该点为“拐点”,目标歌曲就在这前K个候选歌曲片段中;接着,读取前K个候选歌曲片段的特征序列,对这些序列进行分段,找出最为相似的Q个片段,它们与查询序列具有最多的相同特征个数,一般,Q取3~6,Q越小,计算改进的编辑距离次数越少,速度越快,但有可能无法包含目标片段,对于一般查询片段,Q取3;然后,将这Q个片段与查询特征序列进行改进的编辑距离计算,把最小距离的片段作为与查询序列最相似的片段,并取最小距离作为与该候选歌曲片段的相似度。设查询特征序列A={A[1], A[2], … , A[m]},比较的特征序列 B={B[1], B[2], ... , B[n]},长度分别为m和n,距离矩阵d={d[i, j]=0 |i=1,2,…,m; j=1,2,…,n}, d[i, j]为子序列A[1…i]和B[1…j]的距离,改进的编辑距离算法步骤如下:

(1)初始化距离矩阵d,读入特征序列A和B;

(2)循环遍历特征序列A,逐次取数A[i],依次执行操作步骤(3)、(4)、(5);

(3)循环遍历特征序列B,逐次取数B[j] ,依次执行操作步骤(4)、(5);

(4)计算代价cost,如果数A[i]与数B[j]相等或只有1位(bit)不同,cost为0,否则为1,如公式:

     (5)

其中,^为位异或运算,&为位与运算;

(5)调整距离矩阵,计算出当前最小距离d[i,j],公式如下:

 (6)

(6) d[m, n]即为改进的编辑距离。

最后,我们根据相似度进行排序,得最终的检索排名,如果某首歌在排名中出现多条记录(较长歌曲建立倒排索引时分段),只保留第一条记录。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号