CN106157977B - 一种唱歌评测方法及系统 - Google Patents
一种唱歌评测方法及系统 Download PDFInfo
- Publication number
- CN106157977B CN106157977B CN201510169265.9A CN201510169265A CN106157977B CN 106157977 B CN106157977 B CN 106157977B CN 201510169265 A CN201510169265 A CN 201510169265A CN 106157977 B CN106157977 B CN 106157977B
- Authority
- CN
- China
- Prior art keywords
- frame number
- recording data
- current sentence
- sentence
- jth
- 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
Links
Landscapes
- Auxiliary Devices For Music (AREA)
Abstract
本发明公开了一种唱歌评测方法及系统,属于语音信号处理技术领域。该唱歌评测方法包括:获取用户演唱歌曲中当前句子的录音数据;获取所述当前句子的标准乐谱数据;在包含所述当前句子的录音数据的起始位置的搜索窗长范围内查找最佳偏移帧数;根据所述最佳偏移帧数对所述当前句子的录音数据进行平移,以使所述当前句子的录音数据与所述标准乐谱数据在时间上同步;对平移后的所述当前句子的录音数据进行评分;根据用户演唱歌曲的每个句子的评分得到所述用户演唱歌曲的评分结果。该唱歌评测方法,计算过程简单、评分准确,能够满足实时打分的应用需求。
Description
技术领域
本发明涉及语音信号处理技术领域,特别涉及一种唱歌评测方法及系统。
背景技术
随着移动互联网技术的快速发展,人们可以方便、快捷地实现随时随地唱歌的需求,越来越多的KTV或在线歌唱软件开始针对用户的唱歌水平进行评测,从而增加了唱歌的娱乐性。由于受到K歌设备软件或硬件等因素的影响,例如:(1)录音设备的响应时间与播放时间存在时间差;(2)录音硬件设备质量较差,无法保证录音采样率的稳定性;(3)歌曲播放时间难以获取,歌曲播放过程中可能无法准确读取各个时刻的播放进度,如Flash平台录音时,需要等待一段时间之后才能取得录音数据,系统延迟较大;(4)软件运行过程中可能会由于CPU占用等问题,导致系统运行受阻,从而在某个时间点出现录音偏差。这些影响因素容易导致系统所接收的用户演唱数据(也即,用户演唱歌曲的录音数据)与用户实际的演唱数据之间存在时间偏差,进而导致唱歌评测的准确度较低。因此,在对用户演唱歌曲进行评测前,需要将接收到的用户演唱数据与用户实际的演唱数据进行同步操作。在不考虑演唱技巧的情况下,用户在演唱歌曲过程中,总是期望能与标准原唱同步,考虑到用户的实际演唱时间难以获取,可以将用户演唱歌曲的录音与标准原唱声音进行同步操作,然后对同步后的演唱数据进行评分,从而保证评分结果的准确性。
现有技术中,通常采用动态时间规整(Dynamic Time Warping,简称DTW)算法将用户演唱歌曲的录音和标准原唱声音进行同步。具体而言,通过分别提取用户演唱歌曲的录音和标准原唱声音的频谱特征(例如:美尔频率倒谱系数或基频特征),然后采用DWT实现两者的同步。其中,标准原唱声音通常为带有伴奏的歌曲原唱数据或通过音乐专业人士录制的数据。当使用带有伴奏的歌曲原唱时,由于标准原唱中含有伴奏的声音,会对同步操作造成干扰,并且伴奏声音也很难准确消除;当使用音乐专业人士录制的数据时,将导致成本直接提升;并且采用DWT实现同步操作时,一般是以帧为单位进行每步代价的计算,导致计算量较大,很难满足实时评分的要求。
发明内容
本发明实施例提供了一种唱歌评测方法及系统,计算过程简单、评分准确,能够满足实时打分的应用需求。
本发明实施例提供的技术方案如下:
一方面,提供了一种唱歌评测方法,包括:
获取用户演唱歌曲中当前句子的录音数据;
获取所述当前句子的标准乐谱数据;
在包含所述当前句子的录音数据的起始位置的搜索窗长范围内查找最佳偏移帧数;
根据所述最佳偏移帧数对所述当前句子的录音数据进行平移,以使所述当前句子的录音数据与所述标准乐谱数据在时间上同步;
对平移后的所述当前句子的录音数据进行评分;
根据用户演唱歌曲的每个句子的评分得到所述用户演唱歌曲的评分结果。
优选地,所述在包含所述当前句子的录音数据的起始位置的搜索窗长范围内查找最佳偏移帧数包括:
判断所述当前句子是否为所述歌曲的首句;
如果是,则从所述当前句子的录音数据的起始位置开始以预设步长在所述搜索窗长范围内多次调整偏移帧数,并根据每次调整后的偏移帧数对所述当前句子的录音数据进行平移,计算每次平移后的所述当前句子的录音数据和所述标准乐谱数据的音高差值;
将所述音高差值中最小音高差值所对应的偏移帧数确定为所述当前句子的最佳偏移帧数。
优选地,所述方法还包括:如果所述当前句子不是所述歌曲的首句,且所述当前句子为所述歌曲的第j句,j为大于等于2的整数;
计算第j-1句的音高偏移得分;
如果所述音高偏移得分高于预设分值,则根据预设的窗长调整因子和所述音高偏移得分对所述搜索窗长进行调整。
优选地,所述在包含所述当前句子的录音数据的起始位置的搜索窗长范围内查找最佳偏移帧数还包括:
分别获取第j-1句的录音数据的音高偏移得分和最佳偏移帧数;
获取第j-2句的录音数据的最佳偏移帧数,并根据所述第j-2句的录音数据的最佳偏移帧数对所述第j-1句的录音数据进行平移,得到平移后的所述第j-1句的录音数据的起始帧编号;
在包含所述第j-1句的录音数据的起始帧编号的搜索窗长范围内查找所述第j-1句的录音数据和所述标准乐谱数据的最小音高差值所对应的偏移帧数;
根据所述起始帧编号和所述最小音高差值所对应的偏移帧数确定所述第j-1句的录音数据的最佳偏移位置;
根据所述第j-1句的录音数据的最佳偏移帧数、所述音高偏移得分、所述起始帧编号和所述最佳偏移位置确定所述当前句子的最佳偏移帧数。
优选地,在对平移后的所述当前句子的录音数据进行评分之前,所述方法还包括:
以音符为单位计算平移后的所述当前句子的录音数据和所述标准乐谱数据的误差距离;
如果所述误差距离大于预设阈值,则以所述预设阈值替代所述误差距离;
根据所述预设阈值和/或所述误差距离计算所述当前句子的录音数据和所述标准乐谱数据的累计误差距离。
另一方面,提供了一种唱歌评测系统,包括:
第一获取模块,用于获取用户演唱歌曲中当前句子的录音数据;
第二获取模块,用于获取所述当前句子的标准乐谱数据;
查找模块,用于在包含所述当前句子的录音数据的起始位置的搜索窗长范围内查找最佳偏移帧数;
平移模块,用于根据所述最佳偏移帧数对所述当前句子的录音数据进行平移,以使所述当前句子的录音数据与所述标准乐谱数据在时间上同步;
第一评分模块,用于对平移后的所述当前句子的录音数据进行评分;
第二评分模块,用于根据用户演唱歌曲的每个句子的评分得到所述用户演唱歌曲的评分结果。
优选地,所述查找模块包括:
第一判断单元,用于判断所述当前句子是否为所述歌曲的首句;
第一调整单元,用于在所述第一判断单元判断所述当前句子为所述歌曲的首句后,从所述当前句子的录音数据的起始位置开始以预设步长在所述搜索窗长范围内多次调整偏移帧数;
第一平移单元,用于根据每次调整后的偏移帧数对所述当前句子的录音数据进行平移;
第一计算单元,用于计算每次平移后的所述当前句子的录音数据和所述标准乐谱数据的音高差值;
第一确定单元,用于将所述音高差值中最小音高差值所对应的偏移帧数确定为所述当前句子的最佳偏移帧数。
优选地,所述系统还包括:
第二计算单元,用于在所述第一判断单元判断所述当前句子不是所述歌曲的首句,且判断所述当前句子为所述歌曲的第j句后,j为大于等于2的整数,计算第j-1句的音高偏移得分;
第二判断单元,用于判断所述音高偏移得分是否高于预设分值;
第二调整单元,用于在所述第二判断单元判断所述音高偏移得分高于预设分值后,根据预设的窗长调整因子和所述音高偏移得分对所述搜索窗长进行调整。
优选地,所述查找模块还包括:
第一获取单元,用于分别获取第j-1句的录音数据的音高偏移得分和最佳偏移帧数;
第二获取单元,用于获取第j-2句的录音数据的最佳偏移帧数;
第二平移单元,用于根据所述第j-2句的录音数据的最佳偏移帧数对所述第j-1句的录音数据进行平移,得到平移后的所述第j-1句的录音数据的起始帧编号;
查找单元,用于在包含所述第j-1句的录音数据的起始帧编号的搜索窗长范围内查找所述第j-1句的录音数据和所述标准乐谱数据的最小音高差值所对应的偏移帧数;
第二确定单元,用于根据所述起始帧编号和所述最小音高差值所对应的偏移帧数确定所述第j-1句的录音数据的最佳偏移位置;
第三确定单元,用于根据所述第j-1句的录音数据的最佳偏移帧数、所述音高偏移得分、所述起始帧编号和所述最佳偏移位置确定所述当前句子的最佳偏移帧数。
优选地,所述系统还包括:
第一计算模块,用于在所述第一评分模块对平移后的所述当前句子的录音数据进行评分之前,以音符为单位计算平移后的所述当前句子的录音数据和所述标准乐谱数据的误差距离;
判断模块,用于判断所述误差距离是否大于预设阈值;
替代模块,用于在所述判断模块判断所述误差距离大于预设阈值后,以所述预设阈值替代所述误差距离;
第二计算模块,用于根据所述预设阈值和/或所述误差距离计算所述当前句子的录音数据和所述标准乐谱数据的累计误差距离。
本发明实施例提供的唱歌评测方法及系统,通过在包含当前句子的录音数据的起始位置的搜索窗长范围内查找最佳偏移帧数,并根据最佳偏移帧数对当前句子的录音数据进行平移,使当前句子的录音数据与标准乐谱数据在时间上同步,然后对平移后的当前句子的录音数据进行评分,计算过程简单,评分结果准确、及时,能够满足实时打分的应用需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种唱歌评测方法的流程图;
图2是本发明实施例提供的第二种唱歌评测方法的流程图;
图3是本发明实施例提供的第三种唱歌评测方法的流程图;
图4是本发明实施例提供的一种查找最佳偏移帧数的流程图;
图5是本发明实施例提供的一种累计误差计算方法的流程图;
图6是本发明实施例提供的一种唱歌评测系统的结构示意图;
图7是本发明实施例提供的第二种唱歌评测系统的结构示意图;
图8是本发明实施例提供的第三种唱歌评测系统的结构示意图;
图9是本发明实施例提供的第四种唱歌评测系统的结构示意图;
图10是本发明实施例提供的第五种唱歌评测系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
本发明实施例提供了一种唱歌评测方法,如图1所示,包括以下步骤:
步骤101:获取用户演唱歌曲中当前句子的录音数据。
具体地,可以采用麦克风等输入设备对用户演唱歌曲进行数据采集。
步骤102:获取当前句子的标准乐谱数据。
步骤103:在包含当前句子的录音数据的起始位置的搜索窗长范围内查找最佳偏移帧数。
其中,可以通过端点检测技术等进行录音数据的起始位置的确定,搜索窗长可以预先设置好,例如,为录音数据的起始位置的左右20帧范围,从而在该搜索窗长范围内查找最佳偏移帧数。
具体而言,如图2所示,在包含当前句子的录音数据的起始位置的搜索窗长范围内查找最佳偏移帧数包括:
步骤201:判断当前句子是否为歌曲的首句。
具体可以根据歌曲的标记文件判断当前句子是否为歌曲的首句。
如果是,则执行步骤202:从当前句子的录音数据的起始位置开始以预设步长在搜索窗长范围内多次调整偏移帧数,并根据每次调整后的偏移帧数对当前句子的录音数据进行平移,计算每次平移后的当前句子的录音数据和标准乐谱数据的音高差值。
其中,预设步长可以根据实际需要进行设定,例如设置为2帧,从而可以在当前句子的录音数据的-20帧到20帧范围内,每次移动2帧,并计算每次平移后的当前句子的录音数据和标准乐谱数据的音高差值。
具体而言,对于一个具体位置的用户演唱歌曲的录音数据和标准乐谱数据的音高差值SubPitchj={subPitchj1,subPitchj2,...subPitchjk},则用户演唱数据中第j句与标准乐谱第j句之间在移动shiftjk帧时的音高差值subPitchjk的计算方法如公式(1)所示:
其中,对于首句j=1,subPitchjk表示用户演唱数据中第j句与标准乐谱第j句之间在移动shiftjk帧时的音高差值,UserPitchj(i+shiftjk)表示第j句用户演唱数据中第i帧移动shiftjk帧后的音高值,TemplatePitchj(i+shiftjk)表示第j句标准乐谱第i帧移动shiftjk帧后的音高值,Nj表示第j句用户演唱数据的总帧数。shiftjk表示第j句用户演唱数据第k次移动的偏移帧数,例如,步长为2时,每次移动的偏移帧数:第一次移动2帧,第二次移动4帧,第三次移动6帧等。
步骤203:将音高差值中最小音高差值所对应的偏移帧数确定为当前句子的最佳偏移帧数。
将音高差值SubPitch1中最小音高差值对应的偏移帧数shiftjk,确定为用户演唱数据的当前句子的录音数据的最佳偏移帧数BestShift1。
如果当前句子不是歌曲的首句,假设当前句子为歌曲的第j句,j为大于等于2的整数,如图3所示,上述唱歌评测方法还包括:
步骤301:计算第j-1句的音高偏移得分。
在本发明实施例中,如果当前句子为歌曲的第j句,则j-1句为当前句子的上一句子,也即计算第j-1句的音高偏移得分,具体计算方式如公式(2)所示:
其中,min{SubPitchj-1}是指SubPitchj-1中的最小值,MAX指比min{SubPitchj-1}还大的半音数,如MAX=4,即4个半音,一般根据经验取值。由公式(2)可知,当用户演唱数据与标准乐谱差较多时,音高偏移得分ScorePitchj-1较小,反之,会较大。
步骤302:判断音高偏移得分是否高于预设分值。
如果是,则执行步骤303:根据预设的窗长调整因子和音高偏移得分对搜索窗长进行调整。
第j句用户演唱语音帧最佳起始位置的搜索窗长WinLenj,计算方法如公式(3)所示:
WinLenj=WinLenj-1-WinLenj-1*Wratio*ScorePitchj-1,j>1 (3)
其中,Wratio为窗长调整因子,取值可以根据实际应用情况而定,ScorePitchj-1为第j-1句的音高偏移得分。由公式(3)可知,当用户演唱数据的第j-1句的音高偏移得分较小时,说明用户演唱数据与标准乐谱的偏移较大,搜索窗长调整的幅度要小一些,防止找不到最佳偏移;
如果否,搜索窗长不进行调整,即WinLenj=WinLenj-1,其中,j为大于等于2的整数。
如图4所示,在包含当前句子的录音数据的起始位置的搜索窗长范围内查找最佳偏移帧数,还包括:
步骤401:分别获取第j-1句的录音数据的音高偏移得分和最佳偏移帧数。
步骤402:获取第j-2句的录音数据的最佳偏移帧数,并根据第j-2句的录音数据的最佳偏移帧数对第j-1句的录音数据进行平移,得到平移后的第j-1句的录音数据的起始帧编号。
具体而言,平移后的第j-1句的录音数据的起始帧编号的计算方法如公式(4)所示,其中,j为大于等于2的整数:
aftTransPosj-1=preTransPosj-1+BestShiftj-2 (4)
其中,preTransFj-1为第j-1句用户演唱语音帧平移前的起始帧编号,preTransPosj-1为第j-1句用户演唱语音帧平移后的起始帧编号,BestShiftj-2为第j-2句的最佳偏移帧数,当j=2时,aftTransPosj-1=preTransPosj-1。
步骤403:在包含第j-1句的录音数据的起始帧编号的搜索窗长范围内查找第j-1句的录音数据和标准乐谱数据的最小音高差值所对应的偏移帧数。
在本发明实施例中,根据搜索窗长WinLenj-1,在平移后的用户演唱语音起始帧编号aftTransPosj-1基础上,搜索第j-1句用户演唱语音帧与标准乐谱数据的最小音高差值所对应的偏移帧数shift(j-1)k
步骤404:根据起始帧编号和最小音高差值所对应的偏移帧数确定第j-1句的录音数据的最佳偏移位置bestBeginPosj-1,如公式(5)所示:
bestBeginPosj-1=aftTransPosj-1+shift(j-1)k (5)
公式(5)中的j为大于等于2的整数,k为大于等于1的整数。
步骤405:根据第j-1句的录音数据的最佳偏移帧数、音高偏移得分、起始帧编号和最佳偏移位置确定当前句子的最佳偏移帧数。
具体而言,根据公式(6)可以计算得出当前句子(第j句)的最佳偏移帧数BestShiftj,其中,j为大于等于2的整数。
BestShiftj=BestShiftj-1+ScorePitchj-1*(bestBeginPosj-1-aftTransPosj-1)(6)
其中,公式(6)中的BestShiftj-1为第j-1句的最佳偏移帧数,ScorePitchj-1为第j-1句的音高偏移得分,bestBeginPosj-1为第j-1句的最佳偏移位置,aftTransPosj-1为第j-1句平移后的起始帧编号。
步骤104:根据最佳偏移帧数对当前句子的录音数据进行平移,以使当前句子的录音数据与标准乐谱数据在时间上同步。
步骤105:对平移后的当前句子的录音数据进行评分。
在本发明的另一个实施例中,如图5所示,在对平移后的当前句子的录音数据进行评分之前,上述唱歌评测方法还包括:
步骤501:以音符为单位计算平移后的当前句子的录音数据和标准乐谱数据的误差距离;
步骤502:判断误差距离是否大于预设阈值;
步骤503:如果判断上述误差距离大于预设阈值,则以预设阈值替代误差距离,否则保持误差距离不变;
步骤504:根据预设阈值和/或误差距离计算当前句子的录音数据和标准乐谱数据的累计误差距离。
具体而言,累计误差距离Dj可以通过公式(7)计算得到:
其中,N表示第j句中的音符总数,Nji表示第j句用户语音帧第i个音符标准的时长帧数,表示第j句标准乐谱中第i个音符第k帧的音高值,表示第j句用户演唱语音帧第i个音符第k帧的音高值,PENALTY表示用户演唱的音高值和标准音高值差距的上限,所述上限主要为了防止用户在一句中唱错了一个音符或漏唱了一个音符,整句的距离过大,提升评分算法的鲁棒性。
步骤106:根据用户演唱歌曲的每个句子的评分得到用户演唱歌曲的评分结果。
本发明实施例提供的唱歌评测方法,通过在包含当前句子的录音数据的起始位置的搜索窗长范围内查找最佳偏移帧数,并根据最佳偏移帧数对当前句子的录音数据进行平移,使当前句子的录音数据与标准乐谱数据在时间上同步,然后对平移后的当前句子的录音数据进行评分,计算过程简单,评分结果准确、及时,能够满足实时打分的应用需求。
本发明实施例另外提供一种唱歌评测系统,如图6所示,包括:
第一获取模块601,用于获取用户演唱歌曲中当前句子的录音数据;
第二获取模块602,用于获取当前句子的标准乐谱数据;
查找模块603,用于在包含当前句子的录音数据的起始位置的搜索窗长范围内查找最佳偏移帧数;
平移模块604,用于根据最佳偏移帧数对当前句子的录音数据进行平移,以使当前句子的录音数据与标准乐谱数据在时间上同步;
第一评分模块605,用于对平移后的当前句子的录音数据进行评分;
第二评分模块606,用于根据用户演唱歌曲的每个句子的评分得到用户演唱歌曲的评分结果。
如图7所示,上述查找模块603包括:
第一判断单元701,用于判断当前句子是否为歌曲的首句;
第一调整单元702,用于在第一判断单元701判断当前句子为歌曲的首句后,从当前句子的录音数据的起始位置开始以预设步长在搜索窗长范围内多次调整偏移帧数;
第一平移单元703,用于根据每次调整后的偏移帧数对当前句子的录音数据进行平移;
第一计算单元704,用于计算每次平移后的当前句子的录音数据和标准乐谱数据的音高差值;
第一确定单元705,用于将音高差值中最小音高差值所对应的偏移帧数确定为当前句子的最佳偏移帧数。
如图8所示,上述唱歌评测系统进一步还包括:
第二计算单元706,用于在第一判断单元701判断当前句子不是歌曲的首句,且判断当前句子为歌曲的第j句后,j为大于等于2的整数,计算第j-1句的音高偏移得分;
第二判断单元707,用于判断音高偏移得分是否高于预设分值;
第二调整单元708,用于在第二判断单元707判断音高偏移得分高于预设分值后,根据预设的窗长调整因子和音高偏移得分对搜索窗长进行调整。
在本发明的另外一个实施例中,如图9所示,查找模块603还包括:
第一获取单元709,用于分别获取第j-1句的录音数据的音高偏移得分和最佳偏移帧数;
第二获取单元710,用于获取第j-2句的录音数据的最佳偏移帧数;
第二平移单元711,用于根据第j-2句的录音数据的最佳偏移帧数对所述第j-1句的录音数据进行平移,得到平移后的第j-1句的录音数据的起始帧编号;
查找单元712,用于在包含第j-1句的录音数据的起始帧编号的搜索窗长范围内查找第j-1句的录音数据和标准乐谱数据的最小音高差值所对应的偏移帧数;
第二确定单元713,用于根据起始帧编号和最小音高差值所对应的偏移帧数确定第j-1句的录音数据的最佳偏移位置;
第三确定单元714,用于根据第j-1句的录音数据的最佳偏移帧数、音高偏移得分、起始帧编号和最佳偏移位置确定当前句子的最佳偏移帧数。
如图10所示,上述唱歌评测系统进一步还包括:
第一计算模块801,用于在第一评分模块605对平移后的当前句子的录音数据进行评分之前,以音符为单位计算平移后的当前句子的录音数据和标准乐谱数据的误差距离;
判断模块802,用于判断误差距离是否大于预设阈值;
替代模块803,用于在判断模块802判断误差距离大于预设阈值后,以预设阈值替代所述误差距离;
第二计算模块804,用于根据预设阈值和/或误差距离计算当前句子的录音数据和标准乐谱数据的累计误差距离。
本发明实施例提供的唱歌评测系统,通过在包含当前句子的录音数据的起始位置的搜索窗长范围内查找最佳偏移帧数,并根据最佳偏移帧数对当前句子的录音数据进行平移,使当前句子的录音数据与标准乐谱数据在时间上同步,然后对平移后的当前句子的录音数据进行评分,计算过程简单,评分结果准确、及时,能够满足实时打分的应用需求。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的模块或单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种唱歌评测方法,其特征在于,包括:
获取用户演唱歌曲中当前句子的录音数据;
获取所述当前句子的标准乐谱数据;
在包含所述当前句子的录音数据的起始位置的搜索窗长范围内查找最佳偏移帧数;
根据所述最佳偏移帧数对所述当前句子的录音数据进行平移,以使所述当前句子的录音数据与所述标准乐谱数据在时间上同步;
对平移后的所述当前句子的录音数据进行评分;
根据用户演唱歌曲的每个句子的评分得到所述用户演唱歌曲的评分结果。
2.根据权利要求1所述的唱歌评测方法,其特征在于,所述在包含所述当前句子的录音数据的起始位置的搜索窗长范围内查找最佳偏移帧数包括:
判断所述当前句子是否为所述歌曲的首句;
如果是,则从所述当前句子的录音数据的起始位置开始以预设步长在所述搜索窗长范围内多次调整偏移帧数,并根据每次调整后的偏移帧数对所述当前句子的录音数据进行平移,计算每次平移后的所述当前句子的录音数据和所述标准乐谱数据的音高差值;
将所述音高差值中最小音高差值所对应的偏移帧数确定为所述当前句子的最佳偏移帧数。
3.根据权利要求2所述的唱歌评测方法,其特征在于,所述方法还包括:
如果所述当前句子不是所述歌曲的首句,且所述当前句子为所述歌曲的第j句,j为大于等于2的整数;
计算第j-1句的音高偏移得分;
如果所述音高偏移得分高于预设分值,则根据预设的窗长调整因子和所述音高偏移得分对所述搜索窗长进行调整。
4.根据权利要求3所述的唱歌评测方法,其特征在于,所述在包含所述当前句子的录音数据的起始位置的搜索窗长范围内查找最佳偏移帧数还包括:
分别获取第j-1句的录音数据的音高偏移得分和最佳偏移帧数;
获取第j-2句的录音数据的最佳偏移帧数,并根据所述第j-2句的录音数据的最佳偏移帧数对所述第j-1句的录音数据进行平移,得到平移后的所述第j-1句的录音数据的起始帧编号;
在包含所述第j-1句的录音数据的起始帧编号的搜索窗长范围内查找所述第j-1句的录音数据和所述标准乐谱数据的最小音高差值所对应的偏移帧数;
根据所述起始帧编号和所述最小音高差值所对应的偏移帧数确定所述第j-1句的录音数据的最佳偏移位置;
根据所述第j-1句的录音数据的最佳偏移帧数、所述音高偏移得分、所述起始帧编号和所述最佳偏移位置确定所述当前句子的最佳偏移帧数。
5.根据权利要求1至4任一项所述的唱歌评测方法,其特征在于,在对平移后的所述当前句子的录音数据进行评分之前,所述方法还包括:
以音符为单位计算平移后的所述当前句子的录音数据和所述标准乐谱数据的误差距离;
如果所述误差距离大于预设阈值,则以所述预设阈值替代所述误差距离;
根据所述预设阈值和/或所述误差距离计算所述当前句子的录音数据和所述标准乐谱数据的累计误差距离。
6.一种唱歌评测系统,其特征在于,包括:
第一获取模块,用于获取用户演唱歌曲中当前句子的录音数据;
第二获取模块,用于获取所述当前句子的标准乐谱数据;
查找模块,用于在包含所述当前句子的录音数据的起始位置的搜索窗长范围内查找最佳偏移帧数;
平移模块,用于根据所述最佳偏移帧数对所述当前句子的录音数据进行平移,以使所述当前句子的录音数据与所述标准乐谱数据在时间上同步;
第一评分模块,用于对平移后的所述当前句子的录音数据进行评分;
第二评分模块,用于根据用户演唱歌曲的每个句子的评分得到所述用户演唱歌曲的评分结果。
7.根据权利要求6所述的唱歌评测系统,其特征在于,所述查找模块包括:
第一判断单元,用于判断所述当前句子是否为所述歌曲的首句;
第一调整单元,用于在所述第一判断单元判断所述当前句子为所述歌曲的首句后,从所述当前句子的录音数据的起始位置开始以预设步长在所述搜索窗长范围内多次调整偏移帧数;
第一平移单元,用于根据每次调整后的偏移帧数对所述当前句子的录音数据进行平移;
第一计算单元,用于计算每次平移后的所述当前句子的录音数据和所述标准乐谱数据的音高差值;
第一确定单元,用于将所述音高差值中最小音高差值所对应的偏移帧数确定为所述当前句子的最佳偏移帧数。
8.根据权利要求7所述的唱歌评测系统,其特征在于,所述系统还包括:
第二计算单元,用于在所述第一判断单元判断所述当前句子不是所述歌曲的首句,且判断所述当前句子为所述歌曲的第j句后,j为大于等于2的整数,计算第j-1句的音高偏移得分;
第二判断单元,用于判断所述音高偏移得分是否高于预设分值;
第二调整单元,用于在所述第二判断单元判断所述音高偏移得分高于预设分值后,根据预设的窗长调整因子和所述音高偏移得分对所述搜索窗长进行调整。
9.根据权利要求8所述的唱歌评测系统,其特征在于,所述查找模块还包括:
第一获取单元,用于分别获取第j-1句的录音数据的音高偏移得分和最佳偏移帧数;
第二获取单元,用于获取第j-2句的录音数据的最佳偏移帧数;
第二平移单元,用于根据所述第j-2句的录音数据的最佳偏移帧数对所述第j-1句的录音数据进行平移,得到平移后的所述第j-1句的录音数据的起始帧编号;
查找单元,用于在包含所述第j-1句的录音数据的起始帧编号的搜索窗长范围内查找所述第j-1句的录音数据和所述标准乐谱数据的最小音高差值所对应的偏移帧数;
第二确定单元,用于根据所述起始帧编号和所述最小音高差值所对应的偏移帧数确定所述第j-1句的录音数据的最佳偏移位置;
第三确定单元,用于根据所述第j-1句的录音数据的最佳偏移帧数、所述音高偏移得分、所述起始帧编号和所述最佳偏移位置确定所述当前句子的最佳偏移帧数。
10.根据权利要求6至9任一项所述的唱歌评测系统,其特征在于,所述系统还包括:
第一计算模块,用于在所述第一评分模块对平移后的所述当前句子的录音数据进行评分之前,以音符为单位计算平移后的所述当前句子的录音数据和所述标准乐谱数据的误差距离;
判断模块,用于判断所述误差距离是否大于预设阈值;
替代模块,用于在所述判断模块判断所述误差距离大于预设阈值后,以所述预设阈值替代所述误差距离;
第二计算模块,用于根据所述预设阈值和/或所述误差距离计算所述当前句子的录音数据和所述标准乐谱数据的累计误差距离。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510169265.9A CN106157977B (zh) | 2015-04-10 | 2015-04-10 | 一种唱歌评测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510169265.9A CN106157977B (zh) | 2015-04-10 | 2015-04-10 | 一种唱歌评测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106157977A CN106157977A (zh) | 2016-11-23 |
CN106157977B true CN106157977B (zh) | 2019-11-15 |
Family
ID=57335636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510169265.9A Active CN106157977B (zh) | 2015-04-10 | 2015-04-10 | 一种唱歌评测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106157977B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106782600B (zh) * | 2016-12-29 | 2020-04-24 | 广州酷狗计算机科技有限公司 | 音频文件的评分方法及装置 |
CN107103912A (zh) * | 2017-04-24 | 2017-08-29 | 行知技术有限公司 | 一种用于教学和考评的学生演唱演奏评分系统 |
CN107221340B (zh) * | 2017-05-31 | 2021-01-15 | 福建星网视易信息系统有限公司 | 基于多路音频的实时评分方法、存储设备及应用 |
CN107507628B (zh) * | 2017-08-31 | 2021-01-15 | 广州酷狗计算机科技有限公司 | 唱歌评分方法、装置及终端 |
CN108008930B (zh) * | 2017-11-30 | 2020-06-30 | 广州酷狗计算机科技有限公司 | 确定k歌分值的方法和装置 |
CN109003627B (zh) * | 2018-09-07 | 2021-02-12 | 广州酷狗计算机科技有限公司 | 确定音频得分的方法、装置、终端及存储介质 |
CN109215625A (zh) * | 2018-11-12 | 2019-01-15 | 无锡冰河计算机科技发展有限公司 | 一种音准评定方法和装置 |
CN109524025B (zh) * | 2018-11-26 | 2021-12-14 | 北京达佳互联信息技术有限公司 | 一种唱歌评分方法、装置、电子设备及存储介质 |
TWI755805B (zh) * | 2020-08-04 | 2022-02-21 | 驊訊電子企業股份有限公司 | 多媒體評分系統及方法 |
CN115881159A (zh) * | 2022-10-10 | 2023-03-31 | 中央民族大学 | 一种歌唱评价方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102664016A (zh) * | 2012-04-23 | 2012-09-12 | 安徽科大讯飞信息科技股份有限公司 | 唱歌评测方法及系统 |
WO2014098498A1 (ko) * | 2012-12-20 | 2014-06-26 | 삼성전자 주식회사 | 오디오 보정 장치 및 이의 오디오 보정 방법 |
CN103971674A (zh) * | 2014-05-22 | 2014-08-06 | 天格科技(杭州)有限公司 | 一种评分准确、用户体验好的演唱实时评分方法 |
CN104347080A (zh) * | 2013-08-09 | 2015-02-11 | 雅马哈株式会社 | 语音分析方法和装置、语音合成方法和装置、以及存储语音分析程序的介质 |
-
2015
- 2015-04-10 CN CN201510169265.9A patent/CN106157977B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102664016A (zh) * | 2012-04-23 | 2012-09-12 | 安徽科大讯飞信息科技股份有限公司 | 唱歌评测方法及系统 |
WO2014098498A1 (ko) * | 2012-12-20 | 2014-06-26 | 삼성전자 주식회사 | 오디오 보정 장치 및 이의 오디오 보정 방법 |
CN104347080A (zh) * | 2013-08-09 | 2015-02-11 | 雅马哈株式会社 | 语音分析方法和装置、语音合成方法和装置、以及存储语音分析程序的介质 |
CN103971674A (zh) * | 2014-05-22 | 2014-08-06 | 天格科技(杭州)有限公司 | 一种评分准确、用户体验好的演唱实时评分方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106157977A (zh) | 2016-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106157977B (zh) | 一种唱歌评测方法及系统 | |
US9928835B1 (en) | Systems and methods for determining content preferences based on vocal utterances and/or movement by a user | |
Gupta et al. | Automatic lyrics alignment and transcription in polyphonic music: Does background music help? | |
Gómez et al. | Towards computer-assisted flamenco transcription: An experimental comparison of automatic transcription algorithms as applied to a cappella singing | |
CN102664016B (zh) | 唱歌评测方法及系统 | |
US8880409B2 (en) | System and method for automatic temporal alignment between music audio signal and lyrics | |
Kawahara et al. | Nearly defect-free F0 trajectory extraction for expressive speech modifications based on STRAIGHT. | |
Regnier et al. | Singing voice detection in music tracks using direct voice vibrato detection | |
CN101430876B (zh) | 一种演唱的评分系统和方法 | |
CN101689225B (zh) | 生成音乐小样和识别相关的歌曲结构 | |
Koduri et al. | Rāga recognition based on pitch distribution methods | |
Fujihara et al. | Automatic synchronization between lyrics and music CD recordings based on Viterbi alignment of segregated vocal signals | |
CN103915093B (zh) | 一种实现语音歌唱化的方法和装置 | |
US7921014B2 (en) | System and method for supporting text-to-speech | |
US20060112812A1 (en) | Method and apparatus for adapting original musical tracks for karaoke use | |
Gupta et al. | Acoustic modeling for automatic lyrics-to-audio alignment | |
Yang et al. | BaNa: A noise resilient fundamental frequency detection algorithm for speech and music | |
Tsunoo et al. | Beyond timbral statistics: Improving music classification using percussive patterns and bass lines | |
Bozkurt et al. | A dataset and baseline system for singing voice assessment | |
Gao et al. | Lyrics transcription and lyrics-to-audio alignment with music-informed acoustic models | |
Dzhambazov et al. | On the use of note onsets for improved lyrics-to-audio alignment in turkish makam music | |
Lee et al. | Word level lyrics-audio synchronization using separated vocals | |
Kim et al. | Show me the instruments: Musical instrument retrieval from mixture audio | |
CN105895079A (zh) | 语音数据的处理方法和装置 | |
Fujihara et al. | Hyperlinking Lyrics: A Method for Creating Hyperlinks Between Phrases in Song Lyrics. |
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 |