1.本公开的实施方式涉及语音信号处理技术领域,更具体地,本公开的实施方式涉及一种节奏评分的确定方法、介质、装置和计算设备。
背景技术:2.本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.现有的k歌系统可以对用户的演唱进行评分,提高了娱乐互动性。其中,对节奏进行评分是一种常用的评分方式。
4.相关技术中,在进行节奏评分时,通常使用音高轮廓作为节奏评价的特征,通过对用户演唱的音高线与模板音高线进行动态时间规整(dynamic time warping,dtw)运算,获得对应的dtw曲线,然后计算该dtw曲线与其拟合得到的直线之间的均方根(root mean square,rms)(即最小二乘差值),得到节奏评分。通过上述方式获得的节奏评分不够准确。
技术实现要素:5.本公开提供一种节奏评分的确定方法、介质、装置和计算设备,以准确地确定节奏评分。
6.第一方面,本公开实施例提供一种节奏评分的确定方法,包括:
7.获取用户演唱目标歌曲对应的干声信号;
8.确定干声信号中各个用户演唱音符的第一起始点;
9.根据第一起始点、目标歌曲对应的音高线文件中各个目标音符的权重以及音高线文件中各个目标音符对应的起始点检测区间,确定用户演唱目标歌曲的节奏评分,权重用于表示音高线文件中不同目标音符对于节奏听感的重要程度,起始点检测区间包括以目标音符的第二起始点为中心的预设偏移量范围,起始点检测区间对应目标音符的第一预设分数,起始点检测区间和第一起始点用于确定目标音符的目标分数。
10.在一种可能的实施方式中,根据第一起始点、目标歌曲对应的音高线文件中各个目标音符的权重以及音高线文件中各个目标音符对应的起始点检测区间,确定用户演唱目标歌曲的节奏评分,包括:确定起始点检测区间是否存在对应的第一起始点;若确定起始点检测区间存在对应的第一起始点,则根据第一起始点以及起始点检测区间对应的目标音符的第一预设分数,确定目标音符的目标分数;根据目标音符的权重和目标分数,确定用户演唱目标歌曲的节奏评分。
11.在一种可能的实施方式中,根据目标音符的权重和目标分数,确定用户演唱目标歌曲的节奏评分,包括:获取各起始点检测区间对应的目标音符的权重和目标分数的乘积;根据各乘积的加和与音高线文件中各个目标音符的权重加和的比值,确定用户演唱目标歌曲的节奏评分。
12.在一种可能的实施方式中,该节奏评分的确定方法还包括:若确定起始点检测区
间不存在对应的第一起始点,则确定起始点检测区间对应的目标音符的目标分数为第二预设分数,第二预设分数小于起始点检测区间对应的目标音符的第一预设分数。
13.在一种可能的实施方式中,目标音符对应的起始点检测区间包括多个不同的起始点检测子区间,不同的起始点检测子区间对应目标音符的不同的第一预设分数;不同的起始点检测子区间包括以目标音符的第二起始点为中心的不同的预设偏移量范围,不同的预设偏移量范围是根据目标音符的长度、目标音符的第二起始点以及不同的预设检测值获得的。
14.在一种可能的实施方式中,该节奏评分的确定方法还包括:若确定目标音符对应的起始点检测区间存在对应的多个第一起始点,则确定起始点检测区间中与各第一起始点分别对应的目标起始点检测子区间;确定各目标起始点检测子区间分别对应的目标音符的第一预设分数中的最高分为目标音符的目标分数。
15.在一种可能的实施方式中,确定干声信号中各个用户演唱音符的第一起始点,包括:基于预设的起始点检测算法,确定干声信号中各个用户演唱音符的第一起始点。
16.在一种可能的实施方式中,预设的起始点检测算法包括基于频谱的起始点检测算法和基于pyin的起始点检测算法,确定干声信号中各个用户演唱音符的第一起始点,包括:基于频谱的起始点检测算法,确定干声信号中各个用户演唱音符的第三起始点;基于pyin的起始点检测算法,确定干声信号中各个用户演唱音符的第四起始点;根据第三起始点和第四起始点的并集,确定干声信号中各个用户演唱音符的第一起始点。
17.在一种可能的实施方式中,根据第一起始点、目标歌曲对应的音高线文件中各个目标音符的权重以及音高线文件中各个目标音符对应的起始点检测区间,确定用户演唱目标歌曲的节奏评分之前,该节奏评分的确定方法还包括:通过以下方式获取目标歌曲对应的音高线文件中各个目标音符的权重:确定气口后的第一个目标音符的权重为第一权重以及确定音高线文件中的起始音符的权重为第一权重;确定连续同音符中第一个目标音符的权重为第二权重,第二权重小于第一权重;确定除气口后的第一个目标音符、连续同音符之外的目标音符的权重为第三权重,第三权重小于第二权重;确定连续同音符中除第一个目标音符之外的目标音符的权重为第四权重,第四权重小于第三权重;根据第一权重、第二权重、第三权重以及第四权重,获得目标歌曲对应的音高线文件中各个目标音符的权重。
18.在一种可能的实施方式中,该节奏评分的确定方法还包括:若相邻两个目标音符之间的时间间隔大于气口阈值,则确定相邻两个目标音符之间有一个气口;若至少两个目标音符的音高相同,且相邻两个目标音符之间的时间间隔小于气口阈值,则确定至少两个目标音符为连续同音符。
19.第二方面,本公开实施例提供一种节奏评分的确定装置,包括:
20.获取模块,用于获取用户演唱目标歌曲对应的干声信号;
21.确定模块,用于确定干声信号中各个用户演唱音符的第一起始点;
22.处理模块,用于根据第一起始点、目标歌曲对应的音高线文件中各个目标音符的权重以及音高线文件中各个目标音符对应的起始点检测区间,确定用户演唱目标歌曲的节奏评分,权重用于表示音高线文件中不同目标音符对于节奏听感的重要程度,起始点检测区间包括以目标音符的第二起始点为中心的预设偏移量范围,起始点检测区间对应目标音符的第一预设分数,起始点检测区间和第一起始点用于确定目标音符的目标分数。
23.在一种可能的实施方式中,处理模块具体用于:确定起始点检测区间是否存在对应的第一起始点;若确定起始点检测区间存在对应的第一起始点,则根据第一起始点以及起始点检测区间对应的目标音符的第一预设分数,确定目标音符的目标分数;根据目标音符的权重和目标分数,确定用户演唱目标歌曲的节奏评分。
24.在一种可能的实施方式中,处理模块具体用于:获取各起始点检测区间对应的目标音符的权重和目标分数的乘积;根据各乘积的加和与音高线文件中各个目标音符的权重加和的比值,确定用户演唱目标歌曲的节奏评分。
25.在一种可能的实施方式中,处理模块还用于:若确定起始点检测区间不存在对应的第一起始点,则确定起始点检测区间对应的目标音符的目标分数为第二预设分数,第二预设分数小于起始点检测区间对应的目标音符的第一预设分数。
26.在一种可能的实施方式中,目标音符对应的起始点检测区间包括多个不同的起始点检测子区间,不同的起始点检测子区间对应目标音符的不同的第一预设分数;不同的起始点检测子区间包括以目标音符的第二起始点为中心的不同的预设偏移量范围,不同的预设偏移量范围是根据目标音符的长度、目标音符的第二起始点以及不同的预设检测值获得的。
27.在一种可能的实施方式中,处理模块还用于:若确定目标音符对应的起始点检测区间存在对应的多个第一起始点,则确定起始点检测区间中与各第一起始点分别对应的目标起始点检测子区间;
28.确定各目标起始点检测子区间分别对应的目标音符的第一预设分数中的最高分为目标音符的目标分数。
29.在一种可能的实施方式中,确定模块具体用于:基于预设的起始点检测算法,确定干声信号中各个用户演唱音符的第一起始点。
30.在一种可能的实施方式中,预设的起始点检测算法包括基于频谱的起始点检测算法和基于pyin的起始点检测算法,确定模块具体用于:基于频谱的起始点检测算法,确定干声信号中各个用户演唱音符的第三起始点;基于pyin的起始点检测算法,确定干声信号中各个用户演唱音符的第四起始点;根据第三起始点和第四起始点的并集,确定干声信号中各个用户演唱音符的第一起始点。
31.在一种可能的实施方式中,处理模块还用于:在根据第一起始点、目标歌曲对应的音高线文件中各个目标音符的权重以及音高线文件中各个目标音符对应的起始点检测区间,确定用户演唱目标歌曲的节奏评分之前,通过以下方式获取目标歌曲对应的音高线文件中各个目标音符的权重:确定气口后的第一个目标音符的权重为第一权重以及确定音高线文件中的起始音符的权重为第一权重;确定连续同音符中第一个目标音符的权重为第二权重,第二权重小于第一权重;确定除气口后的第一个目标音符、连续同音符之外的目标音符的权重为第三权重,第三权重小于第二权重;确定连续同音符中除第一个目标音符之外的目标音符的权重为第四权重,第四权重小于第三权重;根据第一权重、第二权重、第三权重以及第四权重,获得目标歌曲对应的音高线文件中各个目标音符的权重。
32.在一种可能的实施方式中,处理模块还用于:若相邻两个目标音符之间的时间间隔大于气口阈值,则确定相邻两个目标音符之间有一个气口;若至少两个目标音符的音高相同,且相邻两个目标音符之间的时间间隔小于气口阈值,则确定至少两个目标音符为连
续同音符。
33.第三方面,本公开实施例提供一种计算设备,包括:处理器,以及与处理器通信连接的存储器;
34.存储器存储计算机执行指令;
35.处理器执行存储器存储的计算机执行指令,以实现如本公开第一方面所述的节奏评分的确定方法。
36.第四方面,本公开实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序指令,计算机程序指令被处理器执行时,实现如本公开第一方面所述的节奏评分的确定方法。
37.第五方面,本公开实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如本公开第一方面所述的节奏评分的确定方法。
38.本公开实施例提供的节奏评分的确定方法、介质、装置和计算设备,通过获取用户演唱目标歌曲对应的干声信号,确定干声信号中各个用户演唱音符的第一起始点,根据第一起始点、目标歌曲对应的音高线文件中各个目标音符的权重以及音高线文件中各个目标音符对应的起始点检测区间,确定用户演唱目标歌曲的节奏评分。由于本公开根据用户演唱歌曲对应的干声信号、音高线文件中各个音符的权重以及音高线文件中各个音符对应的起始点检测区间,确定用户演唱歌曲的节奏评分,因此,能够准确地获得用户演唱歌曲的节奏评分,提升用户体验。
附图说明
39.通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
40.图1为本公开实施例提供的一种应用场景示意图;
41.图2为本公开一实施例提供的节奏评分的确定方法的流程;
42.图3为本公开一实施例提供的音高线文件中的音符对应的起始点检测子区间a的示意图;
43.图4为本公开另一实施例提供的节奏评分的确定方法的流程图;
44.图5为本公开一实施例提供的基于频谱的起始点检测算法检测音符起始点的示意图;
45.图6为本公开一实施例提供的基于pyin的起始点检测算法检测出的音符起始点的示意图;
46.图7为本公开一实施例提供的基于pyin的起始点检测算法对于辅音无法检出音高的示意图;
47.图8为本公开一实施例提供的确定目标音符的目标分数的示意图;
48.图9为本公开一实施例提供的节奏评分的确定装置的结构示意图;
49.图10为本公开一实施例提供的程序产品示意图;
50.图11为本公开一实施例提供的计算设备的结构示意图。
51.在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
52.下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
53.本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
54.根据本公开的实施方式,提出了一种节奏评分的确定方法、介质、装置和计算设备。
55.在本文中,需要理解的是,所涉及的术语:端点检测,即划分音符的起始点的算法,通常称为起始点(onset)检测;干声,即无伴奏、未经后期处理的纯人声;频谱,是一种分析音频的方法,能够展示信号频率与能量的关系,一般为二维图像,横轴表示时间,纵轴为频率,颜色深浅表示能量高低。此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
56.下面参考本公开的若干代表性实施方式,详细阐释本公开的原理和精神。
57.发明概述
58.本发明人发现,现有的k歌系统在对用户的演唱进行评分时,通常是对用户演唱的音准进行评分。具体地,基于用户歌声与模板(比如midi文件)中歌曲的旋律(即基频)之间的差异来得到用户歌声的评分。另外,人工在对一段歌声进行评分时,除了会对音准进行评分外,还会考虑节奏、气息、音色、演唱技巧等要素。其中,对节奏进行评分是一种常用的评分方式。相关技术在进行节奏评分时,通常使用音高轮廓作为节奏评价的特征,通过对用户演唱的音高线与模板音高线进行dtw运算,获得对应的dtw曲线,然后计算该dtw曲线与其拟合得到的直线之间的rms,得到节奏评分。通过上述方式进行节奏评分时,存在以下缺点:(1)可以对不同歌手演唱的同一首歌曲进行有效的节奏评价,但不同歌曲之间的评分不能相互比较;(2)需要对全曲音高线进行计算,无法以句为尺度给出实时评分;(3)需要用户严格按照音高演唱,若出现跑调但节奏正确的情况,则无法给出合适的评分。为了解决上述缺点(3)中出现的用户跑调但节奏正确的情况,使用13维梅尔倒频谱系数(mel frequency cepstral coefficients,mfcc)特征,并使用dtw进行节奏评分,但是,该评分方式仍然存在以下缺点:(1)mfcc特征允许在用户跑调的情况下进行节奏评估,但相应的,用户必须正确地演唱歌词,否则无法给出合适的给分;(2)可以对不同歌手演唱的同一首歌进行有效的节奏评价,但不同歌曲之间评分不能相互比较;(3)需要对全曲音高线进行计算,无法以句为尺度给出实时评分。
59.另外,相关技术中,还可以通过以下各方式对节奏进行评分:(1)用语音识别技术识别歌词,以句为单位进行匹配,得出歌声集合e={e1,e2...,ei,
…
en}。基于频率定位一句歌声中每个字的起始点与终止点,得出单音集合pi={pi1,pi2,...,pij}。对歌声集合e中的第i句歌声ei的用户歌声时长和标准歌声时长进行比对,评出整体节奏得分。同样,对歌声集合e中的第i句歌声的第j个字的用户歌声和标准歌声的起始与结束时间差异进行比对,评出局部节奏得分;方式(1)存在以下缺点:用户必须正确的演唱歌词,否则算法无法给
出合适的给分;在同一首歌内出现相同歌词的乐句时,匹配易产生混乱;局部节奏评分需要用户严格按照音高演唱,若出现跑调但节奏正确的情况,算法无法给出合适的评分;(2)针对乐器演奏的节奏进行评分,对于每一个音符取其演奏持续时间的中点作为演奏具体时间点,使用动态规划进行匹配,按照多演奏或少演奏的音在总体中的占比进行扣分;方式(2)存在以下缺点:无法具体根据每个音符演奏的偏差进行恰当的评分;对一段乐句中同时存在多演奏与少演奏的音进行评分时,得出的分数存在偏差;(3)以小节为最小单位进行匹配与评分,基于小节起始点节拍的准确程度与小节整体时值的差值进行节奏评分;方式(3)存在以下缺点:小节最小偏移单位为32分音符,匹配不够准确,同时评分也不够准确;当用户演唱节奏与原曲相差超过4个4分音符时,超过匹配方法的上限,将匹配不到相应乐句;无法对单音的漏拍,错拍,抢拍进行检测。上述对节奏进行评分的各方式较为简陋,算法硬伤较多,准确度不高且适用情况较窄。
60.基于上述问题,本公开提供一种节奏评分的确定方法、介质、装置和计算设备,通过获取用户演唱歌曲对应的干声信号,根据干声信号和音高线文件,能够准确地获得用户演唱歌曲的节奏评分,提升用户体验。
61.应用场景总览
62.首先参考图1对本公开提供的方案的应用场景进行示例说明。图1为本公开实施例提供的一种应用场景示意图,如图1所示,本应用场景中,服务器102通过客户端101获取用户演唱歌曲的干声信号,服务器102根据用户演唱歌曲的干声信号和音高线文件,确定用户演唱歌曲的节奏评分,将该节奏评分通过网络传输给客户端101,客户端101显示用户演唱歌曲的节奏评分。其中,服务器102根据用户演唱歌曲的干声信号和音高线文件,确定用户演唱歌曲的节奏评分的具体实现过程可以参见下述各实施例的方案。
63.需要说明的是,图1仅是本公开实施例提供的一种应用场景的示意图,本公开实施例不对图1中包括的设备进行限定,也不对图1中设备之间的位置关系进行限定。例如,在图1所示的应用场景中,还可以包括数据存储设备,该数据存储设备相对服务器102可以是外部存储器,也可以是集成在服务器102中的内部存储器。
64.示例性方法
65.下面结合图1的应用场景,参考图1来描述根据本公开示例性实施方式的节奏评分的确定方法。需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。
66.首先,通过具体实施例介绍节奏评分的确定方法。
67.图2为本公开一实施例提供的节奏评分的确定方法的流程图。本公开实施例的方法可以应用于计算设备中,该计算设备可以是服务器或服务器集群等。如图2所示,本公开实施例的方法包括:
68.s201、获取用户演唱目标歌曲对应的干声信号。
69.本公开实施例中,对于如何获取用户演唱目标歌曲对应的干声信号,本公开不做具体的限定。示例性地,用户在k歌时,通过耳机收听目标歌曲的伴奏,演唱目标歌曲。k歌应用(application,app)可以直接录制用户演唱目标歌曲对应的无伴奏的纯人声,即干声信号,因此,可以获取到用户演唱目标歌曲对应的干声信号。示例性,用户在k歌时,直接听着
播放的伴奏,演唱目标歌曲,从而获得有伴奏的用户演唱的音频文件,利用相关的声伴分离算法,从该音频文件文件中提取用户演唱目标歌曲对应的干声信号。
70.s202、确定干声信号中各个用户演唱音符的第一起始点。
71.该步骤中,第一起始点为用户演唱的音符的开始时间,也可以称为用户演唱的音符的onset。确定干声信号中各个用户演唱音符的第一起始点即确定干声信号中各个用户演唱音符的onset。在获得了用户演唱目标歌曲对应的干声信号后,可以基于干声信号,通过目前的端点检测算法来提取干声onset,即确定干声信号中各个用户演唱音符的第一起始点。对于如何确定干声信号中各个用户演唱音符的第一起始点,可参考后续实施例,此处不再赘述。
72.s203、根据第一起始点、目标歌曲对应的音高线文件中各个目标音符的权重以及音高线文件中各个目标音符对应的起始点检测区间,确定用户演唱目标歌曲的节奏评分。
73.其中,权重用于表示音高线文件中不同目标音符对于节奏听感的重要程度,起始点检测区间包括以目标音符的第二起始点为中心的预设偏移量范围,起始点检测区间对应目标音符的第一预设分数,起始点检测区间和第一起始点用于确定目标音符的目标分数。
74.示例性地,音高线文件比如为midi文件,可以从歌曲供应商处采购获得,或者,可以由歌曲旋律提取、转谱等算法生成。表1为本公开一实施例提供的音高线文件格式,如表1所示,音高线文件为三列的矩阵,每列的含义分别为:音符开始时间,单位为毫秒(ms);音符结束时间,单位为毫秒(ms);音高,单位为midi键号。可以根据音符开始时间和音符结束时间的时间间隔获得对应的音符长度。
75.表1
[0076][0077]
音高线文件中不同音符,对于听感上节奏是否准确,贡献度不同,因此,可以根据音高线文件中不同音符对于节奏听感的重要程度,确定音高线文件中各个音符的权重。对于如何确定目标歌曲对应的音高线文件中各个目标音符的权重,可参考后续实施例,此处不再赘述。
[0078]
目标音符的第二起始点即音高线文件中目标音符的开始时间,以目标音符的第二
起始点为中心,根据预设偏移量范围,可以确定音高线文件中各个目标音符对应的起始点检测区间。起始点检测区间对应目标音符的第一预设分数,起始点检测区间和第一起始点用于确定目标音符的目标分数。
[0079]
可选的,目标音符对应的起始点检测区间包括多个不同的起始点检测子区间,不同的起始点检测子区间对应目标音符的不同的第一预设分数;不同的起始点检测子区间包括以目标音符的第二起始点为中心的不同的预设偏移量范围,不同的预设偏移量范围是根据目标音符的长度、目标音符的第二起始点以及不同的预设检测值获得的。
[0080]
示例性地,目标音符对应的起始点检测区间比如包括三个不同的起始点检测子区间,分别为起始点检测子区间a、起始点检测子区间b和起始点检测子区间c,三个不同的起始点检测子区间对应目标音符的不同的第一预设分数;三个不同的起始点检测子区间包括以目标音符的第二起始点为中心的不同的预设偏移量范围,具体地,可以通过如下方式确定三个不同的起始点检测子区间分别对应的预设偏移量范围:
[0081]
起始点检测子区间a:音符开始时间点
±
音符长度/4,其中,4为预设检测值;若根据起始点检测子区间a和用户演唱的音符的第一起始点,检测出第一起始点落入此区间,则可以获得对应的第一预设分数x分,x比如为1;
[0082]
起始点检测子区间b:音符开始时间点
±
音符长度/3,其中,3为预设检测值;若根据起始点检测子区间a和用户演唱的音符的第一起始点,检测出第一起始点落入此区间,则可以获得对应的第一预设分数y分,y比如为0.7;
[0083]
起始点检测子区间c:音符开始时间点
±
音符长度/2,其中,2为预设检测值;若根据起始点检测子区间a和用户演唱的音符的第一起始点,检测出第一起始点落入此区间,则可以获得对应的第一预设分数z分,z比如为0.5。
[0084]
其中,对于上述三个不同的起始点检测子区间的分数值要求可以为:x>y>z>0。上述三个不同的起始点检测子区间对应的各预设偏移量范围可以预先通过实验确定。示例性地,一种可能的实验方法为:获取涵盖不同演唱水平、不同歌曲风格、不同语种的干声信号,通过人工确定每一段演唱的节奏评分;设置多套确定上述三个不同的起始点检测子区间对应的预设偏移量,将本公开实施例提供的节奏评分的确定方法获得的节奏评分,与人工确定的节奏评分进行对比,根据与人工确定的节奏评分相关度最高的参数方案确定上述三个不同的起始点检测子区间对应的各预设偏移量范围。
[0085]
在通过上述方式确定了三个不同的起始点检测子区间分别对应的预设偏移量范围后,对应的三个起始点检测子区间可以分别用threshold
a
、threshold
b
和threshold
c
表示,相应地,三个起始点检测子区间分别对应的第一预设分数可以用score
a
、score
b
和score
c
表示。图3为本公开一实施例提供的音高线文件中的音符对应的起始点检测子区间a的示意图,如图3所示,对于音高线文件中的音符1、音符2和音符3,对应的音符开始时间点分别为:5s、7s和12s,对应的音符结束时间点分别为:7s、12s和15s,则可以确定对应的音符长度分别为:2s、5s和3s,每个音符对应的起始点检测区间包括前述的threshold
a
、threshold
b
和threshold
c
三个起始点检测子区间,具体地,音符1对应的起始点检测区间包括起始点检测子区间a1、起始点检测子区间b1和起始点检测子区间c1,音符2对应的起始点检测区间包括起始点检测子区间a2、起始点检测子区间b2和起始点检测子区间c2,音符3对应的起始点检测区间包括起始点检测子区间a3、起始点检测子区间b3和起始点检测子区间
c3;以音符1、音符2和音符3分别对应的threshold
a
起始点检测子区间为例,如图3所示,音符1、音符2和音符3分别对应的起始点检测子区间为:起始点检测子区间a1、起始点检测子区间a2和起始点检测子区间a3。其中,起始点检测子区间a1、起始点检测子区间a2和起始点检测子区间a3分别对应的第一预设分数score
a
均为1分。
[0086]
可选的,可以根据预先获得的供用户演唱的各歌曲对应的音高线文件,获取各歌曲对应的音高线文件中各个音符的权重以及音高线文件中各个音符对应的起始点检测区间,存储至内存中,以在对用户演唱的歌曲进行节奏评分时,从内存中直接获取用户演唱歌曲对应的音高线文件中各个目标音符的权重以及音高线文件中各个目标音符对应的起始点检测区间。
[0087]
本公开实施例中,在确定了干声信号中各个用户演唱音符的第一起始点后,可以根据第一起始点、目标歌曲对应的音高线文件中各个目标音符的权重以及音高线文件中各个目标音符对应的起始点检测区间,确定用户演唱目标歌曲的节奏评分。对于如何根据第一起始点、目标歌曲对应的音高线文件中各个目标音符的权重以及音高线文件中各个目标音符对应的起始点检测区间,确定用户演唱目标歌曲的节奏评分,可参考后续实施例,此处不再赘述。
[0088]
示例性地,在确定了用户演唱目标歌曲的节奏评分后,可以将用户演唱目标歌曲的节奏评分显示给用户。
[0089]
本公开实施例提供的节奏评分的确定方法,通过获取用户演唱目标歌曲对应的干声信号,确定干声信号中各个用户演唱音符的第一起始点,根据第一起始点、目标歌曲对应的音高线文件中各个目标音符的权重以及音高线文件中各个目标音符对应的起始点检测区间,确定用户演唱目标歌曲的节奏评分。由于本公开实施例根据用户演唱歌曲对应的干声信号、音高线文件中各个音符的权重以及音高线文件中各个音符对应的起始点检测区间,确定用户演唱歌曲的节奏评分,因此,能够准确地获得用户演唱歌曲的节奏评分,提升用户体验。
[0090]
在上述实施例的基础上,在确定音高线文件中各个音符在节奏评分中的权重时,首先可以根据音高线文件,确定音高线文件中相邻两个目标音符之间是否有一个气口以及确定至少两个目标音符是否为连续同音符。一种可能的实现方式是,若相邻两个目标音符之间的时间间隔大于气口阈值,则确定相邻两个目标音符之间有一个气口;若至少两个目标音符的音高相同,且相邻两个目标音符之间的时间间隔小于气口阈值,则确定至少两个目标音符为连续同音符。
[0091]
示例性地,乐句间换气所需的时间通常在450ms
‑
2000ms之间,快歌或极端情况的吸气时间在100ms
‑
450ms之间,因此,在音高线文件中,只要找到超过一定时长(即气口阈值,比如用t
breath
表示)的无音高片段,即可认为此处存在一个气口。具体地,气口阈值t
breath
比如为100ms,在音高线文件中,若相邻两个目标音符中,第二个目标音符的起始时间与第一个目标音符的结束时间的时间间隔大于100ms,则确定相邻两个目标音符之间有一个气口。对于连续同音符,示例性地,若3个目标音符的音高相同,且3个目标音符中相邻两个目标音符之间的时间间隔小于气口阈值,则确定这3个目标音符为连续同音符。
[0092]
可选的,根据第一起始点、目标歌曲对应的音高线文件中各个目标音符的权重以及音高线文件中各个目标音符对应的起始点检测区间,确定用户演唱目标歌曲的节奏评分
之前,本公开实施例提供的节奏评分的确定方法还可以包括:通过以下方式获取目标歌曲对应的音高线文件中各个目标音符的权重:确定气口后的第一个目标音符的权重为第一权重以及确定音高线文件中的起始音符的权重为第一权重;确定连续同音符中第一个目标音符的权重为第二权重,第二权重小于第一权重;确定除气口后的第一个目标音符、连续同音符之外的目标音符的权重为第三权重,第三权重小于第二权重;确定连续同音符中除第一个目标音符之外的目标音符的权重为第四权重,第四权重小于第三权重;根据第一权重、第二权重、第三权重以及第四权重,获得目标歌曲对应的音高线文件中各个目标音符的权重。
[0093]
示例性地,通过以下方式获取音高线文件中各个音符的权重:
[0094]
a.气口后的第一个音符(即每句第一个音符)的权重为第一权重x以及音高线文件中的起始音符的权重为第一权重,x比如为3,可以理解,音高线文件中的起始音符为音高线文件包含的所有音符中的第一个音符;
[0095]
b.连续同音符的第一个音符的权重为第二权重y,y比如为2;
[0096]
c.除气口后的第一个音符、连续同音符之外的音符的权重为第三权重z,z比如为1;
[0097]
d.连续同音符中除第一个音符之外的音符(即非首音)的权重为第四权重w,w比如为0。
[0098]
其中,对权重值的要求为:x>y>z>w。具体的权重值可以预先通过实验确定。示例性地,一种可能的实验方法为:获取涵盖不同演唱水平、不同歌曲风格、不同语种的干声信号;通过人工确定每一段演唱的节奏评分;设置多套确定权重值的参数方案,将本公开实施例提供的节奏评分的确定方法获得的节奏评分,与人工确定的节奏评分进行对比,根据与人工确定的节奏评分相关度最高的参数方案确定上述a、b、c和d中的权重值。
[0099]
需要说明的是,歌曲每一句的第一个音以及连续同音符的第一个音对节奏听感更为重要,因此,通过上述a和b确定对应的权重;为了降低连续同音符非首音检测可能不准确对节奏评分的影响,因此,通过上述d确定对应的权重。
[0100]
在通过上述方式获取到目标歌曲对应的音高线文件中各个目标音符的权重后,对于音高线文件中每一个目标音符对应的权重,比如可以用weight[j]表示。
[0101]
图4为本公开另一实施例提供的节奏评分的确定方法的流程图。在上述实施例的基础上,本公开实施例对如何进行确定用户演唱歌曲的节奏评分进行进一步说明。如图4所示,本公开实施例的方法可以包括:
[0102]
s401、获取用户演唱目标歌曲对应的干声信号。
[0103]
该步骤的具体描述可以参见图2所示实施例中s201的相关描述,此处不再赘述。
[0104]
本公开实施例中,图2中s202步骤可以进一步包括如下的s402步骤:
[0105]
s402、基于预设的起始点检测算法,确定干声信号中各个用户演唱音符的第一起始点。
[0106]
该步骤中,预设的起始点检测算法可以基于目前的起始点检测算法预先确定。因此,可以基于预设的起始点检测算法,确定干声信号中各个用户演唱音符的第一起始点。
[0107]
进一步地,预设的起始点检测算法包括基于频谱的起始点检测算法和基于pyin的起始点检测算法,确定干声信号中各个用户演唱音符的第一起始点,可以包括:基于频谱的起始点检测算法,确定干声信号中各个用户演唱音符的第三起始点;基于pyin的起始点检
测算法,确定干声信号中各个用户演唱音符的第四起始点;根据第三起始点和第四起始点的并集,确定干声信号中各个用户演唱音符的第一起始点。
[0108]
示例性地,基于频谱的起始点检测算法的原理为:当音频中吐字、音调产生变化时,频谱上会出现结构上的突变。图5为本公开一实施例提供的基于频谱的起始点检测算法检测音符起始点的示意图,如图5所示,对于用户演唱的一句歌词“让我感到为难的”,根据音量波形图501分解为对应的频谱图502,通过检测频谱图502中频谱能量的突变点,找到每个音符的onset。需要说明的是,基于频谱的起始点检测算法为通用onset特征提取器。
[0109]
示例性地,图6为本公开一实施例提供的基于pyin的起始点检测算法检测出的音符起始点的示意图,参考图6,基于pyin的起始点检测算法包括如下四个步骤:第一步,检测音频包含的每一帧对应的音高;第二步,对获得的音高进行平滑处理,获得如图6所示的一条音高线曲线601;第三步,根据音高线划分音符,获得对应的如图6所示的各直线602;第四步,确定音符的起始时间即为检测出的onset。需要说明的是,基于pyin的起始点检测算法为通用音符起始点特征提取器。
[0110]
经实验,上述基于频谱的起始点检测算法和基于pyin的起始点检测算法各有优劣,其中,基于频谱的起始点检测算法的优点为:在检测onset时考虑到了辅音的发声时间,缺点为:对于转音情况(多个音高对应同一个字)经常有漏检,对于一字多音高的情况,非首音onset不敏感;基于pyin的起始点检测算法的优点为:对于音高敏感,可以较好地解决转音的onset,缺点为:发音中辅音部分没有音高,因此,检测出的onset会晚于实际onset,引起误差,示例性地,图7为本公开一实施例提供的基于pyin的起始点检测算法对于辅音无法检出音高的示意图,如图7所示,数字241、242、243、244、174、177、179和180表示检测出的音高的频率,单位为hz;对于图7所示的第二个音符,基于pyin的起始点检测算法检测出的onset为起始点701,而第二个音符的实际onset应该为起始点702,起始点701晚于起始点702,会引起误差;另外,基于pyin的起始点检测算法对于连续同音高的情况,非首音onset无法检出。
[0111]
因此,在基于频谱的起始点检测算法,确定干声信号中各个用户演唱音符的第三起始点后,以及基于pyin的起始点检测算法,确定干声信号中各个用户演唱音符的第四起始点后,根据第三起始点和第四起始点的并集,确定干声信号中各个用户演唱音符的第一起始点,可以有效提升onset的检测准确度。示例性地,对于检测出的干声信号中各个用户演唱音符的第一起始点,可以用onset[i]表示。
[0112]
本公开实施例中,图2中s203步骤可以进一步包括如下的s403至s405三个步骤:
[0113]
s403、确定起始点检测区间是否存在对应的第一起始点。
[0114]
该步骤中,在基于预设的起始点检测算法,确定干声信号中各个用户演唱音符的第一起始点后,可以基于音高线文件中各个目标音符对应的起始点检测区间,确定起始点检测区间是否存在对应的第一起始点。示例性地,参考图3,第一起始点比如为4.8s,起始点检测区间比如为音符1对应的起始点检测子区间a1,起始点检测子区间a1为4.5s至5.5s,4.8s在4.5s至5.5s的范围内,因此,可以确定起始点检测子区间a1存在对应的第一起始点4.8s。
[0115]
若确定起始点检测区间存在对应的第一起始点,则执行s404步骤;若确定起始点检测区间不存在对应的第一起始点,则执行s406步骤。
[0116]
s404、若确定起始点检测区间存在对应的第一起始点,则根据第一起始点以及起始点检测区间对应的目标音符的第一预设分数,确定目标音符的目标分数。
[0117]
该步骤中,在确定起始点检测区间存在对应的第一起始点后,可以根据第一起始点以及起始点检测区间对应的目标音符的第一预设分数,确定目标音符的目标分数。示例性地,参考图3,第一起始点比如为4.8s,起始点检测区间比如为音符1对应的起始点检测子区间a1,在确定起始点检测子区间a1存在对应的第一起始点4.8s后,由于起始点检测子区间a1对应的音符1的第一预设分数为1分,因此,可以确定第一起始点对应的目标音符的目标分数为1分。
[0118]
进一步地,本公开实施例提供的节奏评分的确定方法还可以包括:若确定目标音符对应的起始点检测区间存在对应的多个第一起始点,则确定起始点检测区间中与各第一起始点分别对应的目标起始点检测子区间;确定各目标起始点检测子区间分别对应的目标音符的第一预设分数中的最高分为目标音符的目标分数。
[0119]
示例性地,图8为本公开一实施例提供的确定目标音符的目标分数的示意图,如图8所示,目标音符比如为音符2,对应的起始点检测区间比如包括三个不同的起始点检测子区间,分别为起始点检测子区间a(对应的第一预设分数比如为1分)、起始点检测子区间b(对应的第一预设分数比如为0.7)和起始点检测子区间c(对应的第一预设分数比如为0.5);若音符2对应的起始点检测区间存在对应的3个第一起始点,分别为第一起始点1、第一起始点2和第一起始点3,则可以确定第一起始点1对应的目标起始点检测子区间为起始点检测子区间a、第一起始点2对应的目标起始点检测子区间为起始点检测子区间b以及第一起始点3对应的目标起始点检测子区间为起始点检测子区间c,进而可以确定第一起始点1对应的起始点检测子区间a的分数最高,分数为1分,因此,可以确定音符2的目标分数为1分。
[0120]
s405、根据目标音符的权重和目标分数,确定用户演唱目标歌曲的节奏评分。
[0121]
该步骤中,基于目标歌曲对应的音高线文件,在确定了目标音符的目标分数后,可以根据目标音符的权重和目标分数,确定用户演唱目标歌曲的节奏评分。
[0122]
进一步地,根据目标音符的权重和目标分数,确定用户演唱目标歌曲的节奏评分,可以包括:获取各起始点检测区间对应的目标音符的权重和目标分数的乘积;根据各乘积的加和与音高线文件中各个目标音符的权重加和的比值,确定用户演唱目标歌曲的节奏评分。
[0123]
示例性地,可以通过如下公式确定用户演唱目标歌曲的节奏评分:
[0124][0125]
其中,
[0126]
[0127]
其中,rhythm
score
表示用户演唱目标歌曲的节奏评分,onset[i]表示检测出的用户干声信号中各个用户演唱音符的onset,i表示onset数组中的第i个onset;score[j]表示用户演唱音符的onset落在上述不同的起始点检测子区间(即上述实施例中的起始点检测子区间a、起始点检测子区间b和起始点检测子区间c)时,得到的目标音符对应的分数(即上述实施例中的score
a
、score
b
和score
c
);notes[j]表示音高线文件中的各个目标音符,j表示音高线文件中的第j个目标音符,weight[j]表示音高线中的第j个目标音符的权重,notes[j].threshold
a
表示音高线文件中的第j个目标音符的起始点检测子区间a,notes[j].threshold
b
表示音高线文件中的第j个目标音符的起始点检测子区间b,notes[j].threshold
c
表示音高线文件中的第j个目标音符的起始点检测子区间c。
[0128]
s406、若确定起始点检测区间不存在对应的第一起始点,则确定起始点检测区间对应的目标音符的目标分数为第二预设分数。
[0129]
其中,第二预设分数小于起始点检测区间对应的目标音符的第一预设分数。
[0130]
示例性地,第二预设分数比如为0,则第二预设分数小于起始点检测区间对应的目标音符的第一预设分数。若确定起始点检测区间不存在对应的第一起始点,则确定起始点检测区间对应的目标音符的目标分数为0。示例性地,参考上述实施例中的score[j],在起始点检测区间不存在对应的第一起始点时,即属于其他情况,则score[j]取值为0。
[0131]
本公开实施例提供的节奏评分的确定方法,通过获取用户演唱目标歌曲对应的干声信号,基于预设的起始点检测算法,确定干声信号中各个用户演唱音符的第一起始点;确定起始点检测区间是否存在对应的第一起始点,若确定起始点检测区间存在对应的第一起始点,则根据第一起始点以及起始点检测区间对应的目标音符的第一预设分数,确定目标音符的目标分数,若确定起始点检测区间不存在对应的第一起始点,则确定起始点检测区间对应的目标音符的目标分数为第二预设分数;根据目标音符的权重和目标分数,确定用户演唱目标歌曲的节奏评分;由于本公开实施例根据用户演唱歌曲对应的干声信号、音高线文件中各个音符的权重以及音高线文件中各个音符对应的起始点检测区间,确定用户演唱歌曲的节奏评分,因此,能够准确地获得用户演唱歌曲的节奏评分,提升用户体验。
[0132]
在上述实施例的基础上,一种可能的实现方式中,根据干声信号中各个用户演唱音符的第一起始点以及音高线文件中各个目标音符对应的起始点检测区间,可以确定第一起始点是否存在对应的起始点检测区间;若确定第一起始点存在对应的起始点检测区间,则可以根据第一起始点、起始点检测区间对应的目标音符的第一预设分数以及目标歌曲对应的音高线文件中各个目标音符的权重,确定第一起始点对应的分数和权重;根据各第一起始点对应的分数和权重,获取各第一起始点对应的分数和权重的乘积;根据各乘积的加和与各第一起始点对应的权重加和的比值,确定用户演唱目标歌曲的节奏评分。
[0133]
综上,本公开提供的技术方案,至少具有如下优势:
[0134]
(1)能够取代人工评价流程,实时、客观的为演唱提供节奏评价;
[0135]
(2)由于不需要参考音高,因此,可以适用于各种演唱水平,对音准与歌词不做要求;
[0136]
(3)由于通过上述公式获得的节奏评分为百分制,因此,对不同歌曲的节奏评分有相同的评价尺度,不同歌曲的节奏评分可以进行比较;
[0137]
(4)可以以句为单位,实时给出节奏评分,而不必等待全曲结束后进行评价。
[0138]
示例性装置
[0139]
在介绍了本公开示例性实施方式的介质之后,接下来,参考图8对本公开示例性实施方式的节奏评分的确定装置进行说明。本公开示例性实施方式的装置,可以实现前述模型训练方法实施例中的各个过程,并达到相同的功能和效果。
[0140]
图9为本公开一实施例提供的节奏评分的确定装置的结构示意图,如图9所示,本公开实施例的节奏评分的确定装置900包括:获取模块901、确定模块902和处理模块903。其中:
[0141]
获取模块901,用于获取用户演唱目标歌曲对应的干声信号。
[0142]
确定模块902,用于确定干声信号中各个用户演唱音符的第一起始点。
[0143]
处理模块903,用于根据第一起始点、目标歌曲对应的音高线文件中各个目标音符的权重以及音高线文件中各个目标音符对应的起始点检测区间,确定用户演唱目标歌曲的节奏评分,权重用于表示音高线文件中不同目标音符对于节奏听感的重要程度,起始点检测区间包括以目标音符的第二起始点为中心的预设偏移量范围,起始点检测区间对应目标音符的第一预设分数,起始点检测区间和第一起始点用于确定目标音符的目标分数。
[0144]
在一种可能的实施方式中,处理模块903可以具体用于:确定起始点检测区间是否存在对应的第一起始点;若确定起始点检测区间存在对应的第一起始点,则根据第一起始点以及起始点检测区间对应的目标音符的第一预设分数,确定目标音符的目标分数;根据目标音符的权重和目标分数,确定用户演唱目标歌曲的节奏评分。
[0145]
在一种可能的实施方式中,处理模块903可以具体用于:获取各起始点检测区间对应的目标音符的权重和目标分数的乘积;根据各乘积的加和与音高线文件中各个目标音符的权重加和的比值,确定用户演唱目标歌曲的节奏评分。
[0146]
在一种可能的实施方式中,处理模块903还可以用于:若确定起始点检测区间不存在对应的第一起始点,则确定起始点检测区间对应的目标音符的目标分数为第二预设分数,第二预设分数小于起始点检测区间对应的目标音符的第一预设分数。
[0147]
在一种可能的实施方式中,目标音符对应的起始点检测区间包括多个不同的起始点检测子区间,不同的起始点检测子区间对应目标音符的不同的第一预设分数;不同的起始点检测子区间包括以目标音符的第二起始点为中心的不同的预设偏移量范围,不同的预设偏移量范围是根据目标音符的长度、目标音符的第二起始点以及不同的预设检测值获得的。
[0148]
在一种可能的实施方式中,处理模块903还可以用于:若确定目标音符对应的起始点检测区间存在对应的多个第一起始点,则确定起始点检测区间中与各第一起始点分别对应的目标起始点检测子区间;
[0149]
确定各目标起始点检测子区间分别对应的目标音符的第一预设分数中的最高分为目标音符的目标分数。
[0150]
在一种可能的实施方式中,确定模块902可以具体用于:基于预设的起始点检测算法,确定干声信号中各个用户演唱音符的第一起始点。
[0151]
在一种可能的实施方式中,预设的起始点检测算法包括基于频谱的起始点检测算法和基于pyin的起始点检测算法,确定模块902可以具体用于:基于频谱的起始点检测算法,确定干声信号中各个用户演唱音符的第三起始点;基于pyin的起始点检测算法,确定干
声信号中各个用户演唱音符的第四起始点;根据第三起始点和第四起始点的并集,确定干声信号中各个用户演唱音符的第一起始点。
[0152]
在一种可能的实施方式中,处理模块903还可以用于:在根据第一起始点、目标歌曲对应的音高线文件中各个目标音符的权重以及音高线文件中各个目标音符对应的起始点检测区间,确定用户演唱目标歌曲的节奏评分之前,通过以下方式获取目标歌曲对应的音高线文件中各个目标音符的权重:确定气口后的第一个目标音符的权重为第一权重以及确定音高线文件中的起始音符的权重为第一权重;确定连续同音符中第一个目标音符的权重为第二权重,第二权重小于第一权重;确定除气口后的第一个目标音符、连续同音符之外的目标音符的权重为第三权重,第三权重小于第二权重;确定连续同音符中除第一个目标音符之外的目标音符的权重为第四权重,第四权重小于第三权重;根据第一权重、第二权重、第三权重以及第四权重,获得目标歌曲对应的音高线文件中各个目标音符的权重。
[0153]
在一种可能的实施方式中,处理模块903还可以用于:若相邻两个目标音符之间的时间间隔大于气口阈值,则确定相邻两个目标音符之间有一个气口;若至少两个目标音符的音高相同,且相邻两个目标音符之间的时间间隔小于气口阈值,则确定至少两个目标音符为连续同音符。
[0154]
本公开实施例的装置,可以用于执行上述任一方法实施例中节奏评分的确定方法的方案,其实现原理和技术效果类似,此处不再赘述。
[0155]
示例性介质
[0156]
在介绍了本公开示例性实施方式的方法之后,接下来,参考图10对本公开示例性实施方式的存储介质进行说明。
[0157]
图10为本公开一实施例提供的程序产品示意图,参考图10所示,描述了根据本公开的实施方式的用于实现上述方法的程序产品1000,其可以采用便携式紧凑盘只读存储器(cd
‑
rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此。
[0158]
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd
‑
rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0159]
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质。
[0160]
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备。
[0161]
示例性计算设备
[0162]
在介绍了本公开示例性实施方式的方法、介质和装置之后,接下来,参考图11对本公开示例性实施方式的计算设备进行说明。
[0163]
图11显示的计算设备1100仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0164]
图11为本公开一实施例提供的计算设备的结构示意图,如图11所示,计算设备1100以通用计算设备的形式表现。计算设备1100的组件可以包括但不限于:上述至少一个处理单元1101、上述至少一个存储单元1102,连接不同系统组件(包括处理单元1101和存储单元1102)的总线1103。
[0165]
总线1103包括数据总线、控制总线和地址总线。
[0166]
存储单元1102可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)11021和/或高速缓存存储器11022,可以进一步包括非易失性存储器形式的可读介质,例如只读存储器(rom)11023。
[0167]
存储单元1102还可以包括具有一组(至少一个)程序模块11024的程序/实用工具11025,这样的程序模块11024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0168]
计算设备1100也可以与一个或多个外部设备1104(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(i/o)接口1105进行。并且,计算设备1100还可以通过网络适配器1106与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图11所示,网络适配器1106通过总线1103与计算设备1100的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备1100使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0169]
应当注意,尽管在上文详细描述中提及了节奏评分的确定装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
[0170]
此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0171]
虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。