首页 / 专利库 / 工艺品 / 音调 / 实时演唱评分的方法与系统

实时演唱评分的方法与系统

阅读:2发布:2021-01-31

专利汇可以提供实时演唱评分的方法与系统专利检索,专利查询,专利分析的服务。并且本 发明 提供一种实时演唱评分的方法与系统,其方法为:实时获取演唱歌曲时产生的人声数据流;从人声数据流中提取演唱完当前字的演唱窗口区间;获取当前字的演唱窗口区间与歌曲文件中对应字的参考窗口区间的匹配区间,其中,所述参考窗口区间为基于对应字的播放窗口区间偏移至少一个偏移时长后得到的至少一个偏移窗口区间的组合;根据所述匹配区间计算当前字的演唱得分,并根据歌曲中所有字的演唱得分计算所述歌曲的演唱总分。通过上述方案解决了现有歌唱评分系统评分不准确、缺乏趣味性和 互动性 的技术问题,达到了从不同方面对演唱者 水 平进行实时评估的技术效果。,下面是实时演唱评分的方法与系统专利的具体信息内容。

1.一种实时演唱评分的方法,其特征在于,包括:
实时获取演唱歌曲时产生的人声数据流;
从人声数据流中提取演唱完当前字的演唱窗口区间;
获取当前字的演唱窗口区间与歌曲文件中对应字的参考窗口区间的匹配区间,其中,所述参考窗口区间为基于对应字的播放窗口区间偏移至少一个偏移时长后得到的至少一个偏移窗口区间的组合;
根据所述匹配区间计算当前字的演唱得分,并根据歌曲中所有字的演唱得分计算所述歌曲的演唱总分。
2.根据权利要求1所述的方法,其特征在于,所述获取当前字的演唱窗口区间与歌曲文件中对应字的参考窗口区间的匹配区间,包括:
获取演唱窗口区间中的演唱音调数据;
获取参考窗口区间中的参考音调数据;
将所述演唱音调数据与参考音调数据进行对比,选取音调匹配度大于匹配度阈值的窗口区间为匹配区间。
3.根据权利要求1所述的方法,其特征在于,所述根据所述匹配区间计算当前字的演唱得分,包括根据所述匹配区间的音调匹配度计算当前字的音调得分。
4.根据权利要求1所述的方法,其特征在于,所述根据所述匹配区间计算当前字的演唱得分,包括,计算当前字的节奏得分:
根据所述匹配区间起始时间与所述歌曲文件对应字播放窗口区间起始时间的差值计算当前字的节奏得分。
5.根据权利要求1所述的方法,其特征在于,所述根据所述匹配区间计算当前字的演唱得分,包括,计算当前字的音强得分:
根据匹配区间人声数据流的平均音强与所述歌曲文件对应字播放窗口区间音强的比值计算当前字的音强得分。
6.一种实时演唱评分系统,其特征在于,包括:
获取模,用于实时获取演唱歌曲时产生的人声数据流;
提取模块,用于从人声数据流中提取演唱完当前字的演唱窗口区间;
匹配模块,用于获取当前字的演唱窗口区间与歌曲文件中对应字的参考窗口区间的匹配区间,其中,所述参考窗口区间为基于对应字的播放窗口区间偏移至少一个偏移时长后得到的至少一个偏移窗口区间的组合;
计算模块,用于根据所述匹配区间计算当前字的演唱得分,根据歌曲中所有字的演唱得分计算所述歌曲的演唱总分。
7.根据权利要求6所述的系统,其特征在于,所述匹配模块包括:
第一音调获取模块,用于获取演唱窗口区间中的演唱音调数据;
第二音调获取模块,用于获取参考窗口区间中的参考音调数据;
比对模块,用于将所述演唱音调数据与参考音调数据进行比对,选取音调匹配度大于匹配度阈值的窗口区间为匹配区间。
8.根据权利要求6所述的系统,其特征在于,所述计算模块包括:
音调计算模块,用于根据所述匹配区间的音调匹配度计算当前字的音调得分。
9.根据权利要求6所述的系统,其特征在于,所述计算模块还包括:
节奏计算模块,用于根据所述匹配区间起始时间与所述歌曲文件对应字播放窗口区间起始时间的差值计算当前字的节奏得分。
10.根据权利要求6所述的系统,其特征在于,所述计算模块还包括:
音强计算模块,用于根据匹配区间人声数据流的平均音强与所述歌曲文件对应字播放窗口区间音强的比值计算当前字的音强得分。

说明书全文

实时演唱评分的方法与系统

技术领域

[0001] 本发明涉及语音信号处理技术领域,特别涉及一种实时演唱评分的方法与系统。

背景技术

[0002] 随着网络技术和电子技术的发展,唱歌这种非常受到大众喜爱的休闲娱乐方式已经不仅仅局限于传统KTV包房中,手机K歌、小型唱歌亭、网络K歌、家庭K歌使得唱歌的形式和地点更加多元化。
[0003] 然而,与此息息相关的唱歌评分功能的发展显得滞后和缓慢。现有评分算法中,有些采用的是以音强作为评分的标准进行评分,有些采用的是对比音频信号相似度来进行评分,这两种评分方法均未考虑音调在评分过程中的作用。还有一些是以音调为基础的评分,对比歌曲音调文件与歌唱者音调来评分的规则,这种评分方法虽然考虑了音调音素,但由于没有对演唱时发声规律做预判,导致误将清音或音强较弱的音频数据错误的提取音调导致评分不准确;同时由于演唱者平的不同导致音调、节奏感、音强差异并未考虑到评分过程中,另外,简单的一字或一句的打分形式也缺乏趣味性、互动性
[0004] 针对上述问题,目前还没有提出有效的解决方案。

发明内容

[0005] 本发明提供一种实时演唱评分的方法与系统,实现对演唱歌曲进行实时评分的目的,达到从不同方面对演唱者水平进行实时评估的技术效果。
[0006] 一方面,本发明提供了一种实时演唱评分的方法,包括:
[0007] 实时获取演唱歌曲时产生的人声数据流;
[0008] 从人声数据流中提取演唱完当前字的演唱窗口区间;
[0009] 获取当前字的演唱窗口区间与歌曲文件中对应字的参考窗口区间的匹配区间,其中,所述参考窗口区间为基于对应字的播放窗口区间偏移至少一个偏移时长后得到的至少一个偏移窗口区间的组合;
[0010] 根据所述匹配区间计算当前字的演唱得分,并根据歌曲中所有字的演唱得分计算所述歌曲的演唱总分。
[0011] 具体地,所述获取当前字的演唱窗口区间与歌曲文件中对应字的参考窗口区间的匹配区间,包括:
[0012] 获取演唱窗口区间中的演唱音调数据;
[0013] 获取参考窗口区间中的参考音调数据;
[0014] 将所述演唱音调数据与参考音调数据进行对比,选取音调匹配度大于匹配度阈值的窗口区间为匹配区间。
[0015] 具体地,所述根据所述匹配区间计算当前字的演唱得分,包括,根据所述匹配区间的音调匹配度计算当前字的音调得分。
[0016] 具体地,所述根据所述匹配区间计算当前字的演唱得分,包括,计算当前字的节奏得分:
[0017] 根据所述匹配区间起始时间与所述歌曲文件对应字播放窗口区间起始时间的差值计算当前字的节奏得分。
[0018] 具体地,所述根据所述匹配区间计算当前字的演唱得分,包括,计算当前字的音强得分:
[0019] 根据匹配区间人声数据流的平均音强与所述歌曲文件对应字播放窗口区间音强的比值计算当前字的音强得分。
[0020] 另一方面,本发明提供了一种实时演唱评分系统,包括:
[0021] 获取模,用于实时获取演唱歌曲时产生的人声数据流;
[0022] 提取模块,用于从人声数据流中提取演唱完当前字的演唱窗口区间;
[0023] 匹配模块,用于获取当前字的演唱窗口区间与歌曲文件中对应字的参考窗口区间的匹配区间,其中,所述参考窗口区间为基于对应字的播放窗口区间偏移至少一个偏移时长后得到的至少一个偏移窗口区间的组合;
[0024] 计算模块,用于根据所述匹配区间计算当前字的演唱得分,根据歌曲中所有字的演唱得分计算所述歌曲的演唱总分。
[0025] 具体地,所述匹配模块包括:
[0026] 第一音调获取模块,用于获取演唱窗口区间中的演唱音调数据;
[0027] 第二音调获取模块,用于获取参考窗口区间中的参考音调数据;
[0028] 比对模块,用于将所述演唱音调数据与参考音调数据进行比对,选取音调匹配度大于匹配度阈值的窗口区间为匹配区间。
[0029] 具体地,所述计算模块包括:
[0030] 音调计算模块,用于根据所述匹配区间的音调匹配度计算当前字的音调得分。
[0031] 具体地,所述计算模块还包括:
[0032] 节奏计算模块,用于根据所述匹配区间起始时间与所述歌曲文件对应字播放窗口区间起始时间的差值计算当前字的节奏得分。
[0033] 具体地,所述计算模块还包括:
[0034] 音强计算模块,用于根据匹配区间人声数据流的平均音强与所述歌曲文件对应字播放窗口区间音强的比值计算当前字的音强得分。
[0035] 本发明通过对歌唱者演唱歌曲中每个字的音调、节奏、音强进行实时评分,实现了基于基本单元字对歌曲进行实时评分,从而解决了现有的歌唱评分系统评分不准确、缺乏趣味性和互动性的技术问题,达到了从不同方面对演唱者水平进行实时评估的技术效果。附图说明
[0036] 为了更清楚地说明本发明实施例现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0037] 图1是一种实时演唱评分方法的流程图
[0038] 图2是一种获取匹配区间方法的流程图;
[0039] 图3是一种演唱音调获取方法的流程图;
[0040] 图4是一种计算字节奏得分方法的流程图;
[0041] 图5是一种匹配区间选取的示意图;
[0042] 图6是一种计算字音强得分方法的流程图;
[0043] 图7是一种实时演唱评分系统的结构示意图;
[0044] 图8是一种匹配模块的结构示意图;
[0045] 图9是一种计算模块的结构图示意图。

具体实施方式

[0046] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0047] 在本说明书中,诸如第一和第二这样的形容词仅可以用于将一个元素或动作与另一元素或动作进行区分,而不必要求或暗示任何实际的这种关系或顺序。在环境允许的情况下,参照元素或部件或步骤(等)不应解释为局限于仅元素、部件、或步骤中的一个,而可以是元素、部件、或步骤中的一个或多个等。
[0048] 在本说明书中,为了便于描述,附图中所示的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0049] 本发明提出了一种实时演唱评分的方法与装置,其中,所述方法如图1所示:
[0050] S11:实时获取演唱歌曲时产生的人声数据流;
[0051] S12:从人声数据流中提取演唱完当前字的演唱窗口区间;
[0052] S13:获取当前字的演唱窗口区间与歌曲文件对应字的参考窗口区间的匹配区间,其中,所述参考窗口区间为基于对应字的播放窗口区间偏移至少一个偏移时长后得到的至少一个偏移窗口区间的组合;
[0053] S14:根据所述匹配区间计算当前字的演唱得分;
[0054] S15:根据歌曲中所有字的演唱得分计算所述歌曲的演唱总分。
[0055] 在演唱实时评分时,演唱者的歌声通过麦克传入处理器,处理器对麦克风产生的人声数据流进行采集提取,获取演唱者演唱完当前字的演唱窗口区间,其中,上述演唱窗口区间包括演唱者开始演唱当前字的起始时间和演唱者演唱完当前字的结束时间,以及在起始时间和结束时间之间演唱者产生的所有人声数据流信息。
[0056] 获取人声数据流中当前字演唱窗口区间与歌曲文件对应字的参考窗口区间的匹配区间。这里参考窗口区间的引入主要是为了避免演唱者在歌曲文件播放当前字之前或之后某一时刻开始演唱时,常规的评分方法无法准确判定演唱者的实时演唱得分,从而得到错误的评分数据的问题。因此,为了更为合理地计算演唱者的实时演唱得分,在演唱者的实时评分规则系统中,我们引入了参考窗口区间,通过将当前字的演唱窗口区间与歌曲文件对应字的参考窗口区间进行对比,获取匹配区间。其中,参考窗口区间为基于歌曲文件对应字的播放窗口区间偏移至少一个偏移时长后得到的至少一个偏移窗口区间的组合,上述偏移时长和偏移窗口区间的个数可以自由设定。例如,偏移窗口区间可以设置为3个,对应的偏移时长设置为-1,0,+1,其中,“1”表示一个当前字的播放窗口区间时长,“-”表示后向偏移,“+”表示前向偏移。
[0057] 然后,根据匹配区间计算当前字的演唱得分,再根据当前字的得分计算演唱该歌曲的演唱总分。
[0058] 具体的,获取当前字的演唱窗口区间与歌曲文件对应字的参考窗口区间的匹配区间,具体步骤如图2所示:
[0059] S21:获取当前字演唱窗口区间中的演唱音调数据;
[0060] S22:获取对应字参考窗口区间中的参考音调数据;
[0061] S23:将所述演唱音调数据与参考音调数据进行对比,选取音调匹配度大于匹配度阈值的窗口区间为匹配区间。
[0062] 匹配区间选取的思路为:首先获取演唱者演唱当前字的音调数据,然后将演唱者演唱当前字的音调数据与参考音调数据进行比对,从中选取音调匹配度大于匹配度阈值的窗口区间为匹配区间。
[0063] 具体的,步骤S21中演唱音调数据的获取,包括以下步骤,如图3所示:
[0064] S31:对麦克风采集的当前字演唱窗口区间人声数据流进行低通滤波;
[0065] S32:对滤波后的数据流进行交叠分
[0066] S33:对每一帧的数据进行清音判定;
[0067] S34:当判定当前帧不是清音帧时,利用倒频谱计算音调,并将计算得到的当前帧的音调与前8帧的音调进行中值滤波,四舍五入取整得到音调数据;
[0068] S35:当判定当前帧为清音帧时,音调数据记为0存入缓存。
[0069] 即,首先将从麦克风传来的演唱窗口区间数据流进行低通滤波,尽可能保留人声谐波,然后将滤波后的人声数据流转换为帧数据,再从每一帧中提取音调,获取演唱当前字每一帧的音调数据。
[0070] 由于,人在演唱时的频率范围在70~650Hz之间,对应十二平均率的37(c#)~76(e2)。这里我们指定音调有效范围在37~76间。人在发声时有时会伴有清音,清音是人在发声时声带不颤动发出的声音,它在音频波形上看没有固定的基音,具有较高的过零率,所以在音调提取的时候需要对清音辨别,不计入发音的音调评分中。
[0071] 步骤S31对当前字演唱窗口区间数据进行滤波,滤除掉多余的高频成分又要尽可能的保留人声的谐波成分。在此,为了方便后续基频的计算,我们在滤波时选择低通滤波器,其频率为8KHz。
[0072] 然后,执行步骤S32,处理器对从麦克风传过来的人声数据流进行分帧,为了能够较好的识别语音变化,分帧窗口大小一般选取为20~40ms。在这里,我们选择每一帧的窗口为20ms,在48K采样率下一帧的采样点数为1024个数据点,窗口交叠50%,窗函数采用汉明窗。
[0073] 由于人声数据流中包含清音,因此,在此,需要执行S33,对每一帧的数据进行清音判定,短时能量是音频分析中常用的特征之一。音频信号的短时能量随时间变化相对比较明显,可以用来区分清音和浊音。短时能量还可以用来识别静音帧,我们可以给定一个值,使得当短时能量的值小于这个阀值时,就认为这个帧是静音帧。这里,我们通过过零率检测的办法判定清音帧。短时平均过零率是语音信号时域分析中的一种特征参数,它是指每帧内信号通过零值的次数。对有时间横轴的连续语音信号,可以观察到语音的时域波形通过横轴的情况。具体地,短时过零率的计算公式如下:
[0074]
[0075] 其中,WL表示当前帧中的总采样点数,sign(k)为该帧内第k个采样点数据的符号,sign()为符号函数,即:
[0076]
[0077] 即,在48K或44.1K采样率下,当ZCR>0.1时判定为清音符,该帧的音调记为0,不进行后续音调计算,反之则为非清音帧,需要进行后续的音调提取计算。
[0078] 步骤S34中,音调提取采用倒频谱的方法,对每一帧的数据进行傅里叶(FFT)变换,计算幅度取对数得到对数幅度谱,再对对数幅度谱再做一次逆FFT运算,得到倒频数据。
[0079] 得到倒频数据之后,需要将人声基频转换为音调数据,进而与歌曲文件的音调数据进行对比,将人声基频转换为音调数据的方法如下所示:
[0080] 首先,需要确定人声基频,由于人在演唱是的音频范围在70~650Hz之间,即,确定基频搜索范围为:
[0081] LowIndex=Fs/650;
[0082] HighIndex=Fs/70;
[0083] 即,基频的搜索范围为LowIndex~HighIndex。其中LowIndex为搜索范围内的最小频率,HighIndex为搜索范围内的最大频率,Fs为采样率。通过上述公式得到当前帧人声基频数据,然后,将人声基频数据转换为音调,即用十二平均律表示,公式如下:
[0084]
[0085] 其中,Pitch为十二平均率的音调,basefreq为当前帧的人声基频数据,round为四舍五入取操作。
[0086] 对当前帧计算得到的音调数据做中值滤波,这里我们取9帧中值滤波,即,滤波时以当前帧音调数据与前八帧音调数据做中值滤波,计算得到当前帧的音调。当判定当前帧为清音帧时,不做中值滤波处理,音调数据直接以0存入缓存。取9帧中值滤波的方法,可以达到较好的滤除野点的效果。
[0087] 通过上述过程,即可以获取当前字演唱窗口区间每一帧的演唱音调数据。
[0088] 在步骤S23中,将所述演唱音调数据与参考音调数据进行对比,选取音调匹配度大于匹配度阈值的窗口区间为匹配区间。
[0089] 将当前字演唱窗口区间中的演唱音调数据,与参考窗口区间的音调数据进行比对,选择演唱音调数据与参考窗口区间的音调数据偏移最小、匹配度大于匹配度阈值的区间为匹配区间。
[0090] 其中,匹配度的一种设定规则为:
[0091]
[0092] 其中,PitchMatch表示匹配度的计算方法,HitFrameNum代表演唱窗口区间帧音调与参考窗口区间对应帧音调的差值小于一预设音调差值的帧数目,WordFrameNum代表演唱当前字所包含的总帧数目。
[0093] 如将匹配度阈值设定为0.5,则将计算后结果与0.5进行比较,若存在一个区间计算后的结果大于0.5,则将该区间设定为匹配区间。
[0094] 根据上述方法,获取匹配区间后,根据匹配区间计算当前字的演唱得分,包括,计算当前字的音调得分,音调得分PitchScore具体的计算公式为:
[0095]
[0096] 根据上述计算匹配度获取的匹配区间的匹配度对当前字的音调进行评分,即将匹配区间的匹配度最为当前字的音调得分,当不存在匹配区间时,演唱当前字的得分为1。
[0097] 具体的,根据匹配区间计算当前字的得分,还包括,计算当前字的节奏得分,计算步骤如图4所示:
[0098] S41:获取所述匹配区间的起始时间,设为第一起始时间;
[0099] S42:获取所述歌曲文件对应字播放窗口区间起始时间,设为第二起始时间;
[0100] S43:根据第一起始时间和第二起始时间的差值获取当前字的节奏得分。
[0101] 如5图所示,当前字的播放窗口区间时长为WORDTIME,起始时间为Begin,结束时间为End,参考窗口区间长度为3倍的WORDTIME,包括3个偏移时长,分别为对应的偏移时长设置为-1,0,+1,其中,“1”表示播放窗口区间时长WORDTIME,“-”表示后向偏移,“+”表示前向偏移,“0”表示偏移0个时长,即不偏移。
[0102] 相应的,假设演唱窗口区间的起始时间为B,演唱窗口区间的结束时间为E,匹配区间表示为MATCH,匹配区间的起始时间为B1,匹配区间的结束时间为E1,将匹配区间的起始时间B1设为第一起始时间。
[0103] 以播放窗口区间中对应字的起始时间Begin为基准,并将该时刻设为第二起始时间。
[0104] 这个字的节奏元素BEAT=|B1-Begin|。
[0105] 根据上述节奏元素BEAT计算节奏得分BeatScore的公式为:
[0106]
[0107] 其中,DELAY表示匹配区间起始位置所在的那个偏移窗口期间对应的偏移时长,c.c表示任意一个设定的常数。
[0108] 具体的,根据匹配区间计算当前字的得分,还包括,计算当前字的音强得分,计算步骤如图6所示:
[0109] S61:获取匹配区间人声数据流的平均音强;
[0110] S62:计算平均音强与所述歌曲文件播放窗口区间对应字音强的比值;
[0111] S63:根据所述比值获取当前字的音强得分。
[0112] 在步骤S61中,获取匹配区间的平均音强,需要计算匹配区间内数据流中所有帧数据的音强,然后根据所有帧的音强得到平均音强。其中,将人声数据流转换为帧数据的方法与上述音调提取中的转换方法一致,在此不再赘述。
[0113] 计算平均音强的方法为:
[0114] 计算匹配区间人声数据量每一帧的平均电平,每一帧的平均电平的计算公式为:
[0115]
[0116]
[0117] 其中,WL表示匹配区间中每一帧的总采样点数,INDATA(k)表示该帧第k个采样点的电平数据,INTENSITYTmp表示当前帧的平均电平。INTENSITY表示应用于评分体系时的平均电平,如果当前帧的平均音强计算结果小于0,则将该帧的平均音强设置为0。
[0118] 然后,根据匹配区间人声数据流内每一帧的平均电平,计算匹配区间内所有帧的平均音强,计算公式如下所示:
[0119]
[0120] 式中,N表示匹配区间中的帧总数。
[0121] 根据上述匹配区间人声数据流的平均电平,计算该字音强得分的公式如下所示:
[0122]
[0123] 其中,c.c表示任意一个设定的常数,FileWordIntensity表示歌曲文件中对应字播放窗口区间的音强。
[0124] 则,根据上述分析,可以得到演唱者演唱完当前字的得分为:
[0125] WordScore=PitchScore×IntensityScore+BeatScore
[0126] 另外,为了方便显示和提升用户的体验,还可以在上述得分的基础上乘以一定的系数,然后,根据歌曲中所有字的得分,得到该歌曲的总得分:
[0127]
[0128] 式中,N为歌曲中的总字数。另外,为了更贴合演唱者的使用习惯,可以将score的分数转换为百分制的形式进行显示。
[0129] 可以看出,本发明实时评分规则是以歌曲中的字为基本单元,根据字的音调、节奏和音强计算歌曲中每个字的得分,再根据整个歌曲中所有字的得分获取歌曲的总得分。另外,需要注意的是,基于字的得分仅为基础得分,在基础得分的基础上,还可以包括以句为基础单位的附加得分和根据不同唱歌对象的模式得分。
[0130] 具体的,附加评分包括升降调得分、句连续爆击得分和句随机倍数得分,这些附加评分项目可以增加评分过程中的娱乐性和互动性。
[0131] 例如,对升降调得分项而言,在歌曲演唱过程中,提高播放的音调可增加演唱难度,反之降低音调可减小演唱难度。评分时可根据音调调整的大小对整首歌曲得分乘以一个升降调权值TONEWEIGHT,当音调提升时权值增加,音调降低时权值下降。权值与音调公式如下所示:
[0132]
[0133] 其中TONE表示升降调的幅度,音调不做调整时为0,每升一个调为+1,每降一个调为-1。音调调整一个单位一般指一个半音大小,c.c代表任意一个设定的常数。
[0134] 对于连续爆击得分而言,当演唱者演唱时连续多次的句得分大于某一预设的分数时,可附加得到连续爆击得分,连续爆击得分公式如下所示:
[0135] SentenceAddedScore=sentenceScore×N
[0136] 其中,SentenceAddedScore表示连续多次句得分大于预设分数中的第N个句子的附加得分,其中,sentenceScore为该句的字得分之和。
[0137] 随机倍数得分是指,在实时评分过程中,可在歌曲播放权随机提取任意句作为双倍得分句,在演唱该句时,开始提醒演唱者该句为双倍得分句。双倍得分句的得分为该句实际得分的设定倍。
[0138] 除此之外,还应当注意,在演唱过程中,对于不同类型的演唱者,其演唱水平是不同的。因此,本发明还考虑到不同的演唱者需求,设立了新手模式、高手模式和专业模式,不同的演唱者模型下的参量设置不同,因此,演唱者可以根据自己的实际情况,选择不同的模式,从而提高实时评分的个性化程度。例如,在新手模式中,对演唱者的歌唱水平要求不高,在设置偏移时长、偏移区间和预设音调差值时可以将范围适当的增大,而在高手模式和专业模式中,则设定的歌唱难度逐步增大。例如,具体配置参数如下所示:
[0139]
[0140] 另外,本发明还提供了一种实时演唱评分的系统,该实时演唱评分的系统如图7所示,包括:
[0141] 获取模块71,用于实时获取演唱歌曲时产生的人声数据流;
[0142] 提取模块72,用于从人声数据流中提取演唱完当前字的演唱窗口区间;
[0143] 匹配模块73,用于获取当前字的演唱窗口区间与歌曲文件中对应字的参考窗口区间的匹配区间,其中,所述参考窗口区间为基于对应字的播放窗口区间偏移至少一个偏移时长后得到的至少一个偏移窗口区间的组合;
[0144] 计算模块74,用于根据所述匹配区间计算当前字的演唱得分,根据歌曲中所有字的演唱得分计算所述歌曲的演唱总分。
[0145] 获取模块71将演唱者的人声数据流通过麦克风或其他声音采集装置进行获取,然后将人声数据流送到提取模块72,提取模块对将最新的人声数据流信息进行缓存,当提取模块判断到演唱者演唱完歌曲中某一个字(即当前字)时,获取演唱者演唱完当前字的演唱窗口区间,其中,上述演唱窗口区间包括演唱者开始演唱当前字的起始时间和演唱者演唱完当前字的结束时间,以及在起始时间和结束时间之间演唱者产生的所有人声数据流信息。
[0146] 然后,匹配模块73获取演唱者演唱当前字的演唱窗口区间与歌曲文件中对应的参考窗口区间的匹配区间,这里的参考窗口区间是指:基于对应字的播放窗口区间偏移至少一个偏移时长后得到的至少一个窗口区间的组合,上述偏移时长和偏移窗口区间的个数可以根据实际需求自由设定。例如,偏移窗口区间可以设置为3个,对应的偏移时长设置为-1,0,+1,其中,“1”表示一个当前字的播放窗口区间时长,“-”表示后向偏移,“+”表示前向偏移,比如,可以根据演唱者的不同演唱水平进行设定偏移时长和偏移窗口区间的个数。
[0147] 然后,计算模块74根据匹配区间计算当前字的演唱得分,再根据当前字的得分计算该歌曲的演唱总分。
[0148] 具体地,一种匹配模块71的结构图如图8所示,包括:
[0149] 第一音调获取模块81,用于获取演唱窗口区间中的演唱音调数据;
[0150] 第二音调获取模块82,用于获取参考窗口区间中的参考音调数据;
[0151] 比对模块83,用于将所述演唱音调数据与参考音调数据进行比对,选取音调匹配度大于匹配度阈值的窗口区间为匹配区间。
[0152] 即,匹配模式71中,第一音调获取模块81首先获取演唱者演唱当前字的演唱音调数据,然后第二音调获取模块82获取参考窗口区间中的参考音调数据;比对模块83将演唱者演唱当前字的演唱音调数据与参考音调数据进行比对,从中选取音调匹配度大于匹配度阈值的窗口区间为匹配区间。
[0153] 在第一音调获取模块81中,需要首先对采集到的演唱窗口区间的数据流进行低通滤波,尽可能地保留人声成分,然后对滤波后的数据流进行交叠分帧,之后对每一帧的数据进行清音判定,如果判定是清音,则该帧的音调数据记为0,如果判定该帧的音调不是清音,则需要利用倒频谱计算音调,并将计算得到的当前帧的音调与前8帧的音调进行中值滤波,四舍五入取整得到音调数据。
[0154] 比对模块83将当前字演唱窗口区间中的演唱音调数据,与参考窗口区间的音调数据进行比对,选择演唱音调数据与参考窗口区间的音调数据偏移最小、匹配度大于匹配度阈值的区间为匹配区间。
[0155] 其中,匹配度的一种计算公式为:
[0156]
[0157] 其中,PitchMatch表示匹配度数值,HitFrameNum代表演唱窗口区间帧音调与参考窗口区间对应帧音调的差值小于一预设音调差值的帧数目,WordFrameNum代表演唱当前字所包含的总帧数目。
[0158] 如将匹配度阈值设定为0.5,则将计算后结果与0.5进行比较,若存在一个区间计算后的结果大于0.5,则将该区间设定为匹配区间。
[0159] 具体地,一种计算模块74的结构图如图9所示,包括:
[0160] 音调计算模块91,用于根据所述匹配区间的音调匹配度计算当前字的音调得分。
[0161] 节奏计算模块92,用于根据所述匹配区间起始时间与所述歌曲文件对应字播放窗口区间起始时间的差值计算当前字的节奏得分。
[0162] 音强计算模块93,用于根据匹配区间人声数据流平均音强与所述歌曲对应字播放窗口区间音强的比值计算当前字的音强得分。
[0163] 在音调计算模块91,若存在匹配区间,则将匹配区间的匹配度作为当前字的音调得分;节奏计算模块,用于根据匹配区间起始时间与对应字播放窗口区间起始时间的差值计算当前字的节奏得分;音强计算模块93,首先计算匹配区间人声数据流中每一帧的平均电平,然后根据匹配区间人声数据流中的平均电平计算演唱当前字时的平均音强,再根据演唱当前字时的平均音强与歌曲文件对应字播放窗口音强的比值计算当前字的音强得分。
[0164] 另外,由于本系统是以歌曲中的字为基本单元,根据字的音调、节奏和音强计算歌曲中每个字的得分,再根据整个歌曲中所有字的得分获取歌曲的得分。需要注意的是,基于字的得分仅为基础得分,在基础得分的基础上,还可以包括以句为基础单位的附加得分和根据不同唱歌对象的模式得分。例如,附加评分可以包括升降调得分、句连续爆击得分和句随机倍数得分,这些附加评分项目可以增加评分过程中的娱乐性和互动性。
[0165] 从以上的描述中,可以看出,本发明通过对歌唱者演唱歌曲中每个字的音调、节奏、音强进行实时评分,实现了基于基本单元字对歌曲进行实时评分,从而解决了现有的歌唱评分系统评分不准确、缺乏趣味性和互动性的技术问题,达到了从不同方面对演唱者水平进行实时评估的技术效果。
[0166] 至此,已详细描述了本发明。为了避免蒙蔽本发明的构思,没有对本领域所公知的一些细节进行描述。本领域技术人员根据上面的描述,完全可以明白如何实施本发明公开的技术方案。
[0167] 以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈