[发明专利]一种歌唱评价方法及系统有效
申请号: | 202010969451.1 | 申请日: | 2020-09-15 |
公开(公告)号: | CN112233691B | 公开(公告)日: | 2022-07-22 |
发明(设计)人: | 李伟;王沐书;赵天歌 | 申请(专利权)人: | 复旦大学 |
主分类号: | G10L25/03 | 分类号: | G10L25/03;G10L25/18;G10L25/21;G10L25/30;G10L25/51 |
代理公司: | 上海正旦专利代理有限公司 31200 | 代理人: | 陆飞;陆尤 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 歌唱 评价 方法 系统 | ||
1.一种歌唱评价方法,其特征在于,具体步骤为:
(1)分别计算待评价歌声片段以及目标歌声片段的有声区基音时间线;
(2)通过转录,从所述有声区基音时间线中提取音符,得到音符时间线;
(3)采用动态时间规整算法,即DTW算法,求解所述待评价歌声片段的音符时间线和所述目标歌声片段的音符时间线之间的DTW最佳路径以及差别惩罚矩阵;
(4)遍历整条DTW最佳路径,在DTW最佳路径出现横片段时,指示值+1,在DTW最佳路径出现纵片段时,所述指示值-1,所述指示值为所述待评价歌声片的节拍准确性评价指标;
(5)根据所述差别惩罚矩阵和DTW最佳路径,将所述待评价歌声片段的音符序列和所述目标歌声片段的音符序列对齐,并在对齐后对所述待评价歌声片段进行音符准确性评价;
步骤(1)中,分别计算待评价歌声片段以及目标歌声片段的有声区基音时间线的具体步骤为:对待评价歌声片段以及目标歌声片段分别进行加窗分帧操作;对待评价歌声片段以及目标歌声片段分别逐帧进行基于YIN算法的基音计算;将各相邻帧的基音连接在一起,得到基音向量;将所述基音向量结合各帧所对应的时间,确定基音时间线;对基音时间线上的各时间点进行有声区检测,对有声区进行提取,得到有声区基音时间线;
步骤(2)中,所述通过转录,从所述有声区基音时间线中提取音符,得到音符时间线,具体流程为:
(2.1)确定所述有声区基音时间线的基音值时间序列;
(2.2)以半音的第一设定比例量为分辨率,对基音值时间序列进行量化,得到量化后的基音值时间序列;
(2.3)对量化后的基音值时间序列连续进行三次动态平均滤波处理;其中,所述动态平均滤波处理具体包括:在当前音符段落i的基音点m处,计算下一个基音点m+1的基音值与当前音符段落i的音符均值的差值,当所述差值大于设定幅度时,将基音点m+1作为新的音符段落i+1的开始,否则将基音点m+1纳入当前音符段落i;
其中,第一次动态平均滤波中的设定幅度为半音的第二设定比例量,第二次动态平均滤波中的设定幅度为半音的第三设定比例量,第二次动态平均滤波中的设定幅度为第四设定比例量;
在所述对量化后的基音值时间序列连续进行三次动态平均滤波处理之后,还包括:
将基音点数小于第一设定数量的数值波动区以及基音点数小于第二设定数量的无数值区的音符值赋值为之前最近的音符段落的音符值;
步骤(3)-步骤(5)是采用动态时间规整算法对音符时间线比较和对齐;基于转录环节得到的音符时间线,比较用户和目标两个歌手在时间上的相似性,从而给出用户在所唱的歌声段落中是否出现了“抢拍”或者“慢拍”的提示,以及最终的节拍准确性评价;另外,还根据时间线相似性的比较结果,对两条基音时间线进行相互对齐,并由此给出客观的音符准确性评价;具体流程如下:
首先,计算用户和目标的两段音符序列之间的“差别惩罚矩阵”:
M(i,j)=min{(n0T(i)-n0U(j))2,α}
其中,M(i,j)为目标音符序列中第i个点和用户音符序列中第j个点之间的差别惩罚值,同时也是差别惩罚矩阵第i行第j列的元素,n0T(i)为目标音符序列,n0U(j)为用户音符序列,差别惩罚具体值由两个数值之差的平方来表现;α为该惩罚值的上限;
得到该矩阵后,遍历惩罚矩阵中的每一个点,设当前遍历的点为(i,j),在该点本身,其下一行的点(i+1,j)和其下一列的点(i,j+1)这三点中找出具有最小值的点,将该点的数值加到(i+1,j+1)点上,并记录该点处的最小值方向为选择方向,代表从右下的点走回左上的点时,从每个可能的点向左上方向移动过程中的每一步“方向”和承受的“惩罚”,该步骤累加出的新的矩阵为累积差别惩罚矩阵;累积惩罚矩阵中,采用如下公式计算每一个元素:
其中,Ms为累积惩罚矩阵中第i行第j列的元素,M为之前所定义的差别惩罚矩阵;
然后,从差别累积惩罚矩阵的右下角元素开始,通过逐步“回溯”,寻找矩阵中的最佳路径;由于在该矩阵的任何一个点上,已经选择并记录了向左上角“回溯”时,使得下一步受到的“惩罚”最小的方向信息,并且在当前点中已经加上了下一步受到的具体惩罚值,所以将经过的每一个点的已有方向信息记录在“横”和“纵”两个方向向量中,就最终得到由两个方向向量组成的“最佳路径”;
当以“最佳路径”中的“纵”向量为纵坐标,以“横”向量为横坐标,将该“最佳路径”绘制出来时,得到如下情况:在两段音符序列中,如果二者的各个音符所出现的时间点相似,也就是用户歌声没有发生节拍错误的话,“最佳路径”将反映为一段斜的直线;相反,如果二者的某些音符所出现的时间点不同,也就是用户的歌声在某些音的位置有“抢拍”或者“慢拍”的现象的话,“最佳路径”将反映为一段横或者纵的直线;
设定一个“节拍错误指示值”,在评价节拍准确性时,将该指示值设为初始0状态,遍历整条路径,在路径出现横片段时,该指示值被+1,当路径出现纵片段时,该值被-1,否则其数值不变;最终,观察该指示值在整段歌声时间段中的数值变化,大于0或者小于0的时间段意味着可能的抢拍或者慢拍;设定一个节拍错误幅度阈值Dt,并仅仅将偏移量在该数值以外的指示值偏移视为节拍错误的发生,Dt的取值为20个点;
由于在所得到的“最佳路径”中,实际上是以两个序列的索引出现顺序,记录了用户歌声与目标歌声之间节拍发生差别的具体方式;根据该“最佳路径”所反映出的索引出现顺序,对用户歌声和目标歌声这两个序列的索引进行调整,得到两组被对齐后的音符序列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010969451.1/1.html,转载请声明来源钻瓜专利网。