哼唱检索方法及系统的制作方法

文档序号:9261965阅读:638来源:国知局
哼唱检索方法及系统的制作方法
【技术领域】
[0001]本发明涉及音乐检索技术领域,具体涉及一种哼唱检索方法及系统。
【背景技术】
[0002]随着信息技术和网络技术的发展,音乐库规模呈几何级数增长,音乐歌曲的快速检索也成为新的研究热点。传统的音乐检索方法主要基于文本关键字检索,根据用户输入的歌曲名、歌手、流派、歌词等文本信息进行相关歌曲检索。而当用户只能哼唱出歌曲某一片段,但无法提供确切的歌曲名、歌手等文本信息时,传统的音乐检索系统显然无法满足这样的检索需求。为此,研究人员提出了音乐哼唱检索技术,即根据用户哼唱的歌曲片断,从音乐库中挑选相应的歌曲。
[0003]现有的哼唱检索系统大都采用基于歌曲旋律特征匹配的检索方法,S卩比较用户输入歌曲片断和音乐库中的歌曲在旋律特征上的相似度。具体地,首先从用户输入歌曲片断中提取旋律特征,随后和系统预置的歌曲库中的各歌曲旋律特征模板一一匹配,并选择具有最大相似度的歌曲为期望歌曲。所述歌曲旋律是指连续的有音调(或称为音高)、有节奏的音乐音符序列,旋律特征可以用音符序列或音高曲线的形式表示。
[0004]现有的基于歌曲旋律特征匹配的检索方法虽然解决了上述问题,但依然存在以下问题:
[0005]1.旋律特征音符序列提取中音符分割不准确或用户哼唱的歌曲存在跑调等问题时,提取的旋律信息无法正确表征歌曲特点,影响检索结果的准确率;
[0006]2.随着音乐库规模的扩大,歌曲之间的旋律特征区分性减弱,现有的基于歌曲旋律特征匹配的检索方法的检索结果准确率容易受到音乐库规模的影响。

【发明内容】

[0007]本发明实施例提供一种哼唱检索方法及系统,以提高检索结果的准确率。
[0008]为此,本发明提供如下技术方案:
[0009]一种哼唱检索方法,包括:
[0010]获取用户哼唱歌曲片段;
[0011]提取所述哼唱歌曲片段的旋律特征及频谱特征;
[0012]根据所述旋律特征从所述歌曲库中选择候选歌曲;
[0013]将所述频谱特征与所述候选歌曲的频谱特征进行匹配,得到频谱相似度;
[0014]根据所述频谱相似度、或者根据所述频谱相似度及所述旋律相似度,对所述候选歌曲进行排序。
[0015]优选地,所述根据所述旋律特征从所述歌曲库中选择候选歌曲包括:
[0016]将所述旋律特征与歌曲库中歌曲的旋律特征进行匹配,得到旋律相似度;
[0017]根据所述旋律相似度从所述歌曲库中选择候选歌曲。
[0018]优选地,所述旋律特征包括:音符序列表示的旋律特征或基频包络表示的旋律特征;
[0019]所述将所述旋律特征与歌曲库中歌曲的旋律特征进行匹配,得到旋律相似度包括:
[0020]对于音符序列表示的旋律特征,利用序列匹配算法计算所述旋律特征与歌曲库中歌曲的旋律特征的相似度;
[0021]对于基频包络表示的旋律特征,利用动态时间规整算法计算所述旋律特征与歌曲库中歌曲的旋律特征的相似度。
[0022]优选地,所述旋律特征包括:音符序列表示的旋律特征和基频包络表示的旋律特征;
[0023]所述将所述旋律特征与歌曲库中歌曲的旋律特征进行匹配,得到旋律相似度包括:
[0024]计算所述哼唱歌曲片段的音符序列与歌曲库中待匹配歌曲的音符序列中各子音符序列的相似度;
[0025]选择待匹配歌曲的音符序列中与所述哼唱歌曲片段的音符序列相似度最大的子音符序列,并确定所述子音符序列的起止时间点;
[0026]计算所述哼唱歌曲片段的基频包络与所述待匹配歌曲在所述起止时间点内的基频包络的相似度;
[0027]将所述基频包络的相似度作为旋律相似度;或者
[0028]将所述基频包络的相似度与对应的最大子音符序列的相似度进行融合,并将融合结果作为旋律相似度。
[0029]优选地,所述根据所述旋律相似度从所述歌曲库中选择候选歌曲包括:
[0030]选择旋律相似度大于设定阈值的歌曲作为候选歌曲;或者
[0031]按照旋律相似度由大到小的顺序选择设定个数的歌曲作为候选歌曲。
[0032]优选地,所述旋律特征包括:音符序列表示的旋律特征和基频包络表示的旋律特征;
[0033]所述根据所述旋律特征从所述歌曲库中选择候选歌曲包括:
[0034]计算所述哼唱歌曲片段的音符序列与歌曲库中歌曲的音符序列的相似度;
[0035]根据所述音符序列的相似度从所述歌曲库中选择初选歌曲;
[0036]计算所述哼唱歌曲片段的基频包络与所述初选歌曲的基频包络的相似度;
[0037]根据所述基频包络的相似度、或者根据所述基频包络的相似度及所述音符序列的相似度,对所述初选歌曲进行裁剪,得到候选歌曲。
[0038]优选地,所述将所述频谱特征与所述候选歌曲的频谱特征进行匹配,得到频谱相似度包括:
[0039]采用动态时间规整算法计算所述频谱特征与所述候选歌曲的频谱特征的频谱相似度。
[0040]一种哼唱检索系统,包括:
[0041]获取模块,用于获取用户哼唱歌曲片段;
[0042]特征提取模块,用于提取所述哼唱歌曲片段中的旋律特征及频谱特征;
[0043]选择模块,用于根据所述旋律特征从所述歌曲库中选择候选歌曲;
[0044]频谱特征匹配模块,用于将所述频谱特征与所述候选歌曲的频谱特征进行匹配,得到频谱相似度;
[0045]排序模块,用于根据所述频谱相似度、或者根据所述频谱相似度及所述旋律相似度,对所述候选歌曲进行排序。
[0046]优选地,所述选择模块包括:
[0047]旋律特征匹配模块,用于将所述旋律特征与歌曲库中歌曲的旋律特征进行匹配,得到旋律相似度;
[0048]候选模块,用于根据所述旋律相似度从所述歌曲库中选择候选歌曲。
[0049]优选地,所述旋律特征包括:音符序列表示的旋律特征或基频包络表示的旋律特征;
[0050]所述旋律特征匹配模块,具体用于对于音符序列表示的旋律特征,利用序列匹配算法计算所述旋律特征与歌曲库中歌曲的旋律特征的相似度;或者对于基频包络表示的旋律特征,利用动态时间规整算法计算所述旋律特征与歌曲库中歌曲的旋律特征的相似度。
[0051]优选地,所述旋律特征包括:音符序列表示的旋律特征和基频包络表示的旋律特征;
[0052]所述旋律特征匹配模块包括:
[0053]第一计算单元,用于计算所述哼唱歌曲片段的音符序列与歌曲库中待匹配歌曲的音符序列中各子音符序列的相似度;
[0054]选择单元,用于选择待匹配歌曲的音符序列中与所述哼唱歌曲片段的音符序列相似度最大的子首符序列;
[0055]确定单元,用于确定所述相似度最大的子音符序列的起止时间点;
[0056]第二计算单元,用于计算所述哼唱歌曲片段的基频包络与所述待匹配歌曲在所述起止时间点内的基频包络的相似度;
[0057]输出单元,用于将所述基频包络的相似度作为旋律相似度输出。
[0058]优选地,所述旋律特征匹配模块还包括:
[0059]融合单元,用于将所述基频包络的相似度与对应的最大子音符序列的相似度进行融合;
[0060]所述输出单元,用于将所述融合单元得到的融合结果作为旋律相似度输出。
[0061]优选地,所述选择模块,具体选择旋律相似度大于设定阈值的歌曲作为候选歌曲;或者按照旋律相似度由大到小的顺序选择设定个数的歌曲作为候选歌曲。
[0062]优选地,所述旋律特征包括:音符序列表示的旋律特征和基频包络表示的旋律特征;
[0063]所述选择模块包括:
[0
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1