一种唱歌评测方法及系统技术方案

技术编号:14277371 阅读:55 留言:0更新日期:2016-12-24 20:08
本发明专利技术公开了一种唱歌评测方法及系统,属于语音信号处理技术领域。该唱歌评测方法包括:获取用户演唱歌曲中当前句子的录音数据;获取所述当前句子的标准乐谱数据;在包含所述当前句子的录音数据的起始位置的搜索窗长范围内查找最佳偏移帧数;根据所述最佳偏移帧数对所述当前句子的录音数据进行平移,以使所述当前句子的录音数据与所述标准乐谱数据在时间上同步;对平移后的所述当前句子的录音数据进行评分;根据用户演唱歌曲的每个句子的评分得到所述用户演唱歌曲的评分结果。该唱歌评测方法,计算过程简单、评分准确,能够满足实时打分的应用需求。

【技术实现步骤摘要】

本专利技术涉及语音信号处理
,特别涉及一种唱歌评测方法及系统
技术介绍
随着移动互联网技术的快速发展,人们可以方便、快捷地实现随时随地唱歌的需求,越来越多的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.根据权利要求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.一种唱歌评测系统,其特征在于,包括:第一获取模块,用于获取用户演唱歌曲中当前句子的录音数据;第二获取模块,用于获取所述当前句子的标准乐谱数据;查找模块,用于在包含所述当前句子的录音数据的起始位置的搜索窗长范围内查找最佳偏移帧数;平移模块,...

【专利技术属性】
技术研发人员:蒋成林梅林海王影胡国平胡郁刘庆峰
申请(专利权)人:科大讯飞股份有限公司
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1