一种虚拟演奏伙伴的实现方法和装置与流程



1.本技术涉及音频处理技术,特别涉及一种虚拟演奏伙伴的实现方法和装置。


背景技术:



2.随着国内素质教育水平日益提高,音乐爱好者越来越多,乐器演奏是音乐技艺中很重要的一个组成部分。通常的乐器演奏中会有演奏者和合作者合作演奏一个乐曲,演奏者在音乐合作中起主导地位,合作者需跟随演奏者进行演奏,例如小提琴演奏中,通常有一个演奏者演奏小提琴,一个交响乐团作为合作者,与小提琴演奏者一起进行演奏。
3.在传统的乐器演奏练习中,演奏者通常是跟随cd演奏。但是,由于演奏者水平有限,或者,演奏的乐曲可能是高难度的炫技作品,演奏者很可能无法跟上cd中艺术家的录音,使得当前演奏练习的体验感较差。


技术实现要素:



4.本技术提供一种虚拟演奏伙伴的实现方法和装置,能够使乐曲播放适应演奏者的演奏进度,改善演奏者的演奏体验。
5.为实现上述目的,本技术采用如下技术方案:
6.一种虚拟演奏伙伴的实现方法,包括:
7.以音频帧为单位,采集演奏者演奏的音频帧数据;
8.对于采集的每一个当前音频帧数据,执行如下处理:
9.将所述当前音频帧数据转换为当前数字乐谱,并与演奏曲目中指定范围的数字乐谱进行匹配,确定所述指定范围的数字乐谱中与所述当前数字乐谱匹配的匹配数字乐谱;
10.定位所述匹配数字乐谱在演奏曲目中的位置,并确定所述演奏伙伴对所述演奏曲目中在所述匹配数字乐谱下一小节合作部分乐曲的开始播放时间;
11.根据所述当前数字乐谱的演奏时间和所述匹配数字乐谱的演奏时间,确定所述演奏者与演奏伙伴的演奏误差,根据所述演奏误差,调节所述演奏伙伴对于所述演奏曲目合作部分的播放速度。
12.较佳地,该方法进一步包括:根据所述当前数字乐谱被定位的位置,确定下个音频帧进行匹配时的所述指定范围。
13.较佳地,所述确定所述演奏伙伴对所述演奏曲目中在所述匹配数字乐谱下一小节乐曲的开始播放时间包括:
14.根据所述匹配数字乐谱被定位的位置以及所述当前音频帧数据的前n个音频帧数据对应的匹配数字乐谱被定位的位置,确定演奏者的演奏速度,将所述演奏速度作为所述演奏曲目的基准播放速度;
15.基于所述基准播放速度,确定所述演奏伙伴对所述演奏曲目中在所述匹配数字乐谱下一小节乐曲的开始播放时间。
16.较佳地,所述根据所述演奏误差调节演奏伙伴对于所述演奏曲目的播放速度包
括:
17.当所述演奏误差小于一拍时,在所述基准播放速度的基础上,在当前小节内根据所述演奏误差调节所述播放速度,使所述演奏伙伴与所述演奏者对于当前小节乐曲的演奏结束时间一致;
18.当所述演奏误差大于一拍时,所述演奏伙伴在当前小节暂停播放,并按照所述下一小节乐曲的播放时间进行下一小节乐曲的播放。
19.较佳地,该方法进一步包括:
20.当所述演奏曲目中包含重复的段落时,接收输入的设定演奏段落,并将该演奏段落作为所述指定范围。
21.较佳地,该方法进一步包括:
22.当所述演奏曲目从演奏伙伴的演奏开始时,所述演奏伙伴按照设定的播放速度播放所述演奏曲目中所述演奏者进行演奏之前的部分。
23.较佳地,该方法进一步包括:
24.当所述演奏曲目由所述演奏者的独奏部分转入所述演奏伙伴的演奏部分时,若所述演奏者的演奏速度出现变化,则所述演奏伙伴按照独奏部分结束时的演奏速度开始进行所述演奏曲目的播放;否则,所述演奏伙伴按照设定的播放速度开始进行所述演奏曲目的播放。
25.较佳地,当所述当前数字乐谱在第一设定时间内未匹配成功时,所述演奏伙伴结束所述演奏曲目的播放。
26.较佳地,所述将所述当前音频帧数据转换为当前数字乐谱包括:
27.利用预先训练好的神经网络模型对所述当前音频帧数据进行处理,输出与所述当前音频帧数据对应的当前数字乐谱。
28.较佳地,所述数字乐谱利用二值显著图来表示,利用二分类交叉熵损失函数训练所述神经网络模型。
29.较佳地,所述匹配操作是利用npu实现的。
30.较佳地,该方法进一步包括:输出所属演奏曲目的乐谱和所述定位确定的位置。
31.较佳地,该方法进一步包括:根据所述定位确定的位置,确定当前场景,并对应当前场景,利用演奏者预先选定的虚拟形象合成与所述当前场景对应的虚拟演奏动画。
32.较佳地,当存在多个演奏用户时,
33.所述演奏者为预先设定的一个演奏用户;当在预设的第二时间内未匹配成功,则将演奏者切换为预设的下一个演奏用户。
34.较佳地,当存在多个演奏用户时,保存每个用户预先选定的虚拟形象;
35.在显示虚拟演奏动画时显示利用当前演奏者预先选定的虚拟形象合成的虚拟演奏动画,当演奏者切换时,将虚拟演奏动画切换为切换后的演奏者预先选定的虚拟形象合成的虚拟演奏动画;或者,同步显示所有演奏用户预先选定的虚拟形象,并合成想要的虚拟演奏动画。
36.较佳地,所述对应当前场景利用演奏者预先选定的虚拟形象合成与所述当前场景对应的虚拟演奏动画包括:
37.预先在所述演奏曲目中设置动画切换位置,当所述演奏伙伴对所述演奏曲目的播
放进度到达所述动画切换位置时,变换所述虚拟演奏动画;和/或,
38.若所述当前数字乐谱未匹配成功和/或对应所述当前数字乐谱的所述演奏误差大于设定阈值,则将所述演奏者预先设定的虚拟形象变换为预先设定的动作,并合成所述虚拟演奏动画。
39.较佳地,所述动画切换位置是根据演奏用户的输入设置的,或者,所述动画切换位置是在所述演奏曲目中包含的。
40.较佳地,所述动画切换位置为:所述演奏曲目中合作部分内不同乐器间的切换位置;
41.所述变换所述虚拟演奏动画包括:对应于所述不同乐器间的切换位置,展示预先对应切换后乐器的演奏设置的虚拟演奏动画。
42.一种虚拟演奏伙伴的实现装置,包括:采集单元、乐谱识别和匹配单元、乐谱定位单元和节奏跟踪单元;
43.所述采集单元,用于以音频帧为单位,采集演奏者演奏的音频帧数据;
44.所述乐谱识别和匹配单元,用于对于采集的每一个当前音频帧数据,将所述当前音频帧数据转换为当前数字乐谱,并与演奏曲目中指定范围的数字乐谱进行匹配,确定所述指定范围的数字乐谱中与所述当前数字乐谱匹配的匹配数字乐谱;
45.所述乐谱定位单元,用于对于采集的每一个当前音频帧数据,定位所述匹配数字乐谱在演奏曲目中的位置,并确定所述演奏伙伴对所述演奏曲目中在所述匹配数字乐谱下一小节合作部分乐曲的开始播放时间;
46.所述节奏跟踪单元,用于对于采集的每一个当前音频帧数据,根据所述当前数字乐谱的演奏时间和所述匹配数字乐谱的演奏时间,确定所述演奏者与演奏伙伴的演奏误差,根据所述演奏误差,调节所述演奏伙伴对于所述演奏曲目合作部分的播放速度。
47.由上述技术方案可见,本技术中,将当前音频帧数据转换为当前数字乐谱,并与演奏曲目中指定范围的数字乐谱进行匹配,确定指定范围的数字乐谱中与当前数字乐谱匹配的匹配数字乐谱。根据当前数字乐谱的演奏时间和匹配数字乐谱的演奏时间,确定演奏者与演奏伙伴的演奏误差,根据演奏误差调节演奏伙伴对于演奏曲目的播放速度或停止当前小节的播放;根据与当前音频帧数据及其前n个音频帧数据匹配的匹配数字乐谱,确定演奏伙伴对当前数字乐谱下一小节乐曲的播放时间。通过上述方式,演奏伙伴可以根据演奏者演奏的音频进行跟踪播放,尤其是进行节奏上的跟踪,从而使乐曲播放适应演奏者的演奏进度,改善演奏者的演奏体验。
附图说明
48.图1为本技术中虚拟演奏伙伴实现方法的基本流程示意图;
49.图2为本技术实施例中系统架构示意图;
50.图3为本实施例中虚拟演奏伙伴实现方法的具体流程示意图;
51.图4为神经网络模型的训练示意图;
52.图5为本技术中虚拟演奏伙伴实现装置的基本结构示意图。
具体实施方式
53.为了使本技术的目的、技术手段和优点更加清楚明白,以下结合附图对本技术做进一步详细说明。
54.在乐器演奏中,合作者需要跟随演奏者演奏,同时,音乐对节奏敏感,轻微的延时就能造成听觉的不适感,基于此,本技术提供一种虚拟演奏伙伴的实现方法和装置,能够根据演奏者的音频自适应调节播放器中播放演奏曲目的内容和速度,并尤其针对演奏者的节奏进行播放调整。
55.具体地,演奏伙伴就是控制播放器进行乐曲播放的虚拟设备,演奏者是使用演奏伙伴为自己的乐器演奏进行伴奏的用户。演奏者进行某乐曲a的实际演奏,播放器中播放相应乐曲a的指定部分,通常是某种乐器演奏的乐曲a中的伴奏部分。以下将演奏的整个乐曲称为演奏曲目,演奏曲目的完整乐谱和对应的由演奏伙伴播放的音频文件可以预先进行保存,例如保存在服务器中。演奏伙伴根据演奏用户对于某演奏乐曲的请求,获取保存的该演奏曲目的乐谱以及演奏伙伴播放的音频文件,完整乐谱中包括演奏者演奏部分的乐谱以及演奏伙伴播放的音频文件对应的乐谱(以下称为合作部分的乐谱)。另外,为提供更多的选择性,对应一个演奏曲目,可以保存多个由演奏伙伴播放的音频文件,例如可以是对应不同乐器的音频文件,这样可以为演奏用户提供同一演奏曲目的不同种乐器伴奏的版本。
56.图1为本技术中虚拟演奏伙伴实现方法的基本流程示意图。如图1所示,该方法包括:
57.步骤101,以音频帧为单位,采集演奏者演奏的音频帧数据。
58.对于步骤101中采集的每一个当前音频帧数据,执行如下步骤102-104的处理:
59.步骤102,将当前音频帧数据转换为当前数字乐谱,并与演奏曲目中指定范围的数字乐谱进行匹配,确定指定范围的数字乐谱中与所述当前数字乐谱匹配的匹配数字乐谱。
60.本步骤用于进行乐谱识别和乐谱匹配的操作。首先将采集的音频帧数据转换为数字乐谱,将当前音频帧数据转换成的数字乐谱称为当前数字乐谱。预先将演奏曲目的音频数据转换为数字乐谱,将转换后的当前数字乐谱与整个演奏曲目或该演奏曲目中指定范围的数字乐谱进行匹配,将演奏曲目中匹配成功的那部分数字乐谱称为匹配数字乐谱。由此可见,每个当前音频帧数据转换为当前数字乐谱,并确定相应的匹配数字乐谱。其中,进行数字乐谱匹配时,与当前数字乐谱进行匹配的整个演奏曲目的数字乐谱应当是演奏者演奏部分的乐谱。
61.步骤103,定位匹配数字乐谱在演奏曲目中的位置,并确定演奏伙伴对演奏曲目中在匹配数字乐谱下一小节合作部分乐曲的开始播放时间。
62.本步骤用于进行乐谱定位。对于步骤102确定的匹配数字乐谱,确定该匹配数字乐谱在整个演奏曲目中的位置,也就是相当于演奏者当前演奏的部分在整个乐曲中的位置。利用该位置信息,确定出演奏伙伴什么时间开始播放定位位置下一小节的乐曲内容。关于确定下一小节开始播放时间的具体方式,在后面实施例中进行详细描述。
63.同时,如果演奏伙伴支持显示演奏的乐谱,那么还可以按照定位位置,在演奏的乐谱中指示定位的位置。
64.步骤104,根据当前数字乐谱的演奏时间和匹配数字乐谱的演奏时间,确定演奏者与演奏伙伴的演奏误差,根据演奏误差,调节演奏伙伴对于演奏曲目中合作部分的播放速
度。
65.本步骤用于进行节奏跟踪的处理。具体地,确定演奏者的演奏与演奏伙伴的播放之间的误差,从而进行节奏跟踪,以调节演奏伙伴对于演奏曲目的播放速度。
66.至此,本技术中最基本的虚拟演奏伙伴实现方法流程结束。通过上述流程,能够识别演奏者演奏的音频,定位演奏部分在乐曲中的位置,从而使演奏者控制播放器在每一小节的播放进度,同时,利用演奏者和演奏伙伴之间的演奏误差,进行节奏跟踪,进一步调整播放器的播放速度。
67.如图1所示的流程,需要针对每个音频帧来进行步骤102-104处理的,因此要求处理速度比较快,优选地,可以利用npu等硬件为支撑,用于实现上述方法。同时,演奏伙伴实时分析音频,匹配乐谱,属于高耗能计算场景,部署于台式设备可以忽略电源等问题,再加上,与乐器合奏需要相当的音量,因此,优选地,可以将电视作为合适的部署平台,实现本技术的具体方法。
68.下面通过一个具体实施例说明本技术中虚拟演奏伙伴实现方法的具体实现。在本实施例中,选择电视作为相应方法的部署平台,整个系统架构如图2所示,包括电视机、与电视机相连的麦克风、与电视机相连的音响。图3为本实施例中虚拟演奏伙伴实现方法的具体流程示意图,该流程以对一个音频帧的处理为例进行说明,如图3所示,对一个音频帧的具体处理包括:
69.步骤301,获取演奏者的当前音频帧数据。
70.本步骤的处理可以采用各种现有方式。例如在电视上插接一个麦克风,用于采集演奏者的音频。
71.步骤302,利用预先训练好的神经网络模型,将当前音频帧数据转换为当前数字乐谱。
72.本步骤用于进行乐谱识别,即将麦克风采集的音频转换为可以被后续处理的数字乐谱。数字乐谱可以采用各种现有方式来表示,例如二值显著图。具体地,音乐的音高从大字二组a起到小字五组c,以半音为间隔共计88个键值,基于此,乐谱可以表示为二维矩阵,其x轴为时间坐标,y轴为音高坐标,以此生成二值显著图。
73.在本步骤的处理中,将当前音频帧数据输入训练好的神经网络模型,该模型处理后即输出与当前音频帧数据对应的当前数字乐谱。当然,在整个图3所示的流程开始之前,需要预先训练好用于进行音频数据和数字乐谱转换的神经网络模型。下面简单介绍一下神经网络模型的训练。
74.该神经网络模型输入为麦克风采集的音频帧数据,输出为相应的数字乐谱,本实施例中具体为二值显著图。考虑到乐器演奏的特殊性,不同乐器音的区别,优选地,可以为每种乐器训练相应的神经网络模型。
75.对于神经网络的训练,可以预先准备训练数据,具体包括一系列音频数据(采集自相应的乐器进行乐谱演奏的过程)以及该音频数据对应的数字乐谱。其中,音频数据对应的数字乐谱的获取方式为:已知音频数据a对应的乐谱,也就是演奏内容的谱子,例如五线谱等,将该乐谱利用数字乐谱形式表示出来,例如二值显著图表示相应的谱子,该数字乐谱即与音频数据a相对应。在神经网络训练中,如图4所示,音频数据及其对应的数字乐谱构成成对的训练数据,将音频数据输入神经网络模型,得到模型输出,将该输出与音频数据对应的
数字乐谱进行比对,计算损失函数,从而据此更新模型参数,再将下一个训练的音频数据输入模型处理,直到模型训练完成。在本实施例中,数字乐谱利用二值显著图表示,由于二值显著图是二分类标签,因此,优选地,可以使用二分类交叉熵损失函数训练神经网络模型。
76.步骤303,将当前数字乐谱与演奏曲目中指定范围的数字乐谱进行匹配,确定指定范围的数字乐谱中与当前数字乐谱匹配的匹配数字乐谱。
77.本步骤用于进行乐谱匹配。为进行乐谱匹配,需要获取演奏曲目的数字乐谱,可以是预先存储在数据库中的。将当前数字乐谱与演奏曲目的完整数字乐谱或指定的部分数字乐谱进行比较,进行窗口搜索,出与当前数字乐谱最相似的部分,将其称为匹配数字乐谱。其中,如前所述,用于比较的演奏曲目的数字乐谱可以是完整数字乐谱或指定的部分数字乐谱,这里,指定的部分数字乐谱,可以是用户指定的,也可以是在经历过若干音频帧的处理后,已经锁定当前演奏的内容在演奏曲目的某个区域内,则将该区域作为指定范围。当然,进行数字乐谱匹配时,应当选择演奏曲目中演奏者演奏部分的数字乐谱与当前数字乐谱进行匹配。
78.实现匹配可以采用现有的各种搜索和匹配算法,或者也可以通过预先训练网络模型的方式来实现。另外,为加速运算,分担cpu占用率,上述匹配处理可以通过npu执行。
79.步骤304,定位匹配数字乐谱在演奏曲目中的位置,并确定演奏伙伴对演奏曲目中在匹配数字乐谱下一小节合作部分乐曲的开始播放时间。
80.如前所述,虚拟演奏伙伴的实现实际上就是控制播放器(本实施例中就是电视机)对于设定播放内容的播放。其中,设定播放内容可以是预先由用户设置好的,例如某个曲目的大提琴伴奏音频。
81.本步骤首先进行乐谱定位。确定步骤303匹配到的匹配数字乐谱在演奏曲目中的位置,该位置也就是演奏者当前演奏到的部分。根据该匹配数字乐谱被定位的位置以及当前音频帧数据的前n个音频帧数据对应的匹配数字乐谱被定位的位置,计算演奏者的演奏速度,也就是n+1个音频帧时间内的平均演奏速度,将该演奏速度作为播放器播放演奏曲目的基准播放速度。接下来,基于基准播放速度,确定播放器对演奏曲目中在匹配数字乐谱下一小节乐曲的开始播放时间。也就是说,基于上述基准播放速度(即演奏者的平均演奏速度),推算当前音频帧所在小节的下一个小节的开始演奏时间,播放器将该开始演奏时间作为下一小节乐曲的开始播放时间,这样使得在下一小节起始位置,演奏者的演奏和播放器的播放是同步的。
82.另外,如前所述,在进行乐谱匹配时,可以在乐曲的指定范围内进行匹配。优选地,可以根据本步骤的定位结果,根据该定位位置确定下一个音频帧数据的处理中,指定范围的具体位置。
83.上述对于乐谱定位的处理是最基本的处理方式,这里称为随机定位方式,是对于普通音频帧处理时使用的,具体可以包括演奏者首次进入音乐、演奏者从任意位置开始演奏。在此基础上,还可以进一步包括乐理定位方式,指根据乐谱中标记的信息处理并播放合作部分,乐谱中标记的信息例如可以是:音乐从独奏部分开始、演奏自由速度的段落导致难于追踪、作品中包含重复的段落、音乐从乐队开始、音乐从独奏转为乐队等。
84.对于上述随机定位方式和乐理定位方式,可以针对不同情况采用相应的处理进行下一小节合作曲目开始播放时间的确定,为前述确定方式将其简称为随机定位算法。关于
随机定位和乐理定位的处理分配,可以如下进行:
85.当演奏者首次进入音乐、演奏者从任意位置开始演奏、音乐从独奏部分开始、演奏自由速度的段落导致难于追踪,可以采用上述随机定位算法处理,确定基准播放速度和下一小节的开始播放时间;
86.当演奏曲目中包含重复的段落时,接收输入的设定演奏段落,并将该演奏段落作为指定范围,并执行随机定位算法处理,确定基准播放速度和下一小节的开始播放时间;
87.当演奏曲目从演奏伙伴的演奏开始时,演奏伙伴按照设定的播放速度播放演奏曲目中演奏者进行演奏之前的部分;其中,设定的播放速度可以是默认播放速度;
88.当演奏曲目由演奏者的独奏部分转入演奏伙伴的演奏部分时,若演奏者的演奏速度出现变化,则演奏伙伴按照独奏部分结束时的演奏速度开始进行演奏曲目的播放;否则,演奏伙伴按照设定的播放速度开始进行演奏曲目的播放。
89.步骤305,根据当前数字乐谱的演奏时间和匹配数字乐谱的演奏时间,确定演奏者与演奏伙伴的演奏误差,根据演奏误差,调节演奏伙伴对于演奏曲目合作部分的播放速度。
90.本步骤用于进行节奏跟踪,调节小节内的实际播放速度。
91.首先需要确定演奏者和演奏伙伴的演奏误差。如前所述,数字乐谱包括乐谱中各音的音高和时间,将该时间称为数字乐谱的演奏时间。将当前数字乐谱的演奏时间和匹配数字乐谱的演奏时间,二者之间的差值就是演奏误差。
92.根据演奏误差调节播放速度的方式具体可以包括:当演奏误差小于一拍时,在步骤305确定的基准播放速度的基础上,在当前小节内根据演奏误差调节播放速度,使演奏伙伴与演奏者对于当前小节乐曲的演奏结束时间一致;这样能够在当前小节内调节演奏速度,在当前小节内赶上演奏者的演奏速度,并与步骤304的处理相配合,保证下一小节开始时间一致;
93.当演奏误差大于一拍时,演奏伙伴在当前小节暂停播放,并按照下一小节乐曲的播放时间进行下一小节乐曲的播放;由于节奏上的不同步很容易被察觉,因此如果演奏误差过大,就在当前小节暂停演奏伙伴的演奏,即暂停播放器的播放,从下一小节开始再播放下一小节乐谱的合作部分,同样与步骤304的处理相配合。
94.另外,若当前数字乐谱在第一设定时间(例如5秒)内未匹配成功时,演奏伙伴结束演奏曲目的播放。
95.若演奏者跳过小节、暂停演奏少于第一设定时间,则在当前小节暂停演奏伙伴的演奏,即暂停播放器的播放,从下一小节开始再播放下一小节乐谱的合作部分,同样与步骤304的处理相配合;
96.若演奏结束、演奏中断(即无法采集到对应的音频帧数据),则演奏伙伴结束演奏曲目的播放。
97.至此,本实施例中的方法流程结束。
98.在上述方法的基础上,由于电视还具有显示的功能,因此还可以进一步包括如下处理,以丰富用户体验:
99.1、显示输出演奏乐谱以及当前演奏位置的信息;这里根据步骤304的定位结果,可以实时显示定位到的当前演奏位置;
100.2、允许用户通过设置选择用户虚拟形象,根据乐谱定位结果,实时显示合成的虚
拟演奏动画;具体地,用户的虚拟形象可以包括静态形象和动态形象,静态形象是指虚拟人物的肖像,服饰,装饰,乐器和舞台布景等固定素材,动态形象指用户演奏时电视端实时合成的动画动作,如人物动作,镜头动作等;可以根据乐谱定位而确定出的不同场景,显示预设的动画内容。
101.具体地,可以预先在演奏曲目中设置动画切换位置,当演奏伙伴对演奏曲目的播放进度到达某动画切换位置时,变换显示的虚拟演奏动画。其中变换的虚拟演奏动画内容可以预先设计好,例如,可以设置动画切换位置为:演奏曲目中合作部分内不同乐器间的切换位置;那么相应地,在演奏到该动画切换位置(也就是不同乐器间的切换位置)后,展示预先对应切换后乐器的演奏设置的虚拟演奏动画。其中,动画切换位置可以是根据演奏用户在演奏开始前输入进行设置的,或者,动画切换位置也可以是在演奏曲目中包含,在最初建立文件时已经设置好的。
102.或者,当检测到演奏伙伴所在设备的音量发生变化时,可以将虚拟动画中各个虚拟形象的动作幅度随音量变化而变化。
103.或者,在当前数字乐谱未匹配成功和/或演奏者节奏出现问题(例如可以是对应当前数字乐谱的演奏误差大于设定阈值)时,还可以将演奏者预先设定的虚拟形象变换为预先设定的动作,并合成相应虚拟演奏动画,从而在数字乐谱匹配失败和/或节奏出现问题时,演奏者对应的动画人物可以有相应的表现。
104.下面给出一个对应不同场景显示的相应虚拟演奏动画的示例,如表1所示。
105.场景动画(动态形象)1.等待演出演奏者就位,挥手致意2.乐队场景之一镜头显示所有乐手3.乐队场景之二镜头从各个角度展示乐队4.独奏者准备进入独奏者和乐队交换目光表示已准备5.独奏者演奏镜头聚焦独奏者6.新声部进入音乐镜头在人物身上聚焦2-3秒7.音量变化演奏的动作幅度跟随音量调整8.节奏变化镜头聚焦变化幅度最大的人物2-3秒9.演奏结束乐队放下乐器致意,然后结束动画10.演奏中断乐队抓住乐器等待继续,超过5秒则结束动画
106.表1
107.另外,上述整个演奏伙伴的处理是针对一个特定的演奏者进行的。事实上,在具体实现时,还可以设置单用户的情况和多用户的情况。这里称为演奏跟踪,具体包括单用户跟踪和多用户跟踪。在单用户场景中,用户完成基本设置并开始演奏,演奏伙伴始终跟随设定用户;在多用户场景中,假设有用户a、b和c,按照常规的音乐合作,三位用户应当同步演奏,此时演奏伙伴跟随设定的一个用户a演奏合作部分,如果节奏追踪部分丢失用户a超过第二设定时间(例如2秒),则将跟踪目标切换至另一用户,以此类推。
108.当存在多个演奏用户时,每个用户都可以预先选定相应的虚拟形象。在显示虚拟演奏动画时,可以仅显示当前演奏者(也就是演奏伙伴正在跟随的用户)对应的虚拟形象,并合成相应的虚拟演奏动画,当演奏者切换时,将虚拟演奏动画切换为切换后的演奏者对
应的虚拟形象,并合成相应的虚拟演奏动画。或者,在显示虚拟演奏动画时,也可以同步显示所有演奏者的虚拟形象,并合成相应的虚拟演奏动画。
109.上述即为本技术中虚拟演奏伙伴实现方法的具体实现。通过上述本技术的处理,演奏伙伴可以根据演奏者演奏的音频进行跟踪播放,尤其是进行节奏上的跟踪,从而使乐曲播放适应演奏者的演奏进度,改善演奏者的演奏体验。
110.本技术还提供一种虚拟演奏伙伴的实现装置,如图5所示,该装置包括:采集单元、乐谱识别和匹配单元、乐谱定位单元和节奏跟踪单元;
111.所述采集单元,用于以音频帧为单位,采集演奏者演奏的音频帧数据;
112.所述乐谱识别和匹配单元,用于对于采集的每一个当前音频帧数据,将所述当前音频帧数据转换为当前数字乐谱,并与演奏曲目中指定范围的数字乐谱进行匹配,确定所述指定范围的数字乐谱中与所述当前数字乐谱匹配的匹配数字乐谱;
113.所述乐谱定位单元,用于对于采集的每一个当前音频帧数据,定位所述匹配数字乐谱在演奏曲目中的位置,并确定所述演奏伙伴对所述演奏曲目中在所述匹配数字乐谱下一小节合作部分乐曲的开始播放时间;
114.所述节奏跟踪单元,用于对于采集的每一个当前音频帧数据,根据所述当前数字乐谱的演奏时间和所述匹配数字乐谱的演奏时间,确定所述演奏者与演奏伙伴的演奏误差,根据所述演奏误差,调节所述演奏伙伴对于所述演奏曲目合作部分的播放速度。
115.利用上述本技术的方法和装置,可以实现虚拟演奏伙伴。下面给出一个小的示例:
116.系统设置如表2所示。在该示例所示系统设置下,用户可以通过设置选择要演奏的作品,并设置声部、演奏者使用的乐器和演奏者的虚拟动画形象;电视机根据用户设置利用云端服务从乐谱库中获取用户设置作品对应的数字乐谱,并从声音库中获取用户设置乐器的神经网络模型,用于进行音频到数字乐谱的转换;电视机通过连接的麦克风采集演奏者利用选择的乐器演奏产生的音频数据;电视机进行乐谱识别,将采集的音频数据转换为数字乐谱,进行匹配后定位当前音乐的位置,并与演奏者的演奏同步播放设定乐曲的合作部分;电视机根据定位的位置实时合成虚拟演奏动画进行输出,并输出乐谱以及乐谱中定位的位置。
[0117][0118]
表2
[0119]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

技术特征:


1.一种虚拟演奏伙伴的实现方法,其特征在于,包括:以音频帧为单位,采集演奏者演奏的音频帧数据;对于采集的每一个当前音频帧数据,执行如下处理:将所述当前音频帧数据转换为当前数字乐谱,并与演奏曲目中指定范围的数字乐谱进行匹配,确定所述指定范围的数字乐谱中与所述当前数字乐谱匹配的匹配数字乐谱;定位所述匹配数字乐谱在演奏曲目中的位置,并确定所述演奏伙伴对所述演奏曲目中在所述匹配数字乐谱下一小节合作部分乐曲的开始播放时间;根据所述当前数字乐谱的演奏时间和所述匹配数字乐谱的演奏时间,确定所述演奏者与演奏伙伴的演奏误差,根据所述演奏误差,调节所述演奏伙伴对于所述演奏曲目合作部分的播放速度。2.根据权利要求1所述的方法,其特征在于,该方法进一步包括:根据所述当前数字乐谱被定位的位置,确定下个音频帧进行匹配时的所述指定范围。3.根据权利要求1所述的方法,其特征在于,所述确定所述演奏伙伴对所述演奏曲目中在所述匹配数字乐谱下一小节乐曲的开始播放时间包括:根据所述匹配数字乐谱被定位的位置以及所述当前音频帧数据的前n个音频帧数据对应的匹配数字乐谱被定位的位置,确定演奏者的演奏速度,将所述演奏速度作为所述演奏曲目的基准播放速度;基于所述基准播放速度,确定所述演奏伙伴对所述演奏曲目中在所述匹配数字乐谱下一小节乐曲的开始播放时间。4.根据权利要求3所述的方法,其特征在于,所述根据所述演奏误差调节演奏伙伴对于所述演奏曲目的播放速度包括:当所述演奏误差小于一拍时,在所述基准播放速度的基础上,在当前小节内根据所述演奏误差调节所述播放速度,使所述演奏伙伴与所述演奏者对于当前小节乐曲的演奏结束时间一致;当所述演奏误差大于一拍时,所述演奏伙伴在当前小节暂停播放,并按照所述下一小节乐曲的播放时间进行下一小节乐曲的播放。5.根据权利要求1所述的方法,其特征在于,该方法进一步包括:当所述演奏曲目中包含重复的段落时,接收输入的设定演奏段落,并将该演奏段落作为所述指定范围。6.根据权利要求1所述的方法,其特征在于,该方法进一步包括:当所述演奏曲目从演奏伙伴的演奏开始时,所述演奏伙伴按照设定的播放速度播放所述演奏曲目中所述演奏者进行演奏之前的部分。7.根据权利要求1所述的方法,其特征在于,该方法进一步包括:当所述演奏曲目由所述演奏者的独奏部分转入所述演奏伙伴的演奏部分时,若所述演奏者的演奏速度出现变化,则所述演奏伙伴按照独奏部分结束时的演奏速度开始进行所述演奏曲目的播放;否则,所述演奏伙伴按照设定的播放速度开始进行所述演奏曲目的播放。8.根据权利要求1所述的方法,其特征在于,当所述当前数字乐谱在第一设定时间内未匹配成功时,所述演奏伙伴结束所述演奏曲目的播放。9.根据权利要求1所述的方法,其特征在于,所述将所述当前音频帧数据转换为当前数
字乐谱包括:利用预先训练好的神经网络模型对所述当前音频帧数据进行处理,输出与所述当前音频帧数据对应的当前数字乐谱。10.根据权利要求9所述的方法,其特征在于,所述数字乐谱利用二值显著图来表示,利用二分类交叉熵损失函数训练所述神经网络模型。11.根据权利要求1所述的方法,其特征在于,所述匹配操作是利用npu实现的。12.根据权利要求1所述的方法,其特征在于,该方法进一步包括:输出所属演奏曲目的乐谱和所述定位确定的位置。13.根据权利要求1所述的方法,其特征在于,该方法进一步包括:根据所述定位确定的位置,确定当前场景,并对应当前场景,利用演奏者预先选定的虚拟形象合成与所述当前场景对应的虚拟演奏动画。14.根据权利要求1所述的方法,其特征在于,当存在多个演奏用户时,所述演奏者为预先设定的一个演奏用户;当在预设的第二时间内未匹配成功,则将演奏者切换为预设的下一个演奏用户。15.根据权利要求13所述的方法,其特征在于,当存在多个演奏用户时,保存每个用户预先选定的虚拟形象;在显示虚拟演奏动画时显示利用当前演奏者预先选定的虚拟形象合成的虚拟演奏动画,当演奏者切换时,将虚拟演奏动画切换为切换后的演奏者预先选定的虚拟形象合成的虚拟演奏动画;或者,同步显示所有演奏用户预先选定的虚拟形象,并合成想要的虚拟演奏动画。16.根据权利要求13所述的方法,其特征在于,所述对应当前场景利用演奏者预先选定的虚拟形象合成与所述当前场景对应的虚拟演奏动画包括:预先在所述演奏曲目中设置动画切换位置,当所述演奏伙伴对所述演奏曲目的播放进度到达所述动画切换位置时,变换所述虚拟演奏动画;和/或,若所述当前数字乐谱未匹配成功和/或对应所述当前数字乐谱的所述演奏误差大于设定阈值,则将所述演奏者预先设定的虚拟形象变换为预先设定的动作,并合成所述虚拟演奏动画。17.根据权利要求16所述的方法,其特征在于,所述动画切换位置是根据演奏用户的输入设置的,或者,所述动画切换位置是在所述演奏曲目中包含的。18.根据权利要求16所述的方法,其特征在于,所述动画切换位置为:所述演奏曲目中合作部分内不同乐器间的切换位置;所述变换所述虚拟演奏动画包括:对应于所述不同乐器间的切换位置,展示预先对应切换后乐器的演奏设置的虚拟演奏动画。19.一种虚拟演奏伙伴的实现装置,其特征在于,该装置包括:采集单元、乐谱识别和匹配单元、乐谱定位单元和节奏跟踪单元;所述采集单元,用于以音频帧为单位,采集演奏者演奏的音频帧数据;所述乐谱识别和匹配单元,用于对于采集的每一个当前音频帧数据,将所述当前音频帧数据转换为当前数字乐谱,并与演奏曲目中指定范围的数字乐谱进行匹配,确定所述指定范围的数字乐谱中与所述当前数字乐谱匹配的匹配数字乐谱;
所述乐谱定位单元,用于对于采集的每一个当前音频帧数据,定位所述匹配数字乐谱在演奏曲目中的位置,并确定所述演奏伙伴对所述演奏曲目中在所述匹配数字乐谱下一小节合作部分乐曲的开始播放时间;所述节奏跟踪单元,用于对于采集的每一个当前音频帧数据,根据所述当前数字乐谱的演奏时间和所述匹配数字乐谱的演奏时间,确定所述演奏者与演奏伙伴的演奏误差,根据所述演奏误差,调节所述演奏伙伴对于所述演奏曲目合作部分的播放速度。

技术总结


本申请公开了一种虚拟演奏伙伴的实现方法,包括:以音频帧为单位,采集演奏者演奏的音频帧数据;对于采集的每一个当前音频帧数据,将所述当前音频帧数据转换为当前数字乐谱,并与演奏曲目中指定范围的数字乐谱进行匹配,确定所述指定范围的数字乐谱中与所述当前数字乐谱匹配的匹配数字乐谱;定位所述匹配数字乐谱在演奏曲目中的位置,并确定所述演奏伙伴对所述演奏曲目中在所述匹配数字乐谱下一小节合作部分乐曲的开始播放时间;根据所述当前数字乐谱的演奏时间和所述匹配数字乐谱的演奏时间,确定所述演奏者与演奏伙伴的演奏误差,根据所述演奏误差,调节所述演奏伙伴对于所述演奏曲目合作部分的播放速度。应用本申请,能够使乐曲播放适应演奏者的演奏进度,改善演奏者的演奏体验。者的演奏体验。者的演奏体验。


技术研发人员:

严子恒 俞江 金鑫 陈洁 苏维扬 陈有鑫 吴龙海

受保护的技术使用者:

三星电子株式会社

技术研发日:

2022.03.30

技术公布日:

2022/6/17

本文发布于:2024-09-20 14:43:16,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/802.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   乐谱   演奏者   数字
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议