CN111737513B - 一种针对海量音乐数据的哼唱检索系统 - Google Patents
一种针对海量音乐数据的哼唱检索系统 Download PDFInfo
- Publication number
- CN111737513B CN111737513B CN202010370933.5A CN202010370933A CN111737513B CN 111737513 B CN111737513 B CN 111737513B CN 202010370933 A CN202010370933 A CN 202010370933A CN 111737513 B CN111737513 B CN 111737513B
- Authority
- CN
- China
- Prior art keywords
- pitch
- template
- query
- curve
- pitch curve
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 239000013598 vector Substances 0.000 claims abstract description 135
- 238000000605 extraction Methods 0.000 claims abstract description 38
- 238000001514 detection method Methods 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 10
- 238000012549 training Methods 0.000 claims description 9
- 230000011218 segmentation Effects 0.000 claims description 7
- 230000006835 compression Effects 0.000 claims description 3
- 238000007906 compression Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000037433 frameshift Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/63—Querying
- G06F16/632—Query formulation
- G06F16/634—Query by example, e.g. query by humming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/65—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/68—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/683—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种针对海量音乐数据的哼唱检索系统,包括模板特征提取模块,用于提取数据库模板文件中的旋律特征;哼唱特征提取模块,用于提取哼唱文件的旋律特征;检索模块,用于检索模板音高向量;有效对齐位置检测模块,用于获取有效对齐位置;匹配模块,用于对查询音高曲线和模板音高曲线进行匹配,获得候选歌曲列表。本发明一方面在模板特征提取模块和哼唱特征提取模块中通过检测特征点,极大降低音高向量的个数;一方面在有效对齐位置检测模块,利用一种有效对齐位置检测方法,极大程度降低匹配的次数,提高检索速度;另一方面在匹配模块中,利用改进后的DTW算法解决用户局部哼唱准确的问题,提高检索准确率。
Description
技术领域
本发明涉及数字信号处理技术、基础音乐理论、机器学习技术领域,具体涉及一种针对海量音乐数据的哼唱检索系统。
背景技术
随着大容量数字存储和数字音乐技术的迅速发展,基于内容的多媒体搜索技术逐渐成为研究者关注的话题。在当今网络迅速普及以及存储设备发展的背景下,用户可以获取的数字音乐资源急剧增长,如何从海量的音乐数据库中检索并获取用户需要的音乐成为亟待解决的问题,也造就了哼唱检索系统的出现。
传统针对海量音乐数据的哼唱检索系统有以下不足:
1.存在冗余的模板音高向量和查询音高向量,导致匹配次数增加;
2.没有对音高向量的对齐位置进行过滤,导致出现较多无效匹配;
3.在不确定查询音高曲线两端在模板音高曲线中真正对齐位置的情况下进行匹配,导致两端误差较大,匹配精度较低;
4.无法处理哼唱局部准确的问题。
发明内容
本发明的目的是为了解决现有技术中的上述缺陷,提供一种针对海量音乐数据的哼唱检索系统。
本发明的目的可以通过采取如下技术方案达到:
一种针对海量音乐数据的哼唱检索系统,所述的哼唱检索系统包括模板特征提取模块、哼唱特征提取模块、检索模块、有效对齐位置检测模块和匹配模块,其中,哼唱特征提取模块、检索模块、有效对齐位置检测模块和匹配模块依次顺序连接,模板特征提取模块与检索模块连接;
所述的模板特征提取模块用于从数据库模板文件中提取模板音高曲线和模板音高向量;所述的哼唱特征提取模块用于从哼唱文件中提取查询音高曲线和查询音高向量;所述的检索模块用于对查询音高向量进行分类,根据分类结果获得检索结果;所述的有效对齐位置检测模块用于根据查询音高向量和检索结果找出有效对齐位置;所述的匹配模块用于将查询音高曲线与模板音高曲线进行匹配,输出候选歌曲列表;
所述的哼唱检索系统的工作流程中包括:
训练聚类模型步骤:在模板特征提取模块中,将模板音高曲线转换成点序列,找出点序列的特征点,然后以每个特征点的横坐标为起点,在模板音高曲线中截取等长的模板音高向量;
在检索模块中,将所有模板音高向量进行分层聚类,并保存聚类模型,并记录每个模板音高向量所属类别;
检索候选歌曲步骤:在哼唱特征提取模块中,将查询音高曲线转换成点序列,找出点序列的特征点,然后以每个特征点的横坐标为起点,在查询音高曲线中截取等长的查询音高向量;
在检索模块中,使用已经训练好的聚类模型对查询音高向量进行分类,将与查询音高向量在同一类别的模板音高向量作为检索结果;
在有效对齐位置检测模块中,通过查询音高向量和检索结果获得查询音高向量和模板音高向量的对齐位置,从对齐位置中找出有效对齐位置;
在匹配模块中,将查询音高曲线和模板音高曲线在有效对齐位置处对齐,将有效对齐位置的左右两边分开匹配,根据左右两边的得分获得候选歌曲列表。
进一步地,所述的哼唱特征提取模块的工作过程包括下列步骤:
S1、从哼唱文件中提取音高曲线;
S2、对提取的音高曲线进行线性伸缩处理,得到多个查询音高曲线;
S3、使用基于特征点的切分方法将所述查询音高曲线切分成多个查询音高向量;
S4、构建所述查询音高向量的索引,记录所述查询音高向量的信息;信息包含所在查询音高曲线和其在查询音高曲线中的起始位置;
S5、对所述查询音高向量进行零均值处理。
进一步地,所述的模板特征提取模块的工作过程包括下列步骤:
T1、从数据库模板文件中提取模板音高曲线;
T2、使用基于特征点的切分方法将所述模板音高曲线切分成多个模板音高向量;
T3、构建所述模板音高向量的索引,记录所述模板音高向量的信息;信息包含所在模板音高曲线和其在模板音高曲线中的起始位置;
T4、对所述多个模板音高向量进行零均值处理。
进一步地,所述的基于特征点的切分方法过程如下:
A1、假设音高曲线的长度为n,表达式为(p1,p2,p3,…,pi,…,pn),将(p1,p2,p3,…,pi,…,pn)转换成点序列,表达式为:
((1,p1),(2,p2),(3,p3),…,(i,pi),…,(n,pn));
其中pi表示音高曲线中第i个值,(i,pi)表示点序列中的第i个点;
A2、通过Douglas-Peucker曲线压缩算法找出点序列中的特征点;
A3、以每个特征点的横坐标为一个起点,从音高曲线中截取等长的音高向量。
进一步地,所述的检索模块的工作过程包括下列步骤:
B1、将所有模板音高向量进行分层聚类,并保存聚类模型;
B2、使用聚类模型对查询音高向量进行分类,将与查询音高向量在同一类别的模板音高向量作为检索结果。
进一步地,所述的有效对齐位置检测模块的工作过程包括下列步骤:
C1、获得所有音高向量组合,其中,音高向量组合由一个查询音高向量和在其检索结果中的一个模板音高向量组成;
C2、根据查询音高向量所在的查询音高曲线和模板音高向量所在的模板音高曲线对音高向量组合进行分类,并记录每一类对应的查询音高曲线和模板音高曲线;
C3、在每一类中音高向量组合的对齐位置中,找出有效对齐位置;将该类音高向量组合对应的查询音高曲线和模板音高曲线作为该有效对齐位置对应的查询音高曲线和模板音高曲线。
进一步地,所述的匹配模块的工作过程包括下列步骤:
D1、计算每个有效对齐位置的得分;
D2、获得歌曲的得分;
D3、根据歌曲的得分获得候选歌曲列表。
进一步地,所述的计算有效对齐位置得分的过程如下:
E1、在有效对齐位置处,将有效对齐位置对应的查询音高曲线和模板音高曲线分成左右两部分;
E3、计算查询音高曲线右边部分和右边扩展模板音高曲线得分,获得右边得分;
E5、将查询音高曲线左边部分和左边扩展模板音高曲线水平翻转后计算得分,获得左边得分;
E6、将左右两边得分相加作为有效对齐位置的得分。
进一步地,使用改进后的DTW算法计算得分,假设输入序列q和序列p,计算过程如下:
F1、使用递推公式计算S(i,j),S(i,j)表示序列q中前i个元素和序列p中前j个元素的匹配得分;递推公式为S(i,j)=max(S(i,j-1)+s(i,j)+wC,S(i-1,j-1)+s(i,j)+C,S(i-1,j)+s(i,j)+wC);如果i<0或者j<0,S(i,j)=0;s(i,j)表示序列q中的第i个元素与序列p中第j个元素的距离惩罚,s(i,j)≤0;w是一个权重,0<w≤0.5,C是对路径的奖励,C>0;
改进后的DTW算法的原理为:
在递推公式中,每一步增加的得分由距离惩罚和奖励组成。距离惩罚用于约束匹配路径中两个序列中元素之间的距离,是一个不大于0的值,距离越大,距离惩罚的值越小。奖励是一个正数。存在一个阈值,当距离小于该阈值,增加的得分为正数,当距离大于该阈值,增加的得分为负数。因此如果S(i,j)在位置(ii,jj)处取到最大值,说明序列q的前ii个元素与序列p的前jj个元素匹配的最好,而序列q第ii个元素之后的元素与序列p的第jj个元素之后的元素匹配的较差。所以将max(S(i,j))作为最终得分可以避免后面匹配较差部分的影响,很好的反应出前面匹配较好的部分。
与传统针对海量音乐数据的哼唱检索系统相比,本发明具有以下优点:
1)在检索模块中,本发明采用分层聚类对模板音高向量分类,分层聚类可以根据相似度规则或其他规则自动判断是否需要继续聚类。因此有2个优点:①训练前不需要手动设置类别数;②可以通过聚类规则控制聚类的效果。
2)在模板特征提取模块和哼唱特征提取模块中,使用基于特征点的方法切分模板音高曲线和查询音高曲线。通过特征点切分音高曲线,可以保证每个音高向量包含的特征不同,因此可以减少大量冗余的音高向量。模板音高向量和查询音高向量的数量降低有2个优点:①可以减少训练聚类模型的时间;②可以减少检索结果中模板音高向量的数量,从而降低有效对齐位置检测需耗费的时间。
3)在有效对齐位置检测模块中,对任一查询音高曲线和任一模板音高曲线之间仅保留少量有效对齐位置,大幅度降低需要匹配的次数。
4)在匹配模块中,将查询音高曲线和模板音高曲线在有效对齐位置处对齐,将有效对齐位置的左右两边分开计算得分。由于改进后的DTW算法可以在一端确定对齐位置的情况下,自动找到使分数最大的另外一端对齐位置,所以不需要确定左右查询音高曲线两端对齐的位置。因此该方法不仅可以避免两端对齐困难的问题,又能在一定程度处理哼唱局部准确的问题。
附图说明
图1是本发明实施例中公开的针对海量音乐数据的哼唱检索系统的结构框图;
图2是本发明实施例中解析数据库模板文件并训练聚类模型的流程图;
图3是本发明实施例中哼唱特征提取模块从哼唱文件提取查询音高曲线和查询音高向量的流程图;
图4是本发明实施例中不同缩放的查询音高曲线的示意图;
图5是本发明实施例中有效对齐位置检测模块检测有效对齐位置的流程图;
图6是本发明实施例中从音高序列组合中获取有效对齐位置的流程图;
图7是本发明实施例中匹配模块获得候选歌曲列表的流程图;
图8是本发明实施例中计算有效对齐位置得分的流程图;
图9是本发明实施例中在有效对齐位置处对齐、两边分开计算得分的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
本实施例公开一种针对海量音乐数据的哼唱检索系统,该系统包括模板特征提取模块、哼唱特征提取模块、检索模块、有效对齐位置检测模块和匹配模块,其中,哼唱特征提取模块、检索模块、有效对齐位置检测模块和匹配模块依次顺序连接,模板特征提取模块与检索模块连接。模板特征提取模块用于从数据库模板文件中提取模板音高曲线和模板音高向量;哼唱特征提取模块用于从哼唱文件中提取查询音高曲线和查询音高向量;检索模块用于对查询音高向量进行分类,根据分类结果获得检索结果;有效对齐位置检测模块用于根据查询音高向量和检索结果找出有效对齐位置;匹配模块用于将查询音高曲线与模板音高曲线进行匹配,输出候选歌曲列表。
该针对海量音乐数据的哼唱检索系统工作流程中包含以下步骤:
训练聚类模型:
在模板特征提取模块中,将模板音高曲线转换成点序列,找出点序列的特征点,然后以每个特征点的横坐标为起点,在模板音高曲线中截取等长的模板音高向量;
在检索模块中,将所有模板音高向量进行分层聚类,并保存聚类模型;
检索候选歌曲:
在哼唱特征提取模块中,将查询音高曲线转换成点序列,找出点序列的特征点,然后以每个特征点的横坐标为起点,在查询音高曲线中截取等长的查询音高向量;
在检索模块中,使用已经训练好的聚类模型对查询音高向量进行分类,将与查询音高向量在同一类别的模板音高向量作为检索结果;
在有效对齐位置检测模块中,通过查询音高向量和检索结果获得查询音高向量和模板音高向量的对齐位置,从对齐位置中找出有效对齐位置;
在匹配模块中,将查询音高曲线和模板音高曲线在有效对齐位置处对齐,将有效对齐位置的左右两边分开匹配,根据左右两边的得分获得候选歌曲列表。
图2为本实施例中提取模板音高曲线和模板音高向量,并训练聚类模型的流程图。其中以MIDI(Musical Instrument Digital Interface)文件作为模板文件,从中提取模板音高曲线和模板音高向量,并基于模板音高向量训练聚类模型。
如图2所示,本实例中提取模板音高曲线和模板音高向量,并训练聚类模型的步骤如下:
S101、从MIDI文件中提取模板音高曲线;其中MIDI文件中的音符记录格式如下:
其中,pi为音符的音高值,ti为音符的持续时间长度,di为音符的持续帧数。其中di的计算公式如式(1)所示:
上式中,frame length(帧长)为200ms。
S102、从模板音高曲线中切分多个等长的模板音高向量。
将长度为n的模板音高曲线(p1,p2,p3,p4,…,pn)转换成点序列((1,p1),(2,p2),(3,p3),(4,p4),…,(n,pn));其中pi表示音高曲线中第i个值,(i,pi)表示点序列中的第i个点;
通过Douglas-Peucker(D-P)曲线压缩算法找出点序列中的特征点;D-P算法的阈值为MAX_D,MAX_D可为1;
以每个特征点的横坐标为一个起点,从音高曲线中截取长度为20帧的模板音高向量。
S103、对模板音高向量进行零均值处理。
S104、对模板音高向量构建索引,记录模板音高向量所属的模板音高曲线和在模板音高曲线中的起始位置等信息。
S105、训练分层聚类模型,保存聚类模型,并记录每个模板音高向量所属的类别。
分层聚类完成后,保存所有K-Means++聚类模型,并记录每个模板音高向量所属的类别。
图3为本实施例中提取查询音高曲线和查询音高向量的流程图。其中以WAV文件作为哼唱文件,从中提取查询音高曲线和查询音高向量。
如图3所示,本实例中提取查询音高曲线和查询音高向量的步骤如下:
S201、使用pYIN基频提取算法提取WAV文件的基频曲线,pYIN算法的帧长为60ms,帧移为20ms;
S202、将pYIN基频提取算法提取的基频(Hz)转换为MIDI文件中的半音高,获得音高曲线。转换公式如式(2):
S203、使用线性伸缩算法(Linear scaling,LS)处理提取的音高曲线。
本实例中,线性伸缩因子为0.8、1.0、1.2和1.4。图4是线性伸缩的示意图。
S204、将S203得到的音高曲线进行降采样,降采样因子为10。将降采样后的音高曲线作为查询音高曲线。
S205、将查询音高曲线切分成多个等长的查询音高向量。切分的方法与步骤S102相同,故于此不再赘述。
S206、对查询音高向量进行零均值处理。
S207、构建查询音高向量的索引,记录查询音高向量所属查询音高曲线,在所属查询音高曲线的起始位置等信息。
本实例中检索模块通过查询音高向量获得检索结果的步骤如下:
S301、使用聚类模型对查询音高向量进行分类,获得查询音高所在类别。
S302、将与查询音高向量在同一类别的模板音高向量作为检索结果。
如图5所示,本实例中有效对齐位置检测模块获得有效对齐位置的步骤如下:
S401、获得所有音高向量组合;音高向量组合由一个查询音高向量和在其检索结果中的一个模板音高向量组成;
S402、根据查询音高向量所在的查询音高曲线和模板音高向量所在的模板音高曲线对音高向量组合进行分类,并记录每一类对应的查询音高曲线和模板音高曲线;
S403、在每一类中音高向量组合的对齐位置中,找出有效对齐位置。将该类音高向量组合对应的查询音高曲线和模板音高曲线作为该有效对齐位置对应的查询音高曲线和模板音高曲线。
如图6所示、本实例中从任一类的音高向量组合中找到有效对齐位置的步骤如下:
S501、将该类音高向量组合转为对齐位置序列。
((query1,model1),…,(queryi,modeli))-→((p1,q1),…,(pi,qi))
其中(queryi,modeli)表示音高向量组合,queryi表示查询音高曲线,modeli表示模板音高曲线,(pi,qi)表示对齐位置,pi表示queryi在查询音高曲线中的起始位置,qi表示modeli在模板音高曲线中的起始位置。
S502、将对齐位置序列按照qi的值从小到大排序。
S503、从S502中得到的对齐位置序列中获得所有有序子序列。
有序子序列任意两个相邻对齐位置需要满足:
1.pi<pi+1;
其中rate为最大允许缩放比例,rate取1.2。
S504、找到有效子序列。将最长的有序子序列作为有效子序列,如果存在多个最长有序子序列,随机选择一个作为有效子序列。
S505、从有效子序列中找到有效对齐位置。
假设有效子序列长度为n,表达式为:
((p1,q1),(p2,q2),…,(pn,qn))
计算有效子序列中每个对齐位置与中间位置的距离,距离d的计算公式为如式(3):
d=((pi-pp)2+(qi-qq)2)1/2
将与中间位置距离最小的对齐位置作为有效对齐位置。
如图7所示、本实例中匹配模块获得候选歌曲列表的步骤如下:
S601、计算每个有效对齐位置的得分。
S602、获得每个MIDI歌曲的得分。
将有效对齐位置的得分作其对应的模板音高曲线的得分。如果模板音高曲线有多个得分,取最大得分。将模板音高曲线的得分作为其对应MIDI歌曲的得分。
S603、将MIDI歌曲按照得分从大到小排序,将排序后的MIDI歌曲作为候选歌曲列表输出。
如图8所示、本实例中计算有效对齐位置的得分的步骤为:
S701、如图9所示,在有效对齐位置处,将有效对齐位置对应的查询音高曲线和模板音高曲线分成左右两部分;
S703、计算查询音高曲线右边部分和右边扩展模板音高曲线得分,获得右边得分;
S705、将查询音高曲线左边部分和左边扩展模板音高曲线水平翻转后计算得分,获得左边得分;
S706、将右边得分和左边得分相加,作为有效对齐位置的得分。
本实例中使用改进后的DTW算法计算得分,假设输入序列q和序列p,计算步骤为:
S801、使用递推公式计算S(i,j),S(i,j)表示序列q中前i个元素和序列p中前j个元素的匹配得分;递推公式为S(i,j)=max(S(i,j-1)+s(i,j)+wC,S(i-1,j-1)+s(i,j)+C,S(i-1,j)+s(i,j)+wC);如果i<0或者j<0,S(i,j)=0;s(i,j)表示序列q中的第i个元素与序列p中第j个元素的距离惩罚,s(i,j)=-|qi-pj|,qi为序列q中第i个元素,pj为序列p中第j个元素;w是一个权重,w取0.5,C是对路径的奖励,C取2;
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (9)
1.一种针对海量音乐数据的哼唱检索系统,其特征在于,所述的哼唱检索系统包括模板特征提取模块、哼唱特征提取模块、检索模块、有效对齐位置检测模块和匹配模块,其中,哼唱特征提取模块、检索模块、有效对齐位置检测模块和匹配模块依次顺序连接,模板特征提取模块与检索模块连接;
所述的模板特征提取模块用于从数据库模板文件中提取模板音高曲线和模板音高向量;所述的哼唱特征提取模块用于从哼唱文件中提取查询音高曲线和查询音高向量;所述的检索模块用于对查询音高向量进行分类,根据分类结果获得检索结果;所述的有效对齐位置检测模块用于根据查询音高向量和检索结果找出有效对齐位置;所述的匹配模块用于将查询音高曲线与模板音高曲线进行匹配,输出候选歌曲列表;
所述的哼唱检索系统的工作流程中包括:
训练聚类模型步骤:在模板特征提取模块中,将模板音高曲线转换成点序列,找出点序列的特征点,然后以每个特征点的横坐标为起点,在模板音高曲线中截取等长的模板音高向量;
在检索模块中,将所有模板音高向量进行分层聚类,并保存聚类模型,并记录每个模板音高向量所属类别;
检索候选歌曲步骤:在哼唱特征提取模块中,将查询音高曲线转换成点序列,找出点序列的特征点,然后以每个特征点的横坐标为起点,在查询音高曲线中截取等长的查询音高向量;
在检索模块中,使用已经训练好的聚类模型对查询音高向量进行分类,将与查询音高向量在同一类别的模板音高向量作为检索结果;
在有效对齐位置检测模块中,通过查询音高向量和检索结果获得查询音高向量和模板音高向量的对齐位置,从对齐位置中找出有效对齐位置;
在匹配模块中,将查询音高曲线和模板音高曲线在有效对齐位置处对齐,将有效对齐位置的左右两边分开匹配,根据左右两边的得分获得候选歌曲列表。
2.根据权利要求1所述的一种针对海量音乐数据的哼唱检索系统,其特征在于,所述的哼唱特征提取模块的工作过程包括下列步骤:
S1、从哼唱文件中提取音高曲线;
S2、对提取的音高曲线进行线性伸缩处理,得到多个查询音高曲线;
S3、使用基于特征点的切分方法将所述查询音高曲线切分成多个查询音高向量;
S4、构建所述查询音高向量的索引,记录所述查询音高向量的信息;信息包含所在查询音高曲线和其在查询音高曲线中的起始位置;
S5、对所述查询音高向量进行零均值处理。
3.根据权利要求1所述的一种针对海量音乐数据的哼唱检索系统,其特征在于,所述的模板特征提取模块的工作过程包括下列步骤:
T1、从数据库模板文件中提取模板音高曲线;
T2、使用基于特征点的切分方法将所述模板音高曲线切分成多个模板音高向量;
T3、构建所述模板音高向量的索引,记录所述模板音高向量的信息;信息包含所在模板音高曲线和其在模板音高曲线中的起始位置;
T4、对所述多个模板音高向量进行零均值处理。
4.根据权利要求3所述的一种针对海量音乐数据的哼唱检索系统,其特征在于,所述的基于特征点的切分方法过程如下:
A1、假设音高曲线的长度为n,表达式为(p1,p2,p3,…,pi,…,pn),将(p1,p2,p3,…,pi,…,pn)转换成点序列,表达式为:
((1,p1),(2,p2),(3,p3),…,(i,pi),…,(n,pn));
其中pi表示音高曲线中第i个值,(i,pi)表示点序列中的第i个点;
A2、通过Douglas-Peucker曲线压缩算法找出点序列中的特征点;
A3、以每个特征点的横坐标为一个起点,从音高曲线中截取等长的音高向量。
5.根据权利要求1所述的一种针对海量音乐数据的哼唱检索系统,其特征在于检索模块,所述的检索模块的工作过程包括下列步骤:
B1、将所有模板音高向量进行分层聚类,并保存聚类模型;
B2、使用聚类模型对查询音高向量进行分类,将与查询音高向量在同一类别的模板音高向量作为检索结果。
6.根据权利要求1所述的一种针对海量音乐数据的哼唱检索系统,其特征在于,所述的有效对齐位置检测模块的工作过程包括下列步骤:
C1、获得所有音高向量组合,其中,音高向量组合由一个查询音高向量和在其检索结果中的一个模板音高向量组成;
C2、根据查询音高向量所在的查询音高曲线和模板音高向量所在的模板音高曲线对音高向量组合进行分类,并记录每一类对应的查询音高曲线和模板音高曲线;
C3、在每一类中音高向量组合的对齐位置中,找出有效对齐位置;将该类音高向量组合对应的查询音高曲线和模板音高曲线作为该有效对齐位置对应的查询音高曲线和模板音高曲线。
7.根据权利要求1所述的一种针对海量音乐数据的哼唱检索系统,其特征在于,所述的匹配模块的工作过程包括下列步骤:
D1、计算每个有效对齐位置的得分;
D2、获得歌曲的得分;
D3、根据歌曲的得分获得候选歌曲列表。
8.根据权利要求7所述的一种针对海量音乐数据的哼唱检索系统,其特征在于,所述的计算有效对齐位置得分的过程如下:
E1、在有效对齐位置处,将有效对齐位置对应的查询音高曲线和模板音高曲线分成左右两部分;
E3、计算查询音高曲线右边部分和右边扩展模板音高曲线得分,获得右边得分;
E5、将查询音高曲线左边部分和左边扩展模板音高曲线水平翻转后计算得分,获得左边得分;
E6、将左右两边得分相加作为有效对齐位置的得分。
9.根据权利要求8所述的一种针对海量音乐数据的哼唱检索系统,其特征在于,使用改进后的DTW算法计算得分,假设输入序列q和序列p,计算过程如下:
F1、使用递推公式计算S(i,j),S(i,j)表示序列q中前i个元素和序列p中前j个元素的匹配得分;递推公式为S(i,j)=max(S(i,j-1)+s(i,j)+wC,S(i-1,j-1)+s(i,j)+C,S(i-1,j)+s(i,j)+wC);如果i<0或者j<0,S(i,j)=0;s(i,j)表示序列q中的第i个元素与序列p中第j个元素的距离惩罚,s(i,j)≤0;w是一个权重,0<w≤0.5,C是对路径的奖励,C>0;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010370933.5A CN111737513B (zh) | 2020-05-06 | 2020-05-06 | 一种针对海量音乐数据的哼唱检索系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010370933.5A CN111737513B (zh) | 2020-05-06 | 2020-05-06 | 一种针对海量音乐数据的哼唱检索系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111737513A CN111737513A (zh) | 2020-10-02 |
CN111737513B true CN111737513B (zh) | 2022-03-25 |
Family
ID=72646994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010370933.5A Expired - Fee Related CN111737513B (zh) | 2020-05-06 | 2020-05-06 | 一种针对海量音乐数据的哼唱检索系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737513B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377994A (zh) * | 2021-07-08 | 2021-09-10 | 哈尔滨理工大学 | 一种基于旋律特征聚类与优化的哼唱检索方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104978962A (zh) * | 2014-04-14 | 2015-10-14 | 安徽科大讯飞信息科技股份有限公司 | 哼唱检索方法及系统 |
CN106528599A (zh) * | 2016-09-23 | 2017-03-22 | 深圳凡豆信息科技有限公司 | 一种海量音频数据中的字符串快速模糊匹配算法 |
CN110399522A (zh) * | 2019-07-03 | 2019-11-01 | 中国传媒大学 | 一种基于lstm与分层匹配的音乐哼唱检索方法及装置 |
CN110675893A (zh) * | 2019-09-19 | 2020-01-10 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种歌曲识别方法、装置、存储介质及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1785891A1 (en) * | 2005-11-09 | 2007-05-16 | Sony Deutschland GmbH | Music information retrieval using a 3D search algorithm |
-
2020
- 2020-05-06 CN CN202010370933.5A patent/CN111737513B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104978962A (zh) * | 2014-04-14 | 2015-10-14 | 安徽科大讯飞信息科技股份有限公司 | 哼唱检索方法及系统 |
CN106528599A (zh) * | 2016-09-23 | 2017-03-22 | 深圳凡豆信息科技有限公司 | 一种海量音频数据中的字符串快速模糊匹配算法 |
CN110399522A (zh) * | 2019-07-03 | 2019-11-01 | 中国传媒大学 | 一种基于lstm与分层匹配的音乐哼唱检索方法及装置 |
CN110675893A (zh) * | 2019-09-19 | 2020-01-10 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种歌曲识别方法、装置、存储介质及电子设备 |
Non-Patent Citations (2)
Title |
---|
Research on matching method in humming retrieval;Shaojing Zhou 等;《 2017 IEEE 3rd Information Technology and Mechatronics Engineering Conference (ITOEC)》;20171005;516-520 * |
一个基于哼唱的音乐检索系统;鲁帆等;《中国西部科技》;20110205(第04期);26-27 * |
Also Published As
Publication number | Publication date |
---|---|
CN111737513A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108304375B (zh) | 一种信息识别方法及其设备、存储介质、终端 | |
CN110019732B (zh) | 一种智能问答方法以及相关装置 | |
CN100397387C (zh) | 数字声音数据的摘要制作方法和设备 | |
CN104199965B (zh) | 一种语义信息检索方法 | |
CN105956053B (zh) | 一种基于网络信息的搜索方法及装置 | |
JP2004534274A (ja) | 内容ベースのマルチメディア情報検索で使用するためデジタル表示で音楽情報を表示する方法およびシステム | |
CN111090771B (zh) | 歌曲搜索方法、装置及计算机存储介质 | |
MX2012011923A (es) | Asignacion de atributis aplicables para datos que describen la identidad personal. | |
CN114117213A (zh) | 一种推荐模型训练、推荐方法、装置、介质和设备 | |
CN115983233B (zh) | 一种基于数据流匹配的电子病历查重率估计方法 | |
CN106951474B (zh) | 一种基于lda模型的歌曲分类方法 | |
CN116187317A (zh) | 文本生成方法、装置、设备及计算机可读介质 | |
CN111737513B (zh) | 一种针对海量音乐数据的哼唱检索系统 | |
CN113076740A (zh) | 政务服务领域的同义词挖掘方法及装置 | |
Vaglio et al. | The words remain the same: Cover detection with lyrics transcription | |
CN107423294A (zh) | 一种社群图像检索方法及系统 | |
CN112989105A (zh) | 一种音乐结构的分析方法及系统 | |
Su et al. | Semantic content-based music retrieval using audio and fuzzy-music-sense features | |
CN112612867B (zh) | 新闻稿件传播分析方法、计算机可读存储介质及电子设备 | |
CN114385777A (zh) | 文本数据处理方法、装置、计算机设备和存储介质 | |
JP5594134B2 (ja) | 文字列検索装置,文字列検索方法および文字列検索プログラム | |
CN112269852B (zh) | 生成舆情专题方法、系统及存储介质 | |
CN114661892A (zh) | 稿件摘要生成方法和装置、设备及存储介质 | |
JP3925418B2 (ja) | トピック境界決定装置及びプログラム | |
Zhou et al. | Research on matching method in humming retrieval |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220325 |