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

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

【发明内容】

[0005] 本发明实施例提供一种哼唱检索方法及系统,W解决现有的哼唱检索系统容错能 力差,在用户哼唱中存在较为严重跑调或节奏错误时,难W获得正确的检索结果的问题。
[0006] 为此,本发明提供如下技术方案:
[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] 优选地,所述匹配模块还包括:
[003引第一优化单元,用于在匹配过程中,限定当前匹配的哼唱歌曲片段的音符序列及 所述模板的音符序列中连续出现空对齐音符的个数。
[0039] 优选地,所述匹配模块还包括;第二优化单元,用于在匹配过程中,限定与当前匹 配的哼唱歌曲片段的音符序列相匹配的模板的子音符序列的最大长度。
[0040] 本发明实施例提供的哼唱检索方法及系统,基于容错匹配原则对用户哼唱歌曲片 段的音符序列与模板库中各模板的音符序列进行匹配,,进而获取优化的哼唱的音符序列 与当前模板的音符序列之间的最大匹配得分,,得到检索结果。从而有效地解决了现有的哼 唱检索系统容错能力差,在用户哼唱中存在较为严重跑调或节奏错误时,难W获得正确的 检索结果的问题。由于对用户哼唱的音调和节奏进行了很大程度上的容错,因而有效地避 免了异常音符的干扰,提高了匹配正确率。
【附图说明】
[0041] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一 些实施例,对于本领域普通技术人员来讲,还可W根据送些附图获得其他的附图。
[0042] 图1是本发明实施例哼唱检索方法的流程图;
[0043] 图2是本发明实施例中音符序列匹配的一种流程图;
[0044] 图3是本发明实施例哼唱检索系统的一种结构示意图;
[0045] 图4是本发明实施例哼唱检索系统中匹配模块的一种具体结构示意图。
【具体实施方式】
[0046] 为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施 方式对本发明实施例作进一步的详细说明。
[0047] 传统的基于编辑距离计算音符序列之间旋律相似性的方法容错能力差,在用户哼 唱较为准确时能够得到满意的结果,但是在用户哼唱中存在较为严重跑调或节奏错误时, 则很难获得正确的结果。其主要原因在于为了避免非目标模板在距离计算中获得较小的 距离,传统距离计算方法中设置插入和删除音符的惩罚值往往较大,因而对音调和节奏严 重错误的哼唱音符、漏唱或者多唱的音符等异常音符,会产生一个较大的距离值,从而使得 异常音符对最终的输入哼唱音符和模板音符序列的编辑距离起主导作用,导致无法容错处 理,获取匹配结果。
[004引为此,本发明实施例提出了一种旋律容错匹配的哼唱检索方法,能够对用户哼唱 的音调和节奏进行很大程度上的容错,提高匹配正确率。具体地,基于容错匹配原则依次对 所述哼唱歌曲片段的音符序列与模板库中各模板的音符序列进行匹配,得到匹配得分;所 述容错匹配原则是指在匹配过程中降低异常音符的匹配得分所占比例。从而在不影响匹配 结果的情况下,最大可能地避免异常音符的干扰。
[0049] 如图1所示,是本发明实施例哼唱检索方法的流程图,包括W下步骤:
[0050] 步骤101,接收用户哼唱歌曲片段。
[0051] 步骤102,提取所述哼唱歌曲片段的音符序列。
[0052] 音符序列是旋律特征的一种表现形式,其提取过程具体如下:
[0053] (1)提取所述哼唱歌曲的基频特征序列
[0054] 基频特征反映说话人声带振动的频率,一般来说,音调越高则基频越大。基频特征 提取有较成熟的算法,如自相关基频估计、平均幅度差函数法、谐波法等。如在自相关法基 频估计时,首先对连续语音信号进行加窗分顿,通常取两个基频周期W上。然后计算每一顿 的自相关函数,并获取该自相关函数的峰值点位置。最后根据该峰值点位置获得基频特征 序列。
[00巧](2)基频特征变换
[0056] 基频特征序列反映了哼唱时音调变化的走势,不能被人耳直接感知。为了提取更 符合人耳的感知和音乐原理的特征,在本发明实施例中,对提取的基频特征序列进行分段 和量化,获得具有一定音高和时长的音符序列。具体地,可W对该基频特征序列进行音符分 害IJ,根据静音段位置及基频值变化幅度确定音符边界。然后使用相邻音符之间音高差作为 当前音符的
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1