[发明专利]一种基于二分逼近动态时间归整匹配的音乐哼唱检索方法有效
申请号: | 201310505428.7 | 申请日: | 2013-10-24 |
公开(公告)号: | CN103559232B | 公开(公告)日: | 2017-01-04 |
发明(设计)人: | 邹北骥;周义洪;王磊 | 申请(专利权)人: | 中南大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G10L15/02;G10L15/08 |
代理公司: | 长沙市融智专利事务所43114 | 代理人: | 黄美成 |
地址: | 410083 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于二分逼近动态时间归整匹配的音乐哼唱检索方法,所述技术领域涉及音频检索和哼唱检索技术,该方法包括两部分,一是通过MIDI音乐文件来构建音乐数据库。二是提取哼唱片段的特征,并与音乐数据库模型进行基于二分逼近动态时间归整的匹配并返回检索结果。包括以下步骤:首先对哼唱片段进行归一化、带通滤波、预加重、加窗分帧等处理;接着进行滤除静音段、基音检测、中值平滑等处理;最后进行基于二分逼近动态时间归整的匹配,根据匹配率由大到小排序并返回结果。本发明的优点是解决了音乐检索的音符序列时间点对齐问题和音符相对音高两大难题;能显著提高检索命中率。 | ||
搜索关键词: | 一种 基于 二分 逼近 动态 时间 归整 匹配 音乐 哼唱 检索 方法 | ||
【主权项】:
一种基于二分逼近动态时间归整匹配的音乐哼唱检索方法,其特征在于,包括以下步骤:步骤1:原始数据的获取;从用户哼唱的音乐片段中,提取所有的采样电平数据,并将采样电平数据进行归一化处理,得到归一化数据;归一化过程为:首先将每个电平数据除以32768.0f,接着找出进行了除法运算操作的所有数据中的最大值,最后将所有的数据乘以“0.9/最大值”,f表示浮点数;步骤2:预处理;对所述的归一化数据采用巴特沃斯带通滤波器滤除量化噪声;再进行预加重处理;最后采用汉明窗对音乐信号进行加窗和分帧处理;步骤3:过滤静音段;采用公式s≤len‑N计算每一数据帧的平均能量值;其中EnergyVec[i]为第i数据帧的平均能量值;N为每一数据帧的数据个数,即帧长,Len为采样点的总个数;并由此得出所有数据帧的平均能量值fMeam,取阈值threshold=0.3f*fMean,将小于该阈值的数据帧舍弃掉,小于该阈值的数据帧为静音帧,从而过滤静音段,得到了音乐信号samplew[i],samplew[i]表示某一帧的第i个点值;步骤4:频率转换;采用峰值检测来提取每一帧数据的基音周期,从而获得基音频率;再采用中值平滑方法来滤除频率提取造成的误差,最后将音乐哼唱片段的基音频率利用频率转换函数转换到音乐数据库音高的同一水准;即:转换后的音高为semitone=12*log2(fy(n)/440)+69,其中fy(n)是音乐哼唱片段的基音频率;步骤5:数据匹配,返回结果:从经过频率转换后的哼唱片段中提取出音高轮廓曲线,采用二分逼近的动态时间归整方法对该哼唱片段和音乐数据库中的音乐模板一一进行匹配,并根据匹配率进行排序,最后返回结果,完成音乐哼唱的检索;其中,步骤5中的匹配过程为:a1:对哼唱旋律片段进行处理提取出该哼唱旋律片段对应的音高轮廓曲线,哼唱旋律片段的音高轮廓曲线上有效点的数量为m;音高轮廓曲线为音高在时间上的变化,音高轮廓曲线是在一个二维坐标系中的曲线,横轴表示时间,纵轴表示音高;有效点的数量为以10ms为单位划分得到的音高点的总数量;10ms为每一帧所对应的时间长度;a2:从音乐数据库文件中获取一首歌曲的音高轮廓曲线,该首歌曲的音高轮廓曲线上有效点的数量为n;a3:初始化阈值fCenter=0.0f,fSpan=0.4f,fMinDist=2147483647;其中fCenter表示哼唱旋律片段音高轮廓曲线在纵向上偏移的距离;fSpan表示哼唱旋律片段音高轮廓曲线相对于fCenter的偏移距离;fMinDist表示哼唱旋律片段与该首歌曲的最小动态时间归整值;a4:将哼唱旋律片段的初始音高加上fCenter+fSpan,根据动态时间规整采用迭代计算的方式计算状态转换方程计算D[n,m]的值;状态转换方程为:D[n,m]=min{D[n‑2,m‑1],D[n‑1,m‑1],D[n‑1,m‑2]}+d[n,m],初始化公式为D(1,1)=d(1,1),迭代运算采用动态时间归整的状态转移方程来进行运算,终止运算为D(T,R)=D[n,m],T=观测序列长度,R为对应的具体位置;其中d[n,m]为音乐数据库模板位置n与哼唱片段位置m处音高的欧氏距离;上规整值Dup=D[n,m];a5:将哼唱旋律片段的初始音高加上fCenter,计算中心动态时间归整值;Dcenter=D[n,m];再将哼唱旋律片段的初始音高加上fCenter‑fSpan,计算下动态时间归 整值Ddown=D[n,m];a6:将fMinDist置为fMinDist、Dup、Dcenter和Ddown4个值中的最小值;a7:将fCenter置为Dup、Dcenter、Ddown三者中的最小值并减去偏移值;a8:设置fSpan=fSpan/2,如果fSpan>0.01,则跳到a4继续执行,否则跳到a9执行;a9:将fMinDist的值置为哼唱旋律片段与该首歌曲音高轮廓曲线的二分逼近动态时间归整值;a10:将音乐数据库里面的每首歌曲与哼唱旋律片段进行a3到a9的匹配,根据fMinDist的值由小到大排列,越排前面的歌曲表示匹配率越高,最后将结果进行返回;fMinDist的值越小表示该动态时间归整的值越小,表示匹配率越高。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中南大学,未经中南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310505428.7/,转载请声明来源钻瓜专利网。