本技术涉及网络在线娱乐服务领域,尤其涉及一种歌唱音准评分方法,此外还涉及该方法相应的装置、设备、非易失性存储介质以及计算机程序产品。
背景技术:
1、现有的互联网平台通常会向用户提供在线歌唱服务,用户通过使用在线歌唱服务在平台中进行k歌,例如,对于网络直播平台而言,主播用户可通过使用在线唱歌服务,在直播间中播放音乐伴奏以进行歌唱,但现有的在线歌唱服务一般仅提供歌唱人声录入功能,用户无法通过在线歌唱服务了解其唱歌水平,虽然部分平台会提供歌唱评分功能,但其评分方式都较为简略,一般仅通过录入的音量进行打分,无法让用户了解其真实的唱歌水平。
2、鉴于现有的在线歌唱服务所存在的问题,本技术人出于解决该问题的考虑做出相应的探索。
技术实现思路
1、本技术的目的在于满足用户需求而提供一种歌唱音准评分方法,此外还涉及该方法相应的装置、设备、非易失性存储介质以及计算机程序产品。
2、为实现本技术的目的,采用如下技术方案:
3、适应本技术的目的而提出的一种歌唱音准评分方法,包括如下步骤:
4、响应用户歌唱事件,播放所述用户歌唱事件对应的目标歌曲,获取所述目标歌曲对应的标准音高信息,所述标准音高信息包含多个歌词段落标识与其标准音高集合,所述标准音高集合包含多个标准节拍音高;
5、获取用户端的人声歌唱音轨进行延时对齐,平滑提取所述人声歌唱音轨的歌唱节拍音高;
6、获取所述目标歌曲中当前播放完的歌词段落的时间段内所提取的多个所述节拍歌唱音高作为歌唱音高合集,根据归一化音高对比规则,执行所述歌唱段落对应的标准音高集合与所述歌唱音高合集之间的节拍音高对比,确定出所述歌唱段落对应的歌唱音准分数;
7、获取所述目标歌曲的所有歌曲段落各自对应的所述歌唱音准分数,基于各所述歌唱音准分数,确定出所述目标歌曲的最终歌唱音准分数。
8、进一步的实施例中,所述响应用户歌唱事件,播放所述用户歌唱事件对应的目标歌曲,获取所述目标歌曲对应的标准音高信息,所述标准音高信息包含多个歌词段落标识与其标准音高集合,所述标准音高集合包含多个标准节拍音高的步骤前,包括如下步骤:
9、获取当前歌曲所对应的歌词段落信息,且获取当前歌曲中的人声音轨,其中,所述歌词信息中包含的多个歌词段落的起始时间;
10、获取所述歌词信息中当前歌词段落及其下一歌词段落的起始时间,将所述下一歌词段落的起始时间作为当前歌词段落的结束时间,将所述人声音轨中处于当前歌词段落的所述起始时间至所述结束时间之间的音轨作为当前歌词段落的歌词音轨;
11、获取当前歌词段落所对应的歌词音轨,检查所述歌词音轨中是否存在时间超过预设时长的静音段,若存在,则将所述静音段的起始时间作为所述歌词音轨的结束时间;
12、平滑提取所述歌词音轨包含的多个标准节拍音高,生成各所述标准节拍音高所组成的标准音高集合,将所述当前歌词段落的歌词段落标识及所述标准音高集合封装为映射关系数据。
13、进一步的实施例中,所述响应用户歌唱事件,播放所述用户歌唱事件对应的目标歌曲,获取所述目标歌曲对应的标准音高信息,所述标准音高信息包含多个歌词段落标识与其标准音高集合,所述标准音高集合包含多个标准节拍音高的步骤前,包括如下步骤:
14、响应应用程序启动事件播放高频延时对齐音频,获取播放所述高频延时对齐音频的音频播放时间;
15、响应作用于音频采集模块的高频延时对齐音频采集事件,确定该事件的音频采集时间;
16、计算出所述音频播放时间与所述音频采集时间的时间差作为延时对齐时长,以根据所述延时对齐时长对人声歌唱音轨进行所述延时对齐。
17、进一步的实施例中,所述获取用户端的人声歌唱音轨进行延时对齐的步骤中,包括如下步骤:
18、响应作用于音频采集模块的人声歌唱音轨采集事件,获取人声歌唱音轨的音轨时间轴;
19、获取延时对齐时长,将从所述音轨时间轴的首部减去所述延时时长所对应的时间轴长度。
20、进一步的实施例中,所述平滑提取所述人声歌唱音轨的歌唱节拍音高的步骤中,包括如下步骤;
21、提取出所述人声音轨中多个帧音高,生成包含多个所述帧音高的节拍音高集;
22、确定出所述节拍音高集包含的各所述帧音高中未超过预设第一音高的无效帧音高,若所述节拍音高集中存在的所述无效帧音高的数量超过一半帧音高总数,则将所述预设第一音高作为所述节拍音高集对应的节拍音高的音高数值;
23、若所述节拍音高集中存在的所述无效帧音高的数量未超过预设阈值,确定出各所述帧音高对应的中位数音高,将所述中位数音高赋值于与其绝对差值超过预设第二音高的帧音高;
24、基于各所述帧音高计算出对应的平均音高,将该平均音高作为所述节拍音高集对应的节拍音高的音高数值。
25、进一步的实施例中,所述获取所述目标歌曲中当前播放完的歌词段落的时间段内所提取的多个所述节拍歌唱音高作为歌唱音高合集,根据归一化音高对比规则,执行所述歌唱段落对应的标准音高集合与所述歌唱音高合集之间的节拍音高对比,确定出所述歌唱段落对应的歌唱音准分数的步骤中,包括如下步骤:
26、获取当前歌词段落的歌唱音高合集与标准音高合集,分别计算出所述歌唱音高合集与所述标准音高合集各自的平均歌唱节拍音高及平均标准节拍音高;
27、计算所述歌唱音高集合中当前歌唱节拍音高与平均歌唱节拍音高的差值作为第一差值,且确定出所述标准音高合集中当前歌唱节拍音高对应的标准节拍音高,计算所述标准节拍音高与平均标准节拍音高的差值作为第二差值;
28、计算所述第一差值与第二差值之间的绝对差值作为所述当前歌唱节拍音高的节拍音高差;
29、根据所述歌唱音高集合中各歌曲节拍音高所对应的所述节拍音高差,基于预设评分规则,确定当前歌词段落的歌唱音准分数。
30、适应本技术的目的而提出的一种歌唱音准评分装置,其包括:
31、标准音高获取模块,用于响应用户歌唱事件,播放所述用户歌唱事件对应的目标歌曲,获取所述目标歌曲对应的标准音高信息,所述标准音高信息包含多个歌词段落标识与其标准音高集合,所述标准音高集合包含多个标准节拍音高;
32、歌唱音高获取模块,用于获取用户端的人声歌唱音轨进行延时对齐,平滑提取所述人声歌唱音轨的歌唱节拍音高;
33、音准分数确定模块,用于获取所述目标歌曲中当前播放完的歌词段落的时间段内所提取的多个所述节拍歌唱音高作为歌唱音高合集,根据归一化音高对比规则,执行所述歌唱段落对应的标准音高集合与所述歌唱音高合集之间的节拍音高对比,确定出所述歌唱段落对应的歌唱音准分数;
34、最终分数确定模块,用于获取所述目标歌曲的所有歌曲段落各自对应的所述歌唱音准分数,基于各所述歌唱音准分数,确定出所述目标歌曲的最终歌唱音准分数。
35、进一步的实施例中,所述歌唱音高获取模块包括:
36、音轨时间轴获取子模块,用于响应作用于音频采集模块的人声歌唱音轨采集事件,获取人声歌唱音轨的音轨时间轴;
37、时间轴长度修改子模块,用于获取延时对齐时长,将从所述音轨时间轴的首部减去所述延时时长所对应的时间轴长度。
38、进一步的实施例中,所述歌唱音高获取模块还包括:
39、帧音高提取子模块,用于提取出所述人声音轨中多个帧音高,生成包含多个所述帧音高的节拍音高集;
40、无效帧音高确定子模块,用于确定出所述节拍音高集包含的各所述帧音高中未超过预设第一音高的无效帧音高,若所述节拍音高集中存在的所述无效帧音高的数量超过一半帧音高总数,则将所述预设第一音高作为所述节拍音高集对应的节拍音高的音高数值;
41、中位数音高校验子模块,用于若所述节拍音高集中存在的所述无效帧音高的数量未超过预设阈值,确定出各所述帧音高对应的中位数音高,将所述中位数音高赋值于与其绝对差值超过预设第二音高的帧音高;
42、平均音高确定子模块,用于基于各所述帧音高计算出对应的平均音高,将该平均音高作为所述节拍音高集对应的节拍音高的音高数值。
43、进一步的实施例中,所述音准分数确定模块包括:
44、平均节拍音高确定子模块,用于获取当前歌词段落的歌唱音高合集与标准音高合集,分别计算出所述歌唱音高合集与所述标准音高合集各自的平均歌唱节拍音高及平均标准节拍音高;
45、音高差值计算子模块,用于计算所述歌唱音高集合中当前歌唱节拍音高与平均歌唱节拍音高的差值作为第一差值,且确定出所述标准音高合集中当前歌唱节拍音高对应的标准节拍音高,计算所述标准节拍音高与平均标准节拍音高的差值作为第二差值;
46、节拍音高差确定子模块,用于计算所述第一差值与第二差值之间的绝对差值作为所述当前歌唱节拍音高的节拍音高差;
47、歌唱分数确定子模块,用于根据所述歌唱音高集合中各歌曲节拍音高所对应的所述节拍音高差,基于预设评分规则,确定当前歌词段落的歌唱音准分数。
48、为解决上述技术问题本技术实施例还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述歌唱音准评分方法的步骤。
49、为解决上述技术问题本技术实施例还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述歌唱音准评分方法的步骤。
50、为解决上述技术问题本技术实施例还提供一种计算机程序产品,包括计算机程序及计算机指令,该计算机程序及计算机指令被处理器执行时,使得所述处理器执行上述所述歌唱音准评分方法的步骤。
51、相对于现有技术,本技术的优势如下:
52、本技术为平台的在线歌唱服务提供了音准评分服务,为使用平台的在线歌唱服务的平台用户在演唱歌曲时,对用户演唱的每一句歌词进行音准评分,并确定出最终的音准评分,使得用户可了解其演唱歌曲时的演唱水平,具体的,通过平滑提取出用户演唱歌曲时的人声演唱音轨中的歌唱节拍音高,并当用户演唱完一句歌词后,将用户演唱该句歌词时所提取的歌唱节拍音高与原唱的标准节拍音高进行归一化音高对比,以确定出用户演唱该句歌词时的歌唱音准分数,以此类推,持续计算出用户演唱歌曲中各句歌词段落的歌词音准分数,进而根据该些歌词音准分数确定出用户演唱整首歌曲的最终歌词音准分数,通过音高确定用户演唱歌曲的音准分数,相较于传统的通过音量进行分数确定的方式本技术更符合乐理,提升了歌唱分数的评分准确性,使确定出的歌唱分数具有可信度。
53、其次,本技术对所述人声歌唱音轨进行所述延时对齐,因处于用户端的用户一般将在听到目标歌曲的音乐后才开始演唱,导致用户端采集到的人声歌唱音轨的首部音轨中一般不存在用户的歌唱人声,因此,进行延时对齐可保证根据人声歌唱音轨的歌唱节拍音高可与与其进行评分确定的标准音高集合所包含的标准节拍音高对齐进行对比,保证歌唱评分的准确性。
54、另外,本技术平滑提取人声音轨中的各节拍音高数值,可防止过高或过低的无效音高对音高数值的干扰,使得提取的音高数值的有效性,保证基于较高进行评分所得的分数的可信度。
55、再者,本技术通过归一化方式确定出各歌唱音高与标准音高之间的音高差,以消除因不同人的基音带来的音高影响,例如男性用户与女性用户在演唱原唱为异性的歌曲时,因男女的基音存在天然性及生理性的差别,通过归一化方式消除基音所带来的影响,以提升音准判断的准确性,优化用户使用在线歌唱服务中歌唱评分的体验。