基于16位dsp平台应用的嵌入式哼唱检索方法及系统的制作方法
【专利摘要】本发明提出了基于16位DSP平台应用的嵌入式哼唱检索方法,包括:采集用户的哼唱旋律,并将哼唱旋律按照PCM格式存储;根据短时自相关算法对哼唱旋律进行基音提取,获得PV信息;对PV信息进行音符切分和后处理后转换为NOTE格式信息,剔除虚假基音信息,获得待检索旋律;将MIDI音乐库信息转换为NOTE格式信息,获得标准MIDI音乐模板库;将待检索旋律与标准MIDI音乐模板库通过NLS算法和NRA算法进行旋律匹配,获得匹配分数;其中NLS算法是将基于帧的传统LS算法修改为基于NOTE信息;NRA算法将基于帧的传统RA算法修改为基于NOTE信息;根据匹配分数排序,输出匹配结果。本发明可高效精确检索,适应性广。
【专利说明】基于16位DSP平台应用的嵌入式哼唱检索方法及系统
【技术领域】
[0001]本发明涉及微波自动搜索音乐的领域,特别是指一种用于哼唱检索的,且能应用于16位DSP平台的检索方法及片上系统。
【背景技术】
[0002]目前,如何高效方便的从大量信息中检索出目标信息,对于音乐信息的检索来说成为一大挑战,随着数据存储方式和手段的不断更新和发展,数字化信息已经渗透到我们生活的各个角落,传统的检索方式需要给信息进行分类与标注,工程量浩大程度超出人们的想象,并且随着信息量的进一步增大,传统检索方式的弊端越发凸显。
[0003]哼唱检索是一种新型的,基于内容的检索方式,伴随着学者的不断探索和研究,这种基于内容的音乐检索方式具有多方面的优势,首先,随着互联网以及其他电子产品的飞速发展,音乐的存储量也不断增长,按照这种增长方式,对歌曲按照传统办法的标注和信息分类工程变得越来越大,而基于内容的哼唱检索无需进行分类和标注工作,利用相关转换软件将目标音乐文件转换成相应的模板格式便可使用,同时由于哼唱检索算法的发展,目前已经可以高效准确的检索出目标音乐信息。其次,人们经常会遇见这样一种状况,只记得音乐的旋律,却记不清楚音乐的歌词和具体名字,对于这样一种检索需求,显然传统的检索方式已经显露出了功能上的弊端,甚至完全不能实现预期检索目标,这时候基于内容检索方式的优势便显露无疑,检索者只需要哼唱出记得的相应旋律便可从大量的音乐文件中寻找出相应的检索音乐信息。而这样的检索方式对于智能化市场应用前景也是一片光明,例如MP3、移动电话、卡拉0K、智能玩具等系统引入嵌入式哼唱检索技术会有很好的市场需求空间。
[0004]由于哼唱检索的特殊优势和发展空间,国内外研究学者对于这一领域的研究不断开展和加深,新的算法和应用平台不断的引入到该领域,总之,作为基于内容的检索方式,哼唱检索具有重要的理论研究价值和广泛的工程应用背景,然而,市场化产品这一领域仍然存在这巨大的发展空间,目前在市场上实际应用的产品都是基于PC的大型系统,例如中国移动、中国电信所提供的彩铃检索服务,受已有算法复杂度和检索精确度的影响,现有基于PC机的哼唱检索匹配算法无法直接应用于已有的绝大多数嵌入式系统。
【发明内容】
[0005]本发明提出一种可以高效精确检索,并且适用于底端嵌入式平台的基于16位DSP平台应用的嵌入式哼唱检索片上系统。
[0006]本发明的技术方案是这样实现的:
[0007]基于16位DSP平台应用的嵌入式哼唱检索方法,包括:
[0008]采集用户的哼唱旋律,并将哼唱旋律按照PCM格式存储;
[0009]根据短时自相关算法对哼唱旋律进行基音提取,获得PV信息;
[0010]对PV信息进行音符切分和后处理后转换为NOTE格式信息,剔除虚假基音信息,获得待检索旋律;
[0011 ] 将MIDI音乐库信息转换为NOTE格式信息,获得标准MIDI音乐模板库;
[0012]将待检索旋律与标准MIDI音乐模板库通过NLS算法和NRA算法进行旋律匹配,获得匹配分数;其中NLS算法是将基于帧的传统LS算法修改为基于NOTE信息;NRA算法将基于帧的传统RA算法修改为基于NOTE信息;
[0013]根据匹配分数高低排序,输出匹配结果。
[0014]另本发明提供的基于16位DSP平台应用的嵌入式哼唱检索片上系统,包括:
[0015]采集模块,用于采集用户的哼唱旋律,并将哼唱旋律按照PCM格式存储;
[0016]基音提取模块,用于根据短时自相关算法对哼唱旋律进行基音提取,获取PV信息;
[0017]音符切分模块,用于对PV信息进行音符切分,将时间顺序上相邻的基音信息进行合并/拆分处理;
[0018]后处理模块,用于对PV信息进行基频路径代价计算,Boersma计算处理后获得输入旋律的PV信息;
[0019]算法匹配模块,用于将PV信息,MIDI音乐库信息转换为NOTE格式信息;并根据NLS算法模块和NRA算法模块对转换后的PV信息与MIDI音乐库信息中的MIDI音乐模板进行匹配,或者匹配分数;
[0020]匹配结果输出端,用于根据匹配分数输出排序以及求取最大匹配距离值所对应MIDI音乐模板序号。
[0021]本发明提供的基于16位DSP平台应用的嵌入式哼唱检索方法及片上系统,基音提取得到PV信息后,将PV信息转换成音符信息,并对音符信息进行切分,剔除掉虚假的音符信息,得到稳健的音符信息;由于音符信息能够更好的描述歌曲旋律的特点,相比于基于帧的基音信息,采用音符匹配方式能够有效的提高匹配计算的精确度;另外采用NLS与NRA算法替代传统的基于帧的匹配方法,匹配计算的精确度有了极大提高。
【专利附图】
【附图说明】
[0022]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0023]图1为本发明基于16位DSP平台应用的嵌入式哼唱检索方法流程图;
[0024]图2为本发明基于16位DSP平台应用的嵌入式哼唱检索片上系统的框图。
【具体实施方式】
[0025]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0026]基于16位DSP平台应用的嵌入式哼唱检索方法,包括:[0027]采集用户的哼唱旋律,并将哼唱旋律按照PCM格式存储;(步骤I)
[0028]根据短时自相关算法对哼唱旋律进行基音提取,获得PV(Pitch Value简称PV,基音值)信息;(步骤2)
[0029]对PV信息进行音符切分和后处理后转换为NOTE格式信息,剔除虚假基音值信息,获得待检索旋律;(步骤3)
[0030]将MIDI音乐库信息转换为NOTE格式信息,获得标准MIDI音乐模板库;(步骤4)[0031 ] 将待检索旋律 与标准MIDI音乐模板库通过NLS算法和NRA算法进行旋律匹配,获得匹配分数;其中NLS算法是将基于帧的传统LS算法修改为基于NOTE信息;NRA算法将基于帧的传统RA算法修改为基于NOTE信息;(步骤5)
[0032]根据匹配分数高低排序,输出匹配结果。(步骤6)
[0033]在执行步骤I时,用户哼唱的时间长度需要大于0.3秒,最佳的是超过6秒,哼唱旋律最初以PCM (Pulse Code Modulation,简称PCM,脉码调制录音)格式进行保存。
[0034]在执行步骤2时,短时自相关算法为一种域信号处理中最常见的算法,采用短时自相关算法提取基频,同时辅助以基频后期处理,根据最大分辨率,即最小的帧移,进行基音提取。相比于频域和其他变换域的自相关处理算法,短时自相关算法在保证运算精度的前提下大幅降低了计算复杂度,因而更加适合于嵌入式芯片平台的应用。
[0035]在执行步骤3时,对PV信息进行音符切分和后处理后转换为NOTE (音符)格式信息,剔除虚假基音信息。在实际中,由于自相关函数最大峰值处未必是基音周期,所以如果直接把最大峰值的倒数作为基频可能出错,因此需要进行后处理。后处理主要是从已得到的基音信息中剔除掉一些虚假的基音值信息,得到真实的基音值信息。转换为NOTE (音符)格式信息,是一种基本的转换方法。
[0036]其中,音符切分的具体方法是:采用加权求平均的方法来决定是否分割成新的音符和确定其对应的音高值。
[0037]后处理包括的步骤有:(1)基频路径代价计算;(2)B0ersma计算最小路径。
[0038]计算基频路径代价函数值的方法:把前η个峰值作为候选项,并对相应的基音周期标记为=Pk(O)?pk(n-l)。相邻帧间的代价函数定义为:
[0039]
【权利要求】
1.基于16位DSP平台应用的嵌入式哼唱检索方法,其特征在于,包括: 采集用户的哼唱旋律,并将哼唱旋律按照PCM格式存储; 根据短时自相关算法对哼唱旋律进行基音提取,获得PV信息; 对PV信息进行音符切分和后处理后转换为NOTE格式信息,剔除虚假基音信息,获得待检索旋律; 将MIDI音乐库信息转换为NOTE格式信息,获得标准MIDI音乐模板库; 将待检索旋律与标准MIDI音乐模板库通过NLS算法和NRA算法进行旋律匹配,获得匹配分数;其中NLS算法是将基于帧的传统LS算法修改为基于NOTE信息;NRA算法将基于帧的传统RA算法修改为基于NOTE信息; 根据匹配分数高低排序,输出匹配结果。
2.如权利要求1所述的基于16位DSP平台应用的嵌入式哼唱检索方法,其特征在于,在执行采集用户的哼唱旋律的步骤时,用户哼唱时间的长度大于0.3s。
3.如权利要求1所述的基于16位DSP平台应用的嵌入式哼唱检索方法,其特征在于,在执行对PV信息进行音符切分和后处理后转换为NOTE格式信息的步骤时,后处理具体包括:基频路径代价计算以及Boer sma计算最小路径。
4.如权利要求1所述的基于16位DSP平台应用的嵌入式哼唱检索方法,其特征在于,在执行根据匹配分数高低排序,输出匹配结果的步骤时,其具体操作为,将待检索旋律与标准MIDI音乐模板库当中的每一个标准MIDI音乐模板进行匹配,并计算出对应的匹配得分,根据匹配得分高低进行排序,并筛选出得分最高的标准MIDI音乐模板的序号,即为最终的输出匹配结果。
5.如权利要求1所述的基于16位DSP平台应用的嵌入式哼唱检索方法,其特征在于,在执行采集用户的哼唱旋律的步骤时,用户哼唱时间的长度大于6s。
6.基于16位DSP平台应用的嵌入式哼唱检索片上系统,其特征在于,包括: 采集模块,用于采集用户的哼唱旋律,并将哼唱旋律按照PCM格式存储; 基首提取1?块,用于根据短时自相关算法对哼唱旋律进行基首提取,获取PV ?目息;音符切分模块,用于对PV信息进行音符切分,将时间顺序上相邻的基音信息进行合并/拆分处理; 后处理模块,用于对PV信息进行基频路径代价计算,Boersma计算处理后获得输入旋律的PV信息; 算法匹配模块,用于将PV信息,MIDI音乐库信息转换为NOTE格式信息;并根据NLS算法模块和NRA算法模块对转换后的PV信息与MIDI音乐库信息中的MIDI音乐模板进行匹配,获得匹配分数; 匹配结果输出端,用于根据匹配分数高低输出排序以及求取最大匹配距离值所对应MIDI音乐模板序号。
7.如权利要求6所述的基于16位DSP平台应用的嵌入式哼唱检索片上系统,其特征在于,NLS算法模块用于将NOTE格式信息进行线性伸缩,具体步骤为: 预先设定一系列伸缩因子; 对哼唱旋律进行伸缩; 找出哼唱旋律与MIDI音乐模板的最小距离。
8.如权利要求6所述的基于16位DSP平台应用的嵌入式哼唱检索片上系统,其特征在于,NRA算法模块的具体步骤包括: 对哼唱旋律进行伸缩与MIDI音乐模板进行对齐; 把MIDI音乐模板从中间分成等长的两部分Hl、H2,把哼唱旋律从中间截成两段S1、S2,两段的长度根据预先设定的比例而定,分别为f Ts和(l-f)Ts,其中f为[O,I]之间的比例因子,Ts为哼唱旋律段的总时间长度; 分别对S1、S2进行伸缩与H1、H2对齐,计算出整体距离; 根据哼唱旋律与MIDI音乐模板间的最小距离找出最佳分割比值f best ; 对新分割成的两部分H1、H2按照以上步骤进行迭代,直到迭代次数为O,得到匹配距离值为哼唱旋律与歌曲模板 信息之间的匹配距离。
【文档编号】G10L15/08GK103440250SQ201310308947
【公开日】2013年12月11日 申请日期:2013年7月22日 优先权日:2013年7月22日
【发明者】曹宏 申请人:北京承芯卓越科技有限公司