CN105630831B - 哼唱检索方法及系统 - Google Patents

哼唱检索方法及系统 Download PDF

Info

Publication number
CN105630831B
CN105630831B CN201410619867.5A CN201410619867A CN105630831B CN 105630831 B CN105630831 B CN 105630831B CN 201410619867 A CN201410619867 A CN 201410619867A CN 105630831 B CN105630831 B CN 105630831B
Authority
CN
China
Prior art keywords
matching
sequence
notes
fault
tolerant
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
Application number
CN201410619867.5A
Other languages
English (en)
Other versions
CN105630831A (zh
Inventor
吴奎
魏思
胡国平
胡郁
刘庆峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
iFlytek Co Ltd
Original Assignee
iFlytek Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by iFlytek Co Ltd filed Critical iFlytek Co Ltd
Priority to CN201410619867.5A priority Critical patent/CN105630831B/zh
Publication of CN105630831A publication Critical patent/CN105630831A/zh
Application granted granted Critical
Publication of CN105630831B publication Critical patent/CN105630831B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及音乐检索技术领域,公开了一种哼唱检索方法及系统,该方法包括:接收用户哼唱歌曲片段;提取所述哼唱歌曲片段的音符序列;基于容错匹配原则依次对所述哼唱歌曲片段的音符序列与模板库中各模板的音符序列进行匹配,得到匹配得分;所述容错匹配原则是指在匹配过程中降低异常音符的匹配得分所占比例;选取具有最大匹配得分的模板作为检索结果。本发明可以在不影响匹配结果的情况下,有效地避免异常音符的干扰。

Description

哼唱检索方法及系统
技术领域
本发明涉及音乐检索技术领域,具体涉及一种哼唱检索方法及系统。
背景技术
随着信息技术和网络技术的发展,音乐库规模呈几何级数增长,音乐歌曲的快速检索也成为新的研究热点。传统的音乐检索方法主要基于文本关键字检索,根据用户输入的歌曲名、歌手、流派、歌词等文本信息进行相关歌曲检索。而当用户只能哼唱出歌曲某一片段,但无法提供确切的歌曲名、歌手等文本信息时,传统的音乐检索系统显然无法满足这样的检索需求。为此,研究人员提出了音乐哼唱检索技术,即根据用户哼唱的歌曲片断,从音乐库中挑选相应的歌曲。
现有的哼唱检索系统大都采用基于歌曲旋律特征匹配的检索方法,即比较用户输入歌曲片断和音乐库中的歌曲在旋律特征上的相似度。具体地,首先从用户输入歌曲片断中提取旋律特征,随后和系统预置的歌曲库中的各歌曲旋律特征模板一一匹配,并选择具有最大相似度的歌曲为期望歌曲。所述歌曲旋律是指连续的有音调(或称为音高)、有节奏的音乐音符序列,旋律特征可以用音符序列或音高曲线的形式表示。
现有的基于歌曲旋律特征匹配的检索方法虽然解决了上述问题,但容错能力差,当用户哼唱的歌曲跑调或存在节奏错误时,很难获得正确的检索结果。
发明内容
本发明实施例提供一种哼唱检索方法及系统,以解决现有的哼唱检索系统容错能力差,在用户哼唱中存在较为严重跑调或节奏错误时,难以获得正确的检索结果的问题。
为此,本发明提供如下技术方案:
一种哼唱检索方法,包括:
接收用户哼唱歌曲片段;
提取所述哼唱歌曲片段的音符序列;
基于容错匹配原则依次对所述哼唱歌曲片段的音符序列与模板库中各模板的音符序列进行匹配,得到匹配得分;所述容错匹配原则是指在匹配过程中降低异常音符的匹配得分所占比例;
选取具有最大匹配得分的模板作为检索结果。
优选地,所述基于容错匹配原则依次对所述哼唱歌曲片段的音符序列与模板库中各模板的音符序列进行匹配,得到匹配得分包括:
获取模板的音符序列;
初始化用户哼唱歌曲片段的音符序列与所述模板的音符序列的匹配得分矩阵;
根据容错匹配条件更新匹配得分矩阵,得到匹配得分。
优选地,所述容错匹配条件包括:音高容错条件和时长容错条件。
优选地,所述基于容错匹配原则依次对所述哼唱歌曲片段的音符序列与模板库中各模板的音符序列进行匹配,得到匹配得分还包括:
对更新后的匹配得分矩阵进行容错惩罚,得到匹配得分。
优选地,所述对更新后的匹配得分矩阵进行容错惩罚,得到匹配得分包括:
对满足容错匹配条件更新后的匹配得分矩阵,增加容错匹配音符间距离惩罚;
对不满足容错匹配条件更新后的匹配得分矩阵,增加空对齐惩罚。
优选地,所述方法还包括:
在匹配过程中,限定当前匹配的哼唱歌曲片段的音符序列及所述模板的音符序列中连续出现空对齐音符的个数。
优选地,所述方法还包括:
在匹配过程中,限定与当前匹配的哼唱歌曲片段的音符序列相匹配的模板的音符序列的子音符序列的最大长度。
一种哼唱检索系统,包括:
接收模块,用于接收用户哼唱歌曲片段;
提取模块,用于提取所述哼唱歌曲片段的音符序列;
匹配模块,用于基于容错匹配原则依次对所述哼唱歌曲片段的音符序列与模板库中各模板的音符序列进行匹配,得到匹配得分;所述容错匹配原则是指在匹配过程中降低异常音符的匹配得分所占比例;
输出模块,用于选取具有最大匹配得分的模板作为检索结果。
优选地,所述匹配模块包括:
模板获取单元,用于获取模板音符序列;
初始化单元,用于初始化用户哼唱歌曲片段的音符序列与所述模板的音符序列的匹配得分矩阵;
更新单元,用于根据容错匹配条件更新匹配得分矩阵,得到匹配得分。
优选地,所述匹配模块还包括:惩罚单元,用于对更新后的匹配得分矩阵进行容错惩罚,得到匹配得分。
优选地,所述惩罚单元具体用于对满足容错匹配条件更新后的匹配得分矩阵,增加容错匹配音符间距离惩罚,对不满足容错匹配条件更新后的匹配得分矩阵,增加空对齐惩罚。
优选地,所述匹配模块还包括:
第一优化单元,用于在匹配过程中,限定当前匹配的哼唱歌曲片段的音符序列及所述模板的音符序列中连续出现空对齐音符的个数。
优选地,所述匹配模块还包括:第二优化单元,用于在匹配过程中,限定与当前匹配的哼唱歌曲片段的音符序列相匹配的模板的子音符序列的最大长度。
本发明实施例提供的哼唱检索方法及系统,基于容错匹配原则对用户哼唱歌曲片段的音符序列与模板库中各模板的音符序列进行匹配,进而获取优化的哼唱的音符序列与当前模板的音符序列之间的最大匹配得分,得到检索结果。从而有效地解决了现有的哼唱检索系统容错能力差,在用户哼唱中存在较为严重跑调或节奏错误时,难以获得正确的检索结果的问题。由于对用户哼唱的音调和节奏进行了很大程度上的容错,因而有效地避免了异常音符的干扰,提高了匹配正确率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本发明实施例哼唱检索方法的流程图;
图2是本发明实施例中音符序列匹配的一种流程图;
图3是本发明实施例哼唱检索系统的一种结构示意图;
图4是本发明实施例哼唱检索系统中匹配模块的一种具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
传统的基于编辑距离计算音符序列之间旋律相似性的方法容错能力差,在用户哼唱较为准确时能够得到满意的结果,但是在用户哼唱中存在较为严重跑调或节奏错误时,则很难获得正确的结果。其主要原因在于为了避免非目标模板在距离计算中获得较小的距离,传统距离计算方法中设置插入和删除音符的惩罚值往往较大,因而对音调和节奏严重错误的哼唱音符、漏唱或者多唱的音符等异常音符,会产生一个较大的距离值,从而使得异常音符对最终的输入哼唱音符和模板音符序列的编辑距离起主导作用,导致无法容错处理,获取匹配结果。
为此,本发明实施例提出了一种旋律容错匹配的哼唱检索方法,能够对用户哼唱的音调和节奏进行很大程度上的容错,提高匹配正确率。具体地,基于容错匹配原则依次对所述哼唱歌曲片段的音符序列与模板库中各模板的音符序列进行匹配,得到匹配得分;所述容错匹配原则是指在匹配过程中降低异常音符的匹配得分所占比例。从而在不影响匹配结果的情况下,最大可能地避免异常音符的干扰。
如图1所示,是本发明实施例哼唱检索方法的流程图,包括以下步骤:
步骤101,接收用户哼唱歌曲片段。
步骤102,提取所述哼唱歌曲片段的音符序列。
音符序列是旋律特征的一种表现形式,其提取过程具体如下:
(1)提取所述哼唱歌曲的基频特征序列
基频特征反映说话人声带振动的频率,一般来说,音调越高则基频越大。基频特征提取有较成熟的算法,如自相关基频估计、平均幅度差函数法、谐波法等。如在自相关法基频估计时,首先对连续语音信号进行加窗分帧,通常取两个基频周期以上。然后计算每一帧的自相关函数,并获取该自相关函数的峰值点位置。最后根据该峰值点位置获得基频特征序列。
(2)基频特征变换
基频特征序列反映了哼唱时音调变化的走势,不能被人耳直接感知。为了提取更符合人耳的感知和音乐原理的特征,在本发明实施例中,对提取的基频特征序列进行分段和量化,获得具有一定音高和时长的音符序列。具体地,可以对该基频特征序列进行音符分割,根据静音段位置及基频值变化幅度确定音符边界。然后使用相邻音符之间音高差作为当前音符的音高值。进一步按照十二平均律将所述音高值转化到以半音程为单位的音高值。
步骤103,基于容错匹配原则依次对所述哼唱歌曲片段的音符序列与模板库中各模板的音符序列进行匹配,得到匹配得分。
需要说明的是,这里的模板是指歌曲的清唱音频数据,可以通过多种方式获得,比如从MIDI文件获得,或者从互联网上下载等。模板的音符序列是使用歌曲的一份清唱音频数据提取的音符序列,模板的子音符序列是指模板的音符序列中若干个连续的音符组成的序列。而且,一首歌曲可以对应一个或者多个模板,但是一个模板只能对应一首歌曲。在应用本发明实施例的环境中,歌曲库需要预先建立。所述容错匹配原则是指在匹配过程中降低异常音符的匹配得分所占比例。
在本发明实施例中,可以利用序列匹配算法,比如ED(Edit Distance,编辑距离)算法、LCS(Longest Common Subsequence,最长公共子序列)算法等,计算所述哼唱歌曲片段的音符序列与模板库中各模板的音符序列的相似度,将所述相似度作为匹配得分。具体匹配过程将在后面详细说明。
步骤104,选取具有最大匹配得分的模板作为检索结果。
如图2所示,是本发明实施例中基于容错匹配原则对用户哼唱歌曲片段的音符序列与模板的音符序列进行匹配的一种流程图,包括以下步骤:
步骤201,获取模板的音符序列。
为了描述方便,将模板的音符序列记为其中,表示音符音高,表示音符时长。
步骤202,初始化用户哼唱歌曲片段的音符序列与所述模板的音符序列的匹配得分矩阵。
设S是(m+1)×(n+1)阶匹配得分矩阵,S(i,j)记录用户哼唱歌曲片段的音符序列Qi={q1,q2,...,qi}与模板的音符序列Xj={x1,...,xj}之间的最大匹配得分,LM 是n+1维向量,记录匹配得分矩阵S每列的最大值。则初始化匹配得分矩阵S如下:
S(0,j)=0; (1)
S(i,0)=-i*insert_penalty; (2)
其中,上式(1)表示的初始化条件容许输入哼唱可以从模板对应歌曲的任意时间位置开始,上式(2)中的insert_penalty是哼唱片段的音符序列相对于模板的音符序列多插入一个音符的惩罚。
需要说明的是,本发明实施例的方法并不仅限于上述匹配得分矩阵的初始化方式,可以根据实际应用情况对S(0,j)和S(i,0)进行设定,比如都设为零,即对哼唱片段多唱音符不设惩罚。
步骤203,根据容错匹配条件更新匹配得分矩阵。
由于用户在哼唱歌曲时在某些音符段可能出现较大的音高或者节奏错误,在这些音符段,使用传统的距离计算方法则会产生较大的匹配距离,导致检索失败。为此,在本发明实施例中,采用基于容错匹配的似然度计算方法,具体如下:判断当前匹配的哼唱歌曲片段的音符序列中的音符与所述模板的音符序列中的音符是否满足容错匹配条件;如果是,则更新匹配得分矩阵累积为: S(i,j)=S(i-1,j-1)+1;否则,更新匹配得分矩阵累积为: S(i,j)=max{S(i,j-1),S(i-1,j)}。
需要说明的是,在实际应用中,还可以采用其它的公式更新匹配得分矩阵,只需满足允许异常音符有限地不参与相似度匹配计算这一原则即可。
上述容错匹配条件具体可以根据应用需要来设定,比如可以包括音高容错条件和时长容错条件,即若同时满足音高容错条件和时长容错条件,则认为满足容错匹配条件,否则认为不满足容错匹配条件。
为了便于描述,后续对于音符和音符满足容错匹配条件记为
比如,上述音高容错条件及时长容错条件可以分别如下:
其中,的函数,当然也可以是固定的常数。
具体可以采用与的值成正比的函数,如t是一个常数。该函数很好地描述了用户在哼唱音高变化较大的相邻音符时出现音高错误的幅度较大,反之则较小的情况。
上式(4)的设定可以容纳用户哼唱快一倍和慢一倍的节奏。
这样,更新匹配得分矩阵累积可以写成如下形式:
通过容错匹配,用户哼唱歌曲的音符序列与模板的音符序列相似度的计算,可以消除用户哼唱错误严重的音符的影响,而只考虑哼唱错误不是很严重的音符。这与实际情况是相符的,因为用户真实哼唱一首歌曲时,大部分音符可以较为正确地哼唱,只有较少的一部分音符,可能由于音高或者节奏变化较大难以正确把握,出现较为严重的哼唱错误。
在上式(5)计算匹配得分时没有考虑容错匹配的音符间距离,也没有对不能容错匹配的音符进行任何惩罚,这可能使得非目标模板的音符序列获得较高的匹配得分。因此在本发明实施例中,还可进一步对所述容错匹配得分执行惩罚,以便在容错基础上,对其匹配得分进行有效控制,保证容错匹配得分的正确率。
为此,在另一实施例中,仍如图2所示,还可进一步包括以下步骤:
步骤204,对更新后的匹配得分矩阵进行容错惩罚,得到匹配得分。
具体地,可以对满足容错匹配条件更新后的匹配得分矩阵,增加容错匹配音符间距离惩罚,对不满足容错匹配条件更新后的匹配得分矩阵,增加空对齐惩罚,从而得到如下匹配得分矩阵累积:
其中,gapcost是对不满足容错匹配条件的音符造成的空对齐的惩罚,其一般取值较小。d(qi,xi)表示音符和音符的归一化距离,取值范围为[0,1],可定义为:
其中,PitchRange是音高的最大值,DurationRange是时长的最大值。
这样,当两个音符满足容错匹配条件时,更相似的音符得分也就越高。由于用户一般可以较为正确地哼唱一首歌的大部分音符,通过引入惩罚,可以过滤大部分非目标模板。
可见,本发明实施例的哼唱检索方法,基于容错匹配原则对用户哼唱歌曲片段的音符序列与模板库中各模板的音符序列进行匹配,进而获取优化的哼唱的音符序列与当前模板的音符序列之间的最大匹配得分,得到检索结果。由于对用户哼唱的音调和节奏进行了很大程度上的容错,因而有效地提高了匹配正确率。
尤其是针对用户哼唱中出现的少量哼唱严重错误的音符或漏唱、多唱等异常音符,在匹配时允许异常音符有限地不参与相似度匹配计算,进一步地,对其匹配得分有效控制,使其占据的比例很小,从而在不影响匹配结果的情况下,最大可能地避免异常音符的干扰。
为了进一步提高匹配的合理性,在本发明另一实施例中,还可在增加容错机制后进一步限制非目标模板的匹配得分,优化得分矩阵,其具体实现有以下两种方式:
方式1:在匹配过程中,通过对模板的音符序列和输入哼唱的音符序列中连续出现空对齐音符的个数进行限制,获取合理的匹配结果。其具体实现如下:
a)设置输入哼唱的音符序列和模板的音符序列中容许连续出现空对齐音符的最大个数都为α;
b)对于当前匹配得分矩阵的元素D(i,j),LX、LQ分别记录模板的音符序列和输入哼唱的音符序列上一次最近的容错匹配位置。当音符和音符不满足容错匹配条件时,如果|i-LQ|>α或者|j-LX|>α,则将D(i,j) 置0。
方式2:在匹配过程中,通过限制与输入哼唱的音符序列匹配的模板的子音符序列的最大长度ML,获取合理的匹配结果。其具体实现如下:
a)设置允许与输入哼唱的音符序列匹配的模板的子音符序列的最长长度 ML=γ|Q|,其中,|Q|是输入哼唱的音符个数,γ是大于1的常数,如设置为 1.25等。
b)对于当前更新后的得分矩阵第j列的每个元素S(i,j),SPi,j记录哼唱的音符序列在模板的音符序列中的起点,当|j-SPi,j|==ML时,如果音符和音符是满足容错匹配条件的,则S(i,j)=1-d(qi,xi),否则,S(i,j)=0。
相应地,本发明实施例还提供一种哼唱检索系统,如图3所示,是该系统的一种结构示意图。
在该实施例中,所述系统包括:
接收模块301,用于接收用户哼唱歌曲片段;
提取模块302,用于提取所述哼唱歌曲片段的音符序列;
匹配模块303,用于基于容错匹配原则依次对所述哼唱歌曲片段的音符序列与模板库中各模板的音符序列进行匹配,得到匹配得分;所述容错匹配原则是指在匹配过程中降低异常音符的匹配得分所占比例;
输出模块304,用于选取具有最大匹配得分的模板作为检索结果。
所述容错匹配原则是指在匹配过程中降低异常音符的匹配得分所占比例。在本发明实施例中,匹配模块303可以利用序列匹配算法,,比如ED(Edit Distance,编辑距离)算法、LCS(Longest Common Subsequence,最长公共子序列)算法等,计算所述哼唱歌曲片段的音符序列与模板库中各模板的音符序列的相似度,将所述相似度作为匹配得分。
需要说明的是,在实际应用中,匹配模块303需要依次将模板库中各模板的音符序列与用户哼唱歌曲片段的音符序列进行匹配,如图4所示,是匹配模块303的一种具体结构。
在该实施例中,所述匹配模块303包括:
模板获取单元401,用于获取模板的音符序列;
初始化单元402,用于初始化用户哼唱歌曲片段的音符序列与所述模板的音符序列的匹配得分矩阵;
更新单元403,用于根据容错匹配条件更新匹配得分矩阵。
在上式(5)计算匹配得分时没有考虑容错匹配的音符间距离,也没有对不能容错匹配的音符进行任何惩罚,这可能
为了避免在容错匹配过程中使得非目标模板的音符序列获得较高的匹配得分,在本发明实施例中,如图4所示,上述匹配模块303还可进一步包括:惩罚单元404,用于对更新后的匹配得分矩阵进行容错惩罚,,得到匹配得分。
具体的容错惩罚处理方式可参照前面本发明哼唱检索方法实施例中的描述,在此不再赘述。
需要说明的是,在实际应用中,匹配模块303还可以有其它实现结构,只要是基于容错匹配原则依次对所述哼唱歌曲片段的音符序列与模板库中各模板的音符序列进行匹配,得到匹配得分即可,对此本发明实施例不做限定。
本发明实施例的哼唱检索系统,基于容错匹配原则对用户哼唱歌曲片段的音符序列与模板库中各模板的音符序列进行匹配,进而获取优化的哼唱的音符序列与当前模板的音符序列之间的最大匹配得分,得到检索结果。由于对用户哼唱的音调和节奏进行了很大程度上的容错,因而有效地提高了匹配正确率。
尤其是针对用户哼唱中出现的少量哼唱严重错误的音符或漏唱、多唱等异常音符,在匹配时允许异常音符有限地不参与相似度匹配计算,进一步地,对其匹配得分有效控制,使其占据的比例很小,从而在不影响匹配结果的情况下,最大可能地避免异常音符的干扰。
为了进一步提高匹配的合理性,在本发明系统另一实施例中,还可在增加容错机制后进一步限制非目标模板的匹配得分,优化得分矩阵,其具体实现有以下两种方式:
方式1:在所述匹配模块303中增加第一优化单元(图中未示),以在匹配过程中,限定当前匹配的哼唱歌曲片段的音符序列及模板的音符序列中连续出现空对齐音符的个数。
方式2:在所述匹配模块303中增加第二优化单元(图中未示),以在匹配过程中,限定与当前匹配的哼唱歌曲片段的音符序列相匹配的模板的子音符序列的最大长度。
上述第一优化单元和第二优化单元对限定对象的具体处理过程可参照前面本发明哼唱检索方法实施例中的描述,在此不再赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及设备;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (11)

1.一种哼唱检索方法,其特征在于,包括:
接收用户哼唱歌曲片段;
提取所述哼唱歌曲片段的音符序列;
基于容错匹配原则依次对所述哼唱歌曲片段的音符序列与模板库中各模板的音符序列进行匹配,得到匹配得分;其中,所述容错匹配原则是指在匹配过程中降低异常音符的匹配得分所占比例,且在匹配过程中,限定当前匹配的哼唱歌曲片段的音符序列及所述模板的音符序列中连续出现空对齐音符的个数;
选取具有最大匹配得分的模板作为检索结果。
2.根据权利要求1所述的方法,其特征在于,所述基于容错匹配原则依次对所述哼唱歌曲片段的音符序列与模板库中各模板的音符序列进行匹配,得到匹配得分包括:
获取模板的音符序列;
初始化用户哼唱歌曲片段的音符序列与所述模板的音符序列的匹配得分矩阵;
根据容错匹配条件更新匹配得分矩阵,得到匹配得分。
3.根据权利要求2所述的方法,其特征在于,所述容错匹配条件包括:音高容错条件和时长容错条件。
4.根据权利要求2所述的方法,其特征在于,所述基于容错匹配原则依次对所述哼唱歌曲片段的音符序列与模板库中各模板的音符序列进行匹配,得到匹配得分还包括:
对更新后的匹配得分矩阵进行容错惩罚,得到匹配得分。
5.根据权利要求4所述的方法,其特征在于,所述对更新后的匹配得分矩阵进行容错惩罚,得到匹配得分包括:
对满足容错匹配条件更新后的匹配得分矩阵,增加容错匹配音符间距离惩罚;
对不满足容错匹配条件更新后的匹配得分矩阵,增加空对齐惩罚。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
在匹配过程中,限定与当前匹配的哼唱歌曲片段的音符序列相匹配的模板的音符序列的子音符序列的最大长度。
7.一种哼唱检索系统,其特征在于,包括:
接收模块,用于接收用户哼唱歌曲片段;
提取模块,用于提取所述哼唱歌曲片段的音符序列;
匹配模块,用于基于容错匹配原则依次对所述哼唱歌曲片段的音符序列与模板库中各模板的音符序列进行匹配,得到匹配得分;所述容错匹配原则是指在匹配过程中降低异常音符的匹配得分所占比例;所述匹配模块包括:第一优化单元,用于在匹配过程中,限定当前匹配的哼唱歌曲片段的音符序列及所述模板的音符序列中连续出现空对齐音符的个数;
输出模块,用于选取具有最大匹配得分的模板作为检索结果。
8.根据权利要求7所述的系统,其特征在于,所述匹配模块包括:
模板获取单元,用于获取模板音符序列;
初始化单元,用于初始化用户哼唱歌曲片段的音符序列与所述模板的音符序列的匹配得分矩阵;
更新单元,用于根据容错匹配条件更新匹配得分矩阵,得到匹配得分。
9.根据权利要求8所述的系统,其特征在于,所述匹配模块还包括:
惩罚单元,用于对更新后的匹配得分矩阵进行容错惩罚,得到匹配得分。
10.根据权利要求9所述的系统,其特征在于,所述惩罚单元具体用于对满足容错匹配条件更新后的匹配得分矩阵,增加容错匹配音符间距离惩罚,对不满足容错匹配条件更新后的匹配得分矩阵,增加空对齐惩罚。
11.根据权利要求7至10任一项所述的系统,其特征在于,所述匹配模块还包括:
第二优化单元,用于在匹配过程中,限定与当前匹配的哼唱歌曲片段的音符序列相匹配的模板的子音符序列的最大长度。
CN201410619867.5A 2014-11-06 2014-11-06 哼唱检索方法及系统 Active CN105630831B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410619867.5A CN105630831B (zh) 2014-11-06 2014-11-06 哼唱检索方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410619867.5A CN105630831B (zh) 2014-11-06 2014-11-06 哼唱检索方法及系统

Publications (2)

Publication Number Publication Date
CN105630831A CN105630831A (zh) 2016-06-01
CN105630831B true CN105630831B (zh) 2019-11-15

Family

ID=56045776

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410619867.5A Active CN105630831B (zh) 2014-11-06 2014-11-06 哼唱检索方法及系统

Country Status (1)

Country Link
CN (1) CN105630831B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106292423A (zh) * 2016-08-09 2017-01-04 北京光年无限科技有限公司 针对人形机器人的音乐数据处理方法及装置
CN106649642A (zh) * 2016-12-08 2017-05-10 腾讯音乐娱乐(深圳)有限公司 一种歌曲搜索方法、系统及相关设备
CN108806392A (zh) * 2018-07-03 2018-11-13 东北石油大学 一种声乐发音训练装置及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1752970A (zh) * 2005-09-08 2006-03-29 上海交通大学 数字音乐旋律的跨越式高速匹配装置
JP2008146209A (ja) * 2006-12-07 2008-06-26 Just Syst Corp 文書検索装置、文書検索方法および文書検索プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1752970A (zh) * 2005-09-08 2006-03-29 上海交通大学 数字音乐旋律的跨越式高速匹配装置
JP2008146209A (ja) * 2006-12-07 2008-06-26 Just Syst Corp 文書検索装置、文書検索方法および文書検索プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"基于哼唱的音乐检索系统";鲁帆;《中国优秀硕士学位论文全文数据库 (电子期刊) 信息科技辑》;20120115(第1期);期刊第3章 *
"音乐哼唱检索关键技术研究";郭红波;《中国优秀硕士学位论文全文数据库 (电子期刊) 信息科技辑》;20071015(第4期);期刊第4.3.2节 *

Also Published As

Publication number Publication date
CN105630831A (zh) 2016-06-01

Similar Documents

Publication Publication Date Title
US11475867B2 (en) Method, system, and computer-readable medium for creating song mashups
Gómez et al. Towards computer-assisted flamenco transcription: An experimental comparison of automatic transcription algorithms as applied to a cappella singing
US11900904B2 (en) Crowd-sourced technique for pitch track generation
US6528715B1 (en) Music search by interactive graphical specification with audio feedback
JP4640407B2 (ja) 信号処理装置、信号処理方法及びプログラム
KR101520621B1 (ko) 노래/허밍에 의한 질의 방법 및 장치
CN104978962A (zh) 哼唱检索方法及系统
Tsai et al. Query-By-Example Technique for Retrieving Cover Versions of Popular Songs with Similar Melodies.
CN101689225A (zh) 生成音乐小样和识别相关的歌曲结构
EP3839938B1 (en) Karaoke query processing system
Tsunoo et al. Beyond timbral statistics: Improving music classification using percussive patterns and bass lines
CN105630831B (zh) 哼唱检索方法及系统
CN110867174A (zh) 自动混音装置
Pardo et al. Audio source separation in a musical context
Sako et al. Ryry: A real-time score-following automatic accompaniment playback system capable of real performances with errors, repeats and jumps
CN111863030A (zh) 音频检测方法及装置
Müller et al. Content-based audio retrieval
CN114664277A (zh) 音频评估方法及装置
Makhmutov et al. Momos-mt: mobile monophonic system for music transcription: sheet music generation on mobile devices
Roininen et al. Modeling the timing of cuts in automatic editing of concert videos
Valero-Mas et al. Analyzing the influence of pitch quantization and note segmentation on singing voice alignment in the context of audio-based Query-by-Humming
CN110400559A (zh) 一种音频合成的方法、装置及设备
Kharat et al. A survey on query by singing/humming
JP2012159717A (ja) 楽曲データの変化点検出装置、楽曲データの変化点検出方法及び楽曲データの変化点検出プログラム
Pauwels et al. Improving the key extraction performance of a simultaneous local key and chord estimation system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant