CN104978962B - 哼唱检索方法及系统 - Google Patents
哼唱检索方法及系统 Download PDFInfo
- Publication number
- CN104978962B CN104978962B CN201410149146.2A CN201410149146A CN104978962B CN 104978962 B CN104978962 B CN 104978962B CN 201410149146 A CN201410149146 A CN 201410149146A CN 104978962 B CN104978962 B CN 104978962B
- Authority
- CN
- China
- Prior art keywords
- song
- similarity
- sequence
- notes
- melody characteristics
- 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.)
- Active
Links
Landscapes
- Auxiliary Devices For Music (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及音乐检索技术领域,公开了一种哼唱检索方法及系统,该方法包括:获取用户哼唱歌曲片段;提取所述哼唱歌曲片段的旋律特征及频谱特征;根据所述旋律特征从所述歌曲库中选择候选歌曲;将所述频谱特征与所述候选歌曲的频谱特征进行匹配,得到频谱相似度;根据所述频谱相似度、或者根据所述频谱相似度及所述旋律相似度,对所述候选歌曲进行排序。本发明可以有效提高检索结果的准确率。
Description
技术领域
本发明涉及音乐检索技术领域,具体涉及一种哼唱检索方法及系统。
背景技术
随着信息技术和网络技术的发展,音乐库规模呈几何级数增长,音乐歌曲的快速检索也成为新的研究热点。传统的音乐检索方法主要基于文本关键字检索,根据用户输入的歌曲名、歌手、流派、歌词等文本信息进行相关歌曲检索。而当用户只能哼唱出歌曲某一片段,但无法提供确切的歌曲名、歌手等文本信息时,传统的音乐检索系统显然无法满足这样的检索需求。为此,研究人员提出了音乐哼唱检索技术,即根据用户哼唱的歌曲片断,从音乐库中挑选相应的歌曲。
现有的哼唱检索系统大都采用基于歌曲旋律特征匹配的检索方法,即比较用户输入歌曲片断和音乐库中的歌曲在旋律特征上的相似度。具体地,首先从用户输入歌曲片断中提取旋律特征,随后和系统预置的歌曲库中的各歌曲旋律特征模板一一匹配,并选择具有最大相似度的歌曲为期望歌曲。所述歌曲旋律是指连续的有音调(或称为音高)、有节奏的音乐音符序列,旋律特征可以用音符序列或音高曲线的形式表示。
现有的基于歌曲旋律特征匹配的检索方法虽然解决了上述问题,但依然存在以下问题:
1.旋律特征音符序列提取中音符分割不准确或用户哼唱的歌曲存在跑调等问题时,提取的旋律信息无法正确表征歌曲特点,影响检索结果的准确率;
2.随着音乐库规模的扩大,歌曲之间的旋律特征区分性减弱,现有的基于歌曲旋律特征匹配的检索方法的检索结果准确率容易受到音乐库规模的影响。
发明内容
本发明实施例提供一种哼唱检索方法及系统,以提高检索结果的准确率。
为此,本发明提供如下技术方案:
一种哼唱检索方法,包括:
获取用户哼唱歌曲片段;
提取所述哼唱歌曲片段的旋律特征及频谱特征;
根据所述旋律特征从所述歌曲库中选择候选歌曲;
将所述频谱特征与所述候选歌曲的频谱特征进行匹配,得到频谱相似度;
根据所述频谱相似度、或者根据所述频谱相似度及所述旋律相似度,对所述候选歌曲进行排序。
优选地,所述根据所述旋律特征从所述歌曲库中选择候选歌曲包括:
将所述旋律特征与歌曲库中歌曲的旋律特征进行匹配,得到旋律相似度;
根据所述旋律相似度从所述歌曲库中选择候选歌曲。
优选地,所述旋律特征包括:音符序列表示的旋律特征或基频包络表示的旋律特征;
所述将所述旋律特征与歌曲库中歌曲的旋律特征进行匹配,得到旋律相似度包括:
对于音符序列表示的旋律特征,利用序列匹配算法计算所述旋律特征与歌曲库中歌曲的旋律特征的相似度;
对于基频包络表示的旋律特征,利用动态时间规整算法计算所述旋律特征与歌曲库中歌曲的旋律特征的相似度。
优选地,所述旋律特征包括:音符序列表示的旋律特征和基频包络表示的旋律特征;
所述将所述旋律特征与歌曲库中歌曲的旋律特征进行匹配,得到旋律相似度包括:
计算所述哼唱歌曲片段的音符序列与歌曲库中待匹配歌曲的音符序列中各子音符序列的相似度;
选择待匹配歌曲的音符序列中与所述哼唱歌曲片段的音符序列相似度最大的子音符序列,并确定所述子音符序列的起止时间点;
计算所述哼唱歌曲片段的基频包络与所述待匹配歌曲在所述起止时间点内的基频包络的相似度;
将所述基频包络的相似度作为旋律相似度;或者
将所述基频包络的相似度与对应的最大子音符序列的相似度进行融合,并将融合结果作为旋律相似度。
优选地,所述根据所述旋律相似度从所述歌曲库中选择候选歌曲包括:
选择旋律相似度大于设定阈值的歌曲作为候选歌曲;或者
按照旋律相似度由大到小的顺序选择设定个数的歌曲作为候选歌曲。
优选地,所述旋律特征包括:音符序列表示的旋律特征和基频包络表示的旋律特征;
所述根据所述旋律特征从所述歌曲库中选择候选歌曲包括:
计算所述哼唱歌曲片段的音符序列与歌曲库中歌曲的音符序列的相似度;
根据所述音符序列的相似度从所述歌曲库中选择初选歌曲;
计算所述哼唱歌曲片段的基频包络与所述初选歌曲的基频包络的相似度;
根据所述基频包络的相似度、或者根据所述基频包络的相似度及所述音符序列的相似度,对所述初选歌曲进行裁剪,得到候选歌曲。
优选地,所述将所述频谱特征与所述候选歌曲的频谱特征进行匹配,得到频谱相似度包括:
采用动态时间规整算法计算所述频谱特征与所述候选歌曲的频谱特征的频谱相似度。
一种哼唱检索系统,包括:
获取模块,用于获取用户哼唱歌曲片段;
特征提取模块,用于提取所述哼唱歌曲片段中的旋律特征及频谱特征;
选择模块,用于根据所述旋律特征从所述歌曲库中选择候选歌曲;
频谱特征匹配模块,用于将所述频谱特征与所述候选歌曲的频谱特征进行匹配,得到频谱相似度;
排序模块,用于根据所述频谱相似度、或者根据所述频谱相似度及所述旋律相似度,对所述候选歌曲进行排序。
优选地,所述选择模块包括:
旋律特征匹配模块,用于将所述旋律特征与歌曲库中歌曲的旋律特征进行匹配,得到旋律相似度;
候选模块,用于根据所述旋律相似度从所述歌曲库中选择候选歌曲。
优选地,所述旋律特征包括:音符序列表示的旋律特征或基频包络表示的旋律特征;
所述旋律特征匹配模块,具体用于对于音符序列表示的旋律特征,利用序列匹配算法计算所述旋律特征与歌曲库中歌曲的旋律特征的相似度;或者对于基频包络表示的旋律特征,利用动态时间规整算法计算所述旋律特征与歌曲库中歌曲的旋律特征的相似度。
优选地,所述旋律特征包括:音符序列表示的旋律特征和基频包络表示的旋律特征;
所述旋律特征匹配模块包括:
第一计算单元,用于计算所述哼唱歌曲片段的音符序列与歌曲库中待匹配歌曲的音符序列中各子音符序列的相似度;
选择单元,用于选择待匹配歌曲的音符序列中与所述哼唱歌曲片段的音符序列相似度最大的子音符序列;
确定单元,用于确定所述相似度最大的子音符序列的起止时间点;
第二计算单元,用于计算所述哼唱歌曲片段的基频包络与所述待匹配歌曲在所述起止时间点内的基频包络的相似度;
输出单元,用于将所述基频包络的相似度作为旋律相似度输出。
优选地,所述旋律特征匹配模块还包括:
融合单元,用于将所述基频包络的相似度与对应的最大子音符序列的相似度进行融合;
所述输出单元,用于将所述融合单元得到的融合结果作为旋律相似度输出。
优选地,所述选择模块,具体选择旋律相似度大于设定阈值的歌曲作为候选歌曲;或者按照旋律相似度由大到小的顺序选择设定个数的歌曲作为候选歌曲。
优选地,所述旋律特征包括:音符序列表示的旋律特征和基频包络表示的旋律特征;
所述选择模块包括:
音符序列相似度计算单元,用于计算所述哼唱歌曲片段的音符序列与歌曲库中歌曲的音符序列的相似度;
初选单元,用于根据所述音符序列的相似度从所述歌曲库中选择初选歌曲;
基频包络相似度计算单元,用于计算所述哼唱歌曲片段的基频包络与所述初选歌曲的基频包络的相似度;
裁剪单元,用于根据所述基频包络的相似度、或者根据所述基频包络的相似度及所述音符序列的相似度,对所述候选歌曲进行裁剪,得到候选歌曲。
优选地,所述频谱特征匹配模块,具体用于采用动态时间规整算法计算所述频谱特征与所述候选歌曲的频谱特征的频谱相似度。
本发明实施例提供的哼唱检索方法及系统,不仅提取用户哼唱歌曲片段的旋律特征,而且还提取其频谱特征,对传统的哼唱检索方案中的旋律特征进行了有效的补充,从而使哼唱歌曲与歌曲库中歌曲不仅从旋律上而且从歌词内容上都进行相应的匹配,有效地提高了检索的准确度及本发明方案的应用范围,降低了音乐库规模大小对检索结果准确率的影响。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本发明实施例哼唱检索方法的流程图;
图2是本发明实施例中进行旋律特征匹配的一种流程图;
图3是本发明实施例中进行旋律特征匹配的另一种流程图;
图4是本发明实施例中从歌曲库中选择候选歌曲的一种流程;
图5是本发明实施例哼唱检索系统的一种结构示意图;
图6是本发明实施例中选择模块的一种具体结构示意图;
图7是本发明实施例中旋律特征匹配模块的一种优选结构示意图;
图8是本发明实施例中选择模块的另一种具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
针对现有的基于歌曲旋律特征匹配的检索方法存在的问题,本发明实施例提供一种哼唱检索方法及系统,通过引入频谱特征对传统旋律特征进行有效补充,由于频谱特征是反映哼唱歌词内容,区分性更大,因此大大提高了哼唱检索方法及系统的应用范围及检索结果的准确度。
如图1所示,是本发明实施例哼唱检索方法的流程图,包括以下步骤:
步骤101,获取用户哼唱歌曲片段。
步骤102,提取所述哼唱歌曲片段的旋律特征及频谱特征。
旋律特征可用音符序列或音高曲线的形式表示,其特征提取具体过程如下:
(1)提取所述哼唱歌曲的基频特征序列
基频特征反映说话人声带振动的频率,一般来说,音调越高则基频越大。基频特征提取有较成熟的算法,如自相关基频估计、平均幅度差函数法、谐波法等。如在自相关法基频估计时,首先对连续语音信号进行加窗分帧,通常取两个基频周期以上。然后计算每一帧的自相关函数,并获取该自相关函数的峰值点位置。最后根据该峰值点位置获得基频特征序列。
(2)基频特征变换
基频特征序列反映了哼唱时音调变化的走势,却不能被人耳直接感知。为了提取更符合人耳的感知和音乐原理的特征,在本发明实施例中,对提取的基频特征序列进行分段和量化,获得具有一定音高和时长的音符序列。具体地,可以对该基频特征序列进行音符分割,根据静音段位置及基频值变化幅度确定音符边界。然后使用相邻音符之间音高差作为当前音符的音高值。进一步按照十二平均律将所述音高值转化到以半音程为单位的音高值。
另外,在本发明实施例中,还可以直接采用基频包络特征作为所述旋律特征,以减少音符分割错误对检索结果的影响。
当然,在实际应用中,还可以综合利用音符序列及基频包络来确定用户哼唱歌曲片段与歌曲库中歌曲的旋律相似度,对此将在后面详细说明。
步骤103,根据所述旋律特征从所述歌曲库中选择候选歌曲。
具体地,可以将用户哼唱歌曲片段的旋律特征与歌曲库中歌曲的旋律特征进行匹配,并根据匹配结果从歌曲库中选出一些相似度高的歌曲作为候选歌曲,比如,可以选择旋律相似度大于设定阈值的歌曲作为候选歌曲;或者按照旋律相似度由大到小的顺序选择设定个数(比如20个)的歌曲作为候选歌曲。前面提到,在本发明实施例中,所述旋律特征可以由音符序列和/或基频包络来表征。相应地,在进行旋律特征匹配时,也可以有多种不同的匹配方法,比如:
对于音符序列表示的旋律特征,可以利用序列匹配算法,比如ED(Edit Distance,编辑距离)算法、LCS(Longest Common Subsequence,最长公共子序列)算法等,计算所述旋律特征与歌曲库中歌曲的旋律特征的相似度。
对于基频包络表示的旋律特征,可以利用DTW(Dynamic Time Warping,动态时间规整)算法计算用户哼唱歌曲片段的旋律特征与歌曲库中歌曲的旋律特征的相似度。
另外,为了进行更准确的匹配,还可以综合利用上述音符序列及基频包络来计算用户哼唱歌曲片段的旋律特征与歌曲库中歌曲的旋律特征的相似度,对此将在后面详细说明。
步骤104,将哼唱歌曲片段的频谱特征与所述候选歌曲的频谱特征进行匹配,得到频谱相似度。
具体地,可以根据哼唱歌曲片段在候选歌曲中匹配的起止时间位置(哼唱歌曲片段在候选歌曲中匹配的起止时间位置可以通过编辑距离算法来确定),获取候选歌曲的相应片段的频谱特征,然后计算哼唱歌曲片段的频谱特征与候选歌曲的相应片段的频谱特征的相似度,比如可以采用DTW算法等完成该计算。
步骤105,根据所述频谱相似度对所述候选歌曲进行排序,或者根据所述频谱相似度及所述旋律相似度,对所述候选歌曲进行排序。
本发明实施例的哼唱检索方法,通过引入频谱特征对传统旋律特征进行有效补充,由于频谱特征是反映哼唱歌词内容,区分性更大,因此大大提高了哼唱检索方法及系统的应用范围及检索结果的准确度。
需要说明的是,在应用本发明实施例的环境中,歌曲库需要预先建立,而且,对应歌曲库中的每首歌曲,还需要建立与其对应的旋律特征及频谱特征。其中,旋律特征可以是音符序列和/或基频包络,频谱特征可以是MFCC(Mel Frequency Cepstrum Coefficient,梅尔频谱倒谱系数)、PLP(Perceptual Linear Predictive,感知线性预测系数)等。
另外,前面提到,为了得到更准确的匹配结果,还可以综合利用上述音符序列及基频包络来计算用户哼唱歌曲片段的旋律特征与歌曲库中歌曲的旋律特征的相似度。
如图2所示,是本发明实施例中进行旋律特征匹配的一种流程图,包括以下步骤:
步骤201,计算用户哼唱歌曲片段的音符序列与歌曲库中待匹配歌曲的音符序列的相似度。
步骤202,计算用户哼唱歌曲片段的基频包络与歌曲库中歌曲的基频包络的相似度。
步骤203,将对应待匹配歌曲的音符序列的相似度与基频包络的相似度进行融合,得到对应所述待匹配歌曲的旋律特征的相似度。
具体的融合方式可以按以下公式进行:
Sim=α·S1+β·S2 (1)
其中,Sim表示旋律特征相似度,S1表示音符序列相似度,S2表示基频包络相似度,α和β为融合系数。
如图3所示,是本发明实施例中进行旋律特征匹配的另一种流程图,包括以下步骤:
步骤301,计算用户哼唱歌曲片段的音符序列与歌曲库中待匹配歌曲的音符序列中各子音符序列的相似度。
步骤302,选择待匹配歌曲的音符序列中与所述哼唱歌曲片段的音符序列相似度最大的子音符序列,并确定所述子音符序列的起止时间点。
基于音符序列特征,在进行动态匹配时,容许输入哼唱音符序列是从待匹配歌曲音符序列的任意一个音符开始。因此,在本发明实施例中,可以计算用户哼唱歌曲片段的音符序列与歌曲库中待匹配歌曲的音符序列中各子音符序列的相似度。然后选择相似度最大的子音符序列。
步骤303,计算哼唱歌曲片段的基频包络与待匹配歌曲在所述起止时间点内的基频包络的相似度。
步骤304,将所述基频包络的相似度作为旋律相似度,或者将所述基频包络的相似度与对应的最大子音符序列的相似度进行融合,并将融合结果作为旋律相似度。
与图2所示流程不同的是,在图3所示的流程中,基于基频包络的相似度计算只针对待匹配歌曲的音符序列中的一个子音符序列,从而可以提高计算效率,避免不必要的运算资源浪费。
另外,本发明实施例中还提供了一种综合利用音符序列表示的旋律特征和基频包络表示的旋律特征选择候选歌曲的方法,如图4所示,这种从歌曲库中选择候选歌曲的流程包括以下步骤:
步骤401,计算用户哼唱歌曲片段的音符序列与歌曲库中歌曲的音符序列的相似度;
步骤402,根据所述音符序列的相似度从所述歌曲库中选择初选歌曲;
步骤403,计算所述用户哼唱歌曲片段的基频包络与所述初选歌曲的基频包络的相似度;
步骤404,根据所述基频包络的相似度、或者根据所述基频包络的相似度及所述音符序列的相似度,对所述初选歌曲进行裁剪,得到候选歌曲。
比如,根据音符序列的相似度从歌曲库中选择了20首初选歌曲,当然,这20首初选歌曲是的音符序列与用户哼唱歌曲片段的音符序列的相似度是最高的,而且还可以依音符序列的相似度从高到低排序。然后,再计算用户哼唱歌曲片段的基频包络与这20首初选歌曲的基频包络的相似度。最后,根据基频包络的相似度、或者根据基频包络的相似度及音符序列的相似度(比如,对基频包络的相似度及音符序列的相似度进行加权平均),对这20首歌曲进行裁剪,得到裁剪后剩余的歌曲作为候选歌曲,以筛选出匹配度更高的候选歌曲,并且提高计算效率。具体的裁剪方式可以有多种,比如选择基频包络相似度最低的10首歌曲直接裁剪掉,或者按照20首初选歌曲音符序列相似度由低到高的顺序,依次检查其基频包络相似度的大小,将基频包络相似度小于一定值的初选歌曲裁剪掉。当然,还可以有其它裁剪方式,在此不再一一列举。
相应地,本发明实施例还提供一种哼唱检索系统,如图5所示,是该系统的一种结构示意图。
在该实施例中,所述系统包括:
获取模块501,用于获取用户哼唱歌曲片段;
特征提取模块502,用于提取所述哼唱歌曲片段的旋律特征及频谱特征;
选择模块503,用于根据所述旋律特征从所述歌曲库中选择候选歌曲;
频谱特征匹配模块504,用于将所述频谱特征与所述候选歌曲的频谱特征进行匹配,得到频谱相似度;
排序模块505,用于根据所述频谱相似度、或者根据所述频谱相似度及所述旋律相似度,对所述候选歌曲进行排序。
上述选择模块503可以选择旋律相似度大于设定阈值的歌曲作为候选歌曲;或者按照旋律相似度由大到小的顺序选择设定个数(比如20个)的歌曲作为候选歌曲。
需要说明的是,上述选择模块503具体可以将用户哼唱歌曲的旋律特征与歌曲库中歌曲的旋律特征进行匹配,并根据匹配结果从歌曲库中选择相似度最高的一定数量的歌曲作为候选歌曲。
前面提到,在本发明实施例中,所述旋律特征可以由音符序列和/或基频包络来表征。相应地,上述选择模块503也可以有多种实现结构,
比如,如图6所示,是上述选择模块的一种具体结构示意图。
该选择模块包括:旋律特征匹配模块601和候选模块602,其中,旋律特征匹配模块601用于将所述旋律特征与歌曲库中歌曲的旋律特征进行匹配,得到旋律相似度;候选模块602用于根据所述旋律相似度从所述歌曲库中选择候选歌曲。
所述旋律特征匹配模块601在进行旋律特征匹配时,也可以有多种不同的实现方式。比如,对于音符序列表示的旋律特征,旋律特征匹配模块601可以利用序列匹配算法,比如ED算法、LCS算法等,计算所述旋律特征与歌曲库中歌曲的旋律特征的相似度。对于基频包络表示的旋律特征,旋律特征匹配模块601可以利用DTW算法计算用户哼唱歌曲片段的旋律特征与歌曲库中歌曲的旋律特征的相似度。
另外,为了进行更准确的匹配,旋律特征匹配模块601还可以综合利用上述音符序列及基频包络来计算用户哼唱歌曲片段的旋律特征与歌曲库中歌曲的旋律特征的相似度。
比如,旋律特征匹配模块601可以分别计算用户哼唱歌曲片段的音符序列与歌曲库中待匹配歌曲的音符序列的相似度、以及用户哼唱歌曲片段的基频包络与歌曲库中歌曲的基频包络的相似度,然后将对应待匹配歌曲的音符序列的相似度与基频包络的相似度进行融合,得到对应所述待匹配歌曲的旋律特征的相似度。
再比如图7所示,是本发明实施例中旋律特征匹配模块的一种优选结构示意图。
在该实施例中,所述旋律特征匹配模块包括:
第一计算单元701,用于计算哼唱歌曲片段的音符序列与歌曲库中待匹配歌曲的音符序列中各子音符序列的相似度;
选择单元702,用于选择待匹配歌曲的音符序列中与所述哼唱歌曲片段的音符序列相似度最大的子音符序列;
确定单元703,用于确定所述相似度最大的子音符序列的起止时间点;
第二计算单元704,用于计算所述哼唱歌曲片段的基频包络与所述待匹配歌曲在所述起止时间点内的基频包络的相似度;
输出单元705,用于将所述基频包络的相似度作为旋律相似度输出。
在该实施例中,旋律特征匹配模块基于基频包络的相似度计算只针对待匹配歌曲的音符序列中的一个子音符序列,从而可以提高计算效率,避免不必要的运算资源浪费。
如图8所示,是本发明实施例中选择模块的另一种结构示意图。
在该实施例中,所述选择模块包括:
音符序列相似度计算单元801,用于计算所述哼唱歌曲片段的音符序列与歌曲库中歌曲的音符序列的相似度;
初选单元802,用于根据所述音符序列的相似度从所述歌曲库中选择初选歌曲;
基频包络相似度计算单元803,用于计算所述哼唱歌曲片段的基频包络与所述初选歌曲的基频包络的相似度;
裁剪单元804,用于根据所述基频包络的相似度、或者根据所述基频包络的相似度及所述音符序列的相似度,对所述候选歌曲进行裁剪,得到候选歌曲。具体的裁剪方式可以有多种,可以参照前面本发明方法实施例中的描述,在此不再一一列举。
本发明实施例的哼唱检索系统,通过引入频谱特征对传统旋律特征进行有效补充,由于频谱特征是反映哼唱歌词内容,区分性更大,并且不受歌曲库影响的信息,因此大大提高了哼唱检索方法及系统的应用环境及检索结果的准确度。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及设备;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (13)
1.一种哼唱检索方法,其特征在于,包括:
获取用户哼唱歌曲片段;
提取所述哼唱歌曲片段的旋律特征及频谱特征;
根据所述旋律特征从歌曲库中选择候选歌曲,包括将所述旋律特征与歌曲库中歌曲的旋律特征进行匹配,得到旋律相似度;根据所述旋律相似度从所述歌曲库中选择候选歌曲;
将所述频谱特征与所述候选歌曲的频谱特征进行匹配,得到频谱相似度;
根据所述频谱相似度、或者根据所述频谱相似度及所述旋律相似度,对所述候选歌曲进行排序。
2.根据权利要求1所述的方法,其特征在于,所述旋律特征包括:音符序列表示的旋律特征或基频包络表示的旋律特征;
所述将所述旋律特征与歌曲库中歌曲的旋律特征进行匹配,得到旋律相似度包括:
对于音符序列表示的旋律特征,利用序列匹配算法计算所述旋律特征与歌曲库中歌曲的旋律特征的相似度;
对于基频包络表示的旋律特征,利用动态时间规整算法计算所述旋律特征与歌曲库中歌曲的旋律特征的相似度。
3.根据权利要求1所述的方法,其特征在于,所述旋律特征包括:音符序列表示的旋律特征和基频包络表示的旋律特征;
所述将所述旋律特征与歌曲库中歌曲的旋律特征进行匹配,得到旋律相似度包括:
计算所述哼唱歌曲片段的音符序列与歌曲库中待匹配歌曲的音符序列中各子音符序列的相似度;
选择待匹配歌曲的音符序列中与所述哼唱歌曲片段的音符序列相似度最大的子音符序列,并确定所述子音符序列的起止时间点;
计算所述哼唱歌曲片段的基频包络与所述待匹配歌曲在所述起止时间点内的基频包络的相似度;
将所述基频包络的相似度作为旋律相似度;或者
将所述基频包络的相似度与对应的最大子音符序列的相似度进行融合,并将融合结果作为旋律相似度。
4.根据权利要求1所述的方法,其特征在于,所述根据所述旋律相似度从所述歌曲库中选择候选歌曲包括:
选择旋律相似度大于设定阈值的歌曲作为候选歌曲;或者
按照旋律相似度由大到小的顺序选择设定个数的歌曲作为候选歌曲。
5.根据权利要求1所述的方法,其特征在于,所述旋律特征包括:音符序列表示的旋律特征和基频包络表示的旋律特征;
所述根据所述旋律特征从所述歌曲库中选择候选歌曲包括:
计算所述哼唱歌曲片段的音符序列与歌曲库中歌曲的音符序列的相似度;
根据所述音符序列的相似度从所述歌曲库中选择初选歌曲;
计算所述哼唱歌曲片段的基频包络与所述初选歌曲的基频包络的相似度;
根据所述基频包络的相似度、或者根据所述基频包络的相似度及所述音符序列的相似度,对所述初选歌曲进行裁剪,得到候选歌曲。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述将所述频谱特征与所述候选歌曲的频谱特征进行匹配,得到频谱相似度包括:
采用动态时间规整算法计算所述频谱特征与所述候选歌曲的频谱特征的频谱相似度。
7.一种哼唱检索系统,其特征在于,包括:
获取模块,用于获取用户哼唱歌曲片段;
特征提取模块,用于提取所述哼唱歌曲片段中的旋律特征及频谱特征;
选择模块,用于根据所述旋律特征从歌曲库中选择候选歌曲;所述选择模块包括:旋律特征匹配模块,用于将所述旋律特征与歌曲库中歌曲的旋律特征进行匹配,得到旋律相似度;候选模块,用于根据所述旋律相似度从所述歌曲库中选择候选歌曲;
频谱特征匹配模块,用于将所述频谱特征与所述候选歌曲的频谱特征进行匹配,得到频谱相似度;
排序模块,用于根据所述频谱相似度、或者根据所述频谱相似度及所述旋律相似度,对所述候选歌曲进行排序。
8.根据权利要求7所述的系统,其特征在于,所述旋律特征包括:音符序列表示的旋律特征或基频包络表示的旋律特征;
所述旋律特征匹配模块,具体用于对于音符序列表示的旋律特征,利用序列匹配算法计算所述旋律特征与歌曲库中歌曲的旋律特征的相似度;或者对于基频包络表示的旋律特征,利用动态时间规整算法计算所述旋律特征与歌曲库中歌曲的旋律特征的相似度。
9.根据权利要求7所述的系统,其特征在于,所述旋律特征包括:音符序列表示的旋律特征和基频包络表示的旋律特征;
所述旋律特征匹配模块包括:
第一计算单元,用于计算所述哼唱歌曲片段的音符序列与歌曲库中待匹配歌曲的音符序列中各子音符序列的相似度;
选择单元,用于选择待匹配歌曲的音符序列中与所述哼唱歌曲片段的音符序列相似度最大的子音符序列;
确定单元,用于确定所述相似度最大的子音符序列的起止时间点;
第二计算单元,用于计算所述哼唱歌曲片段的基频包络与所述待匹配歌曲在所述起止时间点内的基频包络的相似度;
输出单元,用于将所述基频包络的相似度作为旋律相似度输出。
10.根据权利要求9所述的系统,其特征在于,所述旋律特征匹配模块还包括:
融合单元,用于将所述基频包络的相似度与对应的最大子音符序列的相似度进行融合;
所述输出单元,用于将所述融合单元得到的融合结果作为旋律相似度输出。
11.根据权利要求7所述的系统,其特征在于,
所述选择模块,具体选择旋律相似度大于设定阈值的歌曲作为候选歌曲;或者按照旋律相似度由大到小的顺序选择设定个数的歌曲作为候选歌曲。
12.根据权利要求7所述的系统,其特征在于,所述旋律特征包括:音符序列表示的旋律特征和基频包络表示的旋律特征;
所述选择模块包括:
音符序列相似度计算单元,用于计算所述哼唱歌曲片段的音符序列与歌曲库中歌曲的音符序列的相似度;
初选单元,用于根据所述音符序列的相似度从所述歌曲库中选择初选歌曲;
基频包络相似度计算单元,用于计算所述哼唱歌曲片段的基频包络与所述初选歌曲的基频包络的相似度;
裁剪单元,用于根据所述基频包络的相似度、或者根据所述基频包络的相似度及所述音符序列的相似度,对所述候选歌曲进行裁剪,得到候选歌曲。
13.根据权利要求7至12任一项所述的系统,其特征在于,
所述频谱特征匹配模块,具体用于采用动态时间规整算法计算所述频谱特征与所述候选歌曲的频谱特征的频谱相似度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410149146.2A CN104978962B (zh) | 2014-04-14 | 2014-04-14 | 哼唱检索方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410149146.2A CN104978962B (zh) | 2014-04-14 | 2014-04-14 | 哼唱检索方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104978962A CN104978962A (zh) | 2015-10-14 |
CN104978962B true CN104978962B (zh) | 2019-01-18 |
Family
ID=54275419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410149146.2A Active CN104978962B (zh) | 2014-04-14 | 2014-04-14 | 哼唱检索方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104978962B (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105244021B (zh) * | 2015-11-04 | 2019-02-12 | 厦门大学 | 哼唱旋律到midi旋律的转换方法 |
CN105608114B (zh) * | 2015-12-10 | 2019-08-30 | 北京搜狗科技发展有限公司 | 一种音乐检索方法及装置 |
CN105895079B (zh) * | 2015-12-14 | 2022-07-29 | 天津智融创新科技发展有限公司 | 语音数据的处理方法和装置 |
CN105575400A (zh) * | 2015-12-24 | 2016-05-11 | 广东欧珀移动通信有限公司 | 一种获取歌曲信息的方法、终端、服务器和系统 |
CN107229629B (zh) | 2016-03-24 | 2021-03-19 | 腾讯科技(深圳)有限公司 | 音频识别方法及装置 |
CN105956014A (zh) * | 2016-04-22 | 2016-09-21 | 成都涂鸦科技有限公司 | 一种基于深度学习的音乐播放方法 |
CN105788592A (zh) * | 2016-04-28 | 2016-07-20 | 乐视控股(北京)有限公司 | 一种音频分类方法及装置 |
CN106292423A (zh) * | 2016-08-09 | 2017-01-04 | 北京光年无限科技有限公司 | 针对人形机器人的音乐数据处理方法及装置 |
CN106531184A (zh) * | 2016-09-23 | 2017-03-22 | 南京凡豆信息科技有限公司 | 一种基于旋律特征匹配的智能硬件钢琴曲复练指导方法 |
CN106528706B (zh) * | 2016-10-26 | 2020-02-07 | 北京邮电大学 | 音乐检索方法及装置 |
CN106531153B (zh) * | 2016-10-27 | 2019-11-05 | 天津大学 | 基于唱段和念白提取的戏曲分类方法 |
CN106598537A (zh) * | 2016-11-16 | 2017-04-26 | 上海斐讯数据通信技术有限公司 | 移动终端音乐播放的控制方法、系统及移动终端 |
CN109241338A (zh) * | 2018-09-25 | 2019-01-18 | 奇瑞汽车股份有限公司 | 歌曲播放方法及装置 |
CN109215625A (zh) * | 2018-11-12 | 2019-01-15 | 无锡冰河计算机科技发展有限公司 | 一种音准评定方法和装置 |
CN109992694A (zh) * | 2019-04-17 | 2019-07-09 | 重庆誉存大数据科技有限公司 | 一种音乐智能推荐方法及系统 |
CN112102848B (zh) * | 2019-06-17 | 2024-04-26 | 华为技术有限公司 | 一种用于识别音乐的方法、芯片和终端 |
CN110675893B (zh) * | 2019-09-19 | 2022-04-05 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种歌曲识别方法、装置、存储介质及电子设备 |
CN110751955B (zh) * | 2019-09-23 | 2022-03-01 | 山东大学 | 基于时频矩阵动态选择的声音事件分类方法及系统 |
CN110853457B (zh) * | 2019-10-31 | 2021-09-21 | 中科南京人工智能创新研究院 | 可互动的音乐教学指导方法 |
CN111737513B (zh) * | 2020-05-06 | 2022-03-25 | 华南理工大学 | 一种针对海量音乐数据的哼唱检索系统 |
CN112331170B (zh) * | 2020-10-28 | 2023-09-15 | 平安科技(深圳)有限公司 | 佛乐旋律相似度的分析方法、装置、设备及存储介质 |
CN113421589B (zh) * | 2021-06-30 | 2024-03-01 | 平安科技(深圳)有限公司 | 歌手识别方法、装置、设备及存储介质 |
CN114900726B (zh) * | 2022-05-09 | 2024-05-07 | 深圳创维-Rgb电子有限公司 | 音频交互识别方法、电子设备及可读存储介质 |
CN115410544B (zh) * | 2022-08-26 | 2024-01-30 | 镁佳(北京)科技有限公司 | 一种音效处理方法、装置及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050086052A1 (en) * | 2003-10-16 | 2005-04-21 | Hsuan-Huei Shih | Humming transcription system and methodology |
CN1983253A (zh) * | 2005-12-15 | 2007-06-20 | 北京中科信利技术有限公司 | 一种提供音乐搜索服务的方法、设备和系统 |
CN101471068A (zh) * | 2007-12-26 | 2009-07-01 | 三星电子株式会社 | 通过哼唱音乐旋律搜索基于波形的音乐文件的方法和系统 |
CN101916250A (zh) * | 2010-04-12 | 2010-12-15 | 电子科技大学 | 一种基于哼唱的音乐检索方法 |
CN102375834A (zh) * | 2010-08-17 | 2012-03-14 | 腾讯科技(深圳)有限公司 | 音频文件检索方法、系统和音频文件类型识别方法、系统 |
CN102841932A (zh) * | 2012-08-06 | 2012-12-26 | 河海大学 | 一种基于内容的音频语义特征相似度比较方法 |
-
2014
- 2014-04-14 CN CN201410149146.2A patent/CN104978962B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050086052A1 (en) * | 2003-10-16 | 2005-04-21 | Hsuan-Huei Shih | Humming transcription system and methodology |
CN1983253A (zh) * | 2005-12-15 | 2007-06-20 | 北京中科信利技术有限公司 | 一种提供音乐搜索服务的方法、设备和系统 |
CN101471068A (zh) * | 2007-12-26 | 2009-07-01 | 三星电子株式会社 | 通过哼唱音乐旋律搜索基于波形的音乐文件的方法和系统 |
CN101916250A (zh) * | 2010-04-12 | 2010-12-15 | 电子科技大学 | 一种基于哼唱的音乐检索方法 |
CN102375834A (zh) * | 2010-08-17 | 2012-03-14 | 腾讯科技(深圳)有限公司 | 音频文件检索方法、系统和音频文件类型识别方法、系统 |
CN102841932A (zh) * | 2012-08-06 | 2012-12-26 | 河海大学 | 一种基于内容的音频语义特征相似度比较方法 |
Non-Patent Citations (1)
Title |
---|
基于音频检索的点歌系统;李珂 等;《北京师范大学学报(自然科学版)》;20060831;第42卷(第4期);第383-386页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104978962A (zh) | 2015-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104978962B (zh) | 哼唱检索方法及系统 | |
EP3843083A1 (en) | Method, system, and computer-readable medium for creating song mashups | |
EP2816550B1 (en) | Audio signal analysis | |
Rao et al. | Vocal melody extraction in the presence of pitched accompaniment in polyphonic music | |
US11354355B2 (en) | Apparatus, method, and computer-readable medium for cue point generation | |
CN101689225B (zh) | 生成音乐小样和识别相关的歌曲结构 | |
Ranjani et al. | Carnatic music analysis: Shadja, swara identification and raga verification in alapana using stochastic models | |
US20160027420A1 (en) | Evaluation of beats, chords and downbeats from a musical audio signal | |
CN109979483B (zh) | 音频信号的旋律检测方法、装置以及电子设备 | |
US20090171485A1 (en) | Segmenting a Humming Signal Into Musical Notes | |
US9646592B2 (en) | Audio signal analysis | |
Lehner et al. | Towards Light-Weight, Real-Time-Capable Singing Voice Detection. | |
CN110010159B (zh) | 声音相似度确定方法及装置 | |
CN105718486B (zh) | 在线哼唱检索方法及系统 | |
KR20130094538A (ko) | 사용자 입력 노래에 대응한 악보 생성 장치와 그 방법 | |
JP2008065153A (ja) | 楽曲構造解析方法、プログラムおよび装置 | |
US20230186877A1 (en) | Musical piece structure analysis device and musical piece structure analysis method | |
CN105630831B (zh) | 哼唱检索方法及系统 | |
Nagavi et al. | An extensive analysis of query by singing/humming system through query proportion | |
CN107025902B (zh) | 数据处理方法及装置 | |
CN112270929B (zh) | 一种歌曲识别的方法及装置 | |
Lee | A system for automatic chord transcription from audio using genre-specific hidden Markov models | |
CN113646756A (zh) | 信息处理装置、方法以及程序 | |
Khadkevich et al. | Phase-change based tuning for automatic chord recognition | |
CN112825244A (zh) | 配乐音频生成方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Wangjiang Road high tech Development Zone Hefei city Anhui province 230088 No. 666 Applicant after: Iflytek Co., Ltd. Address before: Wangjiang Road high tech Development Zone Hefei city Anhui province 230088 No. 666 Applicant before: Anhui USTC iFLYTEK Co., Ltd. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |