音频回放方法、装置、电子设备和计算机可读介质与流程

文档序号:30747921发布日期:2022-07-13 08:06阅读:84来源:国知局
音频回放方法、装置、电子设备和计算机可读介质与流程

1.本公开的实施例涉及计算机技术领域,具体涉及音频回放方法、装置、电子设备和计算机可读介质。


背景技术:

2.随着现代乐器的发展,在对用户弹奏的内容进行回放时,如何将播放的弹奏内容与标准曲谱进行同步成为一项重要的研究课题。目前,在对播放的弹奏内容与标准曲谱进行同步时,通常采用的方式为:将用户弹奏的音频与标准曲谱同时进行播放。
3.然而,当采用上述方式对播放的弹奏内容与标准曲谱进行同步时,经常会存在如下技术问题:
4.第一,用户对自己弹奏的内容中的某一位置进行回放时,无法直接找到对应的标准曲谱的位置,需要对标准曲谱进行反复播放,以找到对应的位置,造成用户时间的浪费;
5.第二,将用户弹奏的音频与标准曲谱同时进行播放时,无法确定用户弹奏的各个音符是否正确。


技术实现要素:

6.本公开的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本公开的内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
7.本公开的一些实施例提出了音频回放方法、装置、电子设备和计算机可读介质,来解决以上背景技术部分提到的技术问题中的一项或多项。
8.第一方面,本公开的一些实施例提供了一种音频回放方法,该方法包括:响应于接收到用户端发送的曲谱选择信息,根据上述曲谱选择信息,获取对应用户选择的标准曲谱的音符序列;对用户弹奏出的乐器声进行收音处理,得到弹奏音频;将上述弹奏音频输入至预先训练的音频信息提取模型中,得到音频信息序列,其中,上述音频信息序列中的音频信息包括音频帧数;根据上述弹奏音频和上述音频信息序列,将上述音频信息序列中的各个音频信息进行分组处理,得到分组音频信息序列集,其中,上述分组音频信息序列集中的各个分组音频信息序列根据所包括的各个音频帧数排列;将上述分组音频信息序列集与标准音频信息序列集进行匹配处理,得到标准分组音频信息序列集;根据上述分组音频信息序列集,对上述弹奏音频进行切分处理,以生成音频片段序列,其中,上述分组音频信息序列集中的分组音频信息序列对应上述音频片段序列中的音频片段;生成对应上述音符序列的移动光标,以及将上述音符序列、上述移动光标、上述分组音频信息序列集和上述音频片段序列发送至上述用户端,以使得上述用户端控制上述移动光标进行移动。
9.第二方面,本公开的一些实施例提供了一种音频回放装置,装置包括:获取单元,被配置成响应于接收到用户端发送的曲谱选择信息,根据上述曲谱选择信息,获取对应用户选择的标准曲谱的音符序列;收音处理单元,被配置成对用户弹奏出的乐器声进行收音
处理,得到弹奏音频;输入单元,被配置成将上述弹奏音频输入至预先训练的音频信息提取模型中,得到音频信息序列,其中,上述音频信息序列中的音频信息包括音频帧数;分组处理单元,被配置成根据上述弹奏音频和上述音频信息序列,将上述音频信息序列中的各个音频信息进行分组处理,得到分组音频信息序列集,其中,上述分组音频信息序列集中的各个分组音频信息序列根据所包括的各个音频帧数排列;匹配处理单元,被配置成将上述分组音频信息序列集与标准音频信息序列集进行匹配处理,得到标准分组音频信息序列集;切分处理单元,被配置成根据上述分组音频信息序列集,对上述弹奏音频进行切分处理,以生成音频片段序列,其中,上述分组音频信息序列集中的分组音频信息序列对应上述音频片段序列中的音频片段;生成单元,被配置成生成对应上述音符序列的移动光标,以及将上述音符序列、上述移动光标、上述分组音频信息序列集和上述音频片段序列发送至上述用户端,以使得上述用户端控制上述移动光标进行移动。
10.第三方面,本公开的一些实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述第一方面任一实现方式所描述的方法。
11.第四方面,本公开的一些实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现上述第一方面任一实现方式所描述的方法。
12.本公开的上述各个实施例中具有如下有益效果:通过本公开的一些实施例的音频回放方法,减少了用户时间的浪费。具体来说,造成用户时间的浪费的原因在于:用户对自己弹奏的内容中的某一位置进行回放时,无法直接找到对应的标准曲谱的位置,需要对标准曲谱进行反复播放,以找到对应的位置,造成用户时间的浪费。基于此,本公开的一些实施例的音频处理方法,首先,响应于接收到用户端发送的曲谱选择信息,根据上述曲谱选择信息,获取对应用户选择的标准曲谱的音符序列。由此,可以在用户端显示标准曲谱的音符序列。其次,对用户弹奏出的乐器声进行收音处理,得到弹奏音频。由此,可以提取用户弹奏的音频的音频信息。然后,将上述弹奏音频输入至预先训练的音频信息提取模型中,得到音频信息序列。由此,可以将各个音频信息进行分组,便于与标准音频信息序列集进行匹配。之后,根据上述弹奏音频和上述音频信息序列,将上述音频信息序列中的各个音频信息进行分组处理,得到分组音频信息序列集;将上述分组音频信息序列集与标准音频信息序列集进行匹配处理,得到标准分组音频信息序列集。由此,将用户弹奏的每个分组音频信息序列与标准音频信息序列集进行匹配,在播放用户弹奏的音频时,便于确定对应的标准音频信息序列,可以将光标移动至标准音频信息序列对应的音符处,从而减少了用户时间的浪费。然后,根据上述分组音频信息序列集,对上述弹奏音频进行切分处理,以生成音频片段序列。由此,便于用户端根据生成的音频片段序列控制移动光标。最后,生成对应上述音符序列的移动光标,以及将上述音符序列、上述移动光标、上述分组音频信息序列集和上述音频片段序列发送至上述用户端,以使得上述用户端控制上述移动光标进行移动。由此,完成对用户弹奏的内容的回放操作。减少了用户时间的浪费。
附图说明
13.结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理
解附图是示意性的,元件和元素不一定按照比例绘制。
14.图1是根据本公开的音频回放方法的一些实施例的流程图;
15.图2是根据本公开的音频回放装置的一些实施例的结构示意图;
16.图3是适于用来实现本公开的一些实施例的电子设备的结构示意图。
具体实施方式
17.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
18.另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
19.需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
20.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
21.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
22.下面将参考附图并结合实施例来详细说明本公开。
23.图1示出了根据本公开的音频回放方法的一些实施例的流程100。该音频回放方法,包括以下步骤:
24.步骤101,响应于接收到用户端发送的曲谱选择信息,根据曲谱选择信息,获取对应用户选择的标准曲谱的音符序列。
25.在一些实施例中,音频回放方法的执行主体(例如服务端)可以响应于接收到用户端发送的曲谱选择信息,根据上述曲谱选择信息,获取对应用户选择的标准曲谱的音符序列。其中,上述用户端可以是与上述执行主体无线连接的终端设备。上述曲谱选择信息可以是用户通过用户端的选择进行弹奏的标准曲谱的信息。例如,上述曲谱选择信息可以是:弹奏标准曲谱《a》全曲。上述音符序列可以是上述用户选择的标准曲谱中的各个音符组成的序列。上述音符序列中的各个音符按对应的播放时间从小到大进行排序。上述播放时间可以是播放时长中的某一时间点。上述播放时长可以是播放标准曲谱的时长。例如,上述播放时长可以是5分钟,上述播放时间可以是第10s,表征播放时长“5分钟”中的第10秒。上述标准曲谱可以是预先存储的曲谱对应的音频。
26.可选地,在步骤101之后,将上述曲谱选择信息对应的标准曲谱进行解析处理,以生成标准音频信息序列集。
27.在一些实施例中,上述执行主体可以将上述曲谱选择信息对应的标准曲谱进行解析处理,以生成标准音频信息序列集。实践中,首先,上述执行主体可以将上述标准曲谱对应的波形数据转化为对应的梅尔频谱。其中,上述波形数据可以表征音频的振幅。实践中,上述执行主体可以通过傅里叶变换算法将波形数据转化为对应的梅尔频谱。然后,上述执行主体可以将上述梅尔频谱输入至隐马尔可夫模型,得到标准曲谱信息序列。其中,上述标
准曲谱信息序列中的标准曲谱信息包括标准音频帧数。上述标准音频帧数可以表征标准曲谱中的曲谱时长的最小时长单位(时间粒度)。最后,上述执行主体可以将上述标准曲谱信息序列中的各个标准曲谱信息进行分组处理,以生成标准音频信息序列集。其中,上述标准音频信息序列集中的各个标准音频信息序列按所包括的标准音频帧数从小到大进行排列。实践中,第一,上述执行主体可以对上述标准曲谱进行音符提取处理,得到标准音符序列。其中,上述音符提取处理可以是,首先,对上述标准曲谱中的各个标准音符进行识别处理。上述识别处理可以是使用基于卷积神经网络的音符识别算法对音频中的各个音符进行识别。其次,将识别出的各个标准音符按在播放曲谱时长中对应的时间点进行排序。第二,对于上述各个标准音符中的每个标准音符,上述执行主体可以从上述标准曲谱中提取上述标准音符对应的音符播放时长作为上述标准音符对应的音符时值。第三,对于上述标准音符序列中的每个标准音符,上述执行主体可以将标准曲谱信息序列中对应上述标准音符的音符时值对应的各个标准曲谱信息合并为标准音频信息序列,得到标准音频信息序列集。
28.步骤102,对用户弹奏出的乐器声进行收音处理,得到弹奏音频。
29.在一些实施例中,上述执行主体可以录制用户弹奏出的乐器声,得到弹奏音频。
30.在一些实施例的一些可选的实现方式中,上述执行主体可以通过以下步骤得到弹奏音频:
31.第一步,对上述用户弹奏出的乐器声进行收声处理,得到弹奏收声音频。
32.第二步,对上述弹奏收声音频进行降噪处理,得到弹奏降噪音频。其中,上述降噪处理可以是将弹奏收声音频中的噪声进行消除。例如,上述执行主体可以将上述弹奏收声音频输入至递归滤波器中进行降噪,得到弹奏降噪音频。
33.第三步,将上述弹奏降噪音频进行增强处理,得到弹奏增强音频作为弹奏音频。其中,上述增强处理可以是将弹奏降噪音频的音质进行增强。实践中,上述执行主体可以通过音质增强算法将上述弹奏收声音频的音质进行增强,得到弹奏增强音频。例如,上述音质增强算法可以是低音增强算法。
34.步骤103,将弹奏音频输入至预先训练的音频信息提取模型中,得到音频信息序列。
35.在一些实施例中,上述执行主体可以将上述弹奏音频输入至预先训练的音频信息提取模型中,得到音频信息序列。其中,上述音频信息提取模型可以是预先训练的,以弹奏音频为输入,以音频信息序列为输出的神经网络模型。例如,上述音频信息提取模型可以是卷积神经网络、深度神经网络等等。实践中,上述执行主体可以将上述弹奏音频输入上述音频信息提取模型,以生成音频信息序列。
36.可选地,上述音频信息提取模型可以是通过以下步骤训练得到的:
37.第一步,将标准曲谱集合中的每个标准曲谱确定为输入样本,得到输入样本集合。
38.在一些实施例中,上述执行主体可以将标准曲谱集合中的每个标准曲谱确定为输入样本,得到输入样本集合。其中,上述标准曲谱集合可以是预先存储的多个标准曲谱的集合。
39.第二步,对于上述输入样本集合中的每个输入样本,将对应上述输入样本的标准曲谱信息序列确定为输出样本。
40.在一些实施例中,上述执行主体可以对于上述输入样本集合中的每个输入样本,
将对应上述输入样本的标准曲谱信息序列确定为输出样本。
41.第三步,将上述输入样本集合中的每个输入样本和对应的输出样本确定为样本数据,得到样本数据集。
42.在一些实施例中,上述执行主体可以将上述输入样本集合中的每个输入样本和对应的输出样本确定为样本数据,得到样本数据集。
43.第四步,基于样本数据集,执行以下训练子步骤:
44.第一子步骤,将样本数据集中至少一个样本数据包括的输入样本分别输入至初始神经网络,得到上述至少一个样本数据中每个样本数据对应的预测标准曲谱信息序列。
45.在一些实施例中,上述执行主体可以将样本数据集中至少一个样本数据包括的输入样本分别输入至初始神经网络,得到上述至少一个样本数据中每个样本数据对应的预测标准曲谱信息序列。其中,上述初始神经网络可以是能够根据弹奏音频得到音频信息序列的各种神经网络。例如,上述初始神经网络可以是卷积神经网络。上述初始神经网络还可以是深度神经网络。
46.第二子步骤,将上述至少一个样本数据包括的输入样本对应的预测标准曲谱信息序列与对应的输出样本进行比较。
47.在一些实施例中,上述执行主体可以将上述至少一个样本数据包括的输入样本对应的预测标准曲谱信息序列与对应的输出样本进行比较。
48.第三子步骤,根据比较结果确定上述初始神经网络是否达到预设的优化目标。
49.在一些实施例中,上述执行主体可以根据比较结果确定上述初始神经网络是否达到预设的优化目标。作为示例,响应于上述预测标准曲谱信息序列与上述标准曲谱信息序列相同,可以将上述预测标准曲谱信息序列确定为标准曲谱信息序列。此时,上述优化目标可以是指上述初始神经网络生成的标准曲谱信息序列的准确率大于等于预设的准确率阈值。这里,对于上述准确率阈值的设定,不作限制。
50.第四子步骤,响应于确定上述初始神经网络达到上述优化目标,将上述初始神经网络确定为训练完成的音频信息提取模型。
51.在一些实施例中,上述执行主体可以响应于确定上述初始神经网络达到上述优化目标,将上述初始神经网络确定为训练完成的音频信息提取模型。
52.可选地,在第四子步骤之后,上述训练子步骤还包括:
53.第五子步骤,响应于确定初始神经网络未达到上述优化目标,调整初始神经网络的相关参数,以及使用未用过的样本数据组成样本数据集,使用调整后的初始神经网络作为初始神经网络,再次执行上述训练步骤。作为示例,可以采用反向传播算法(back propgation algorithm,bp算法)和梯度下降法(例如随机小批量梯度下降算法)对上述初始神经网络的相关参数进行调整。
54.在一些实施例中,上述执行主体可以响应于确定初始神经网络未达到上述优化目标,调整初始神经网络的相关参数,以及使用未用过的样本组成样本数据集,使用调整后的初始神经网络作为初始神经网络,再次执行上述训练步骤。
55.可选地中的相关内容作为本公开的一个发明点,解决了背景技术提及的技术问题二“将用户弹奏的音频与标准曲谱同时进行播放时,无法确定弹奏的每个音符是否正确”。造成用户练习时间的浪费的因素往往如下:将用户弹奏的音频与标准曲谱同时进行播放
时,无法确定弹奏的每个音符是否正确。如果解决了上述因素,就能达到减少练习时间的浪费的效果。为了达到这一效果,首先,将标准曲谱集合中的每个标准曲谱确定为输入样本,得到输入样本集合。由此,可以将输入样本对应的标准曲谱信息序列确定为输出样本。其次,对于上述输入样本集合中的每个输入样本,将对应上述输入样本的标准曲谱信息序列确定为输出样本。由此,便于得到样本数据集。然后,将上述输入样本集合中的每个输入样本和对应的输出样本确定为样本数据,得到样本数据集;基于样本数据集,执行以下训练步骤:首先,将样本数据集中至少一个样本数据包括的输入样本分别输入至初始神经网络,得到上述至少一个样本数据中每个样本数据对应的预测标准曲谱信息序列。由此,可以将得到的预测标准曲谱信息序列与对应的输出样本进行比较。其次,将上述至少一个样本数据包括的输入样本对应的预测标准曲谱信息序列与对应的输出样本进行比较。由此,可以根据比较结果确定初始神经网络是否训练完成。然后,根据比较结果确定上述初始神经网络是否达到预设的优化目标;响应于确定上述初始神经网络达到上述优化目标,将上述初始神经网络确定为训练完成的音频信息提取模型。由此,可以得到训练完成的音频信息提取模型,进而,可以使用音频信息提取模型对用户弹奏的音频进行音频信息提取,便于将提取出的各个音频信息与标准音频信息序列进行比较,确定用户弹奏的各个音符的正确性。最后,响应于确定初始神经网络未达到上述优化目标,调整初始神经网络的相关参数,以及使用未用过的样本数据组成样本数据集,使用调整后的初始神经网络作为初始神经网络,再次执行上述训练步骤。由此,完成对音频信息提取模型的训练。确定了用户弹奏的各个音符的正确性。
56.步骤104,根据弹奏音频信息序列,将音频信息序列中的各个音频信息进行分组处理,得到分组音频信息序列集。
57.在一些实施例中,上述执行主体可以根据上述弹奏音频和上述音频信息序列,将上述音频信息序列中的各个音频信息进行分组处理,得到分组音频信息序列集。
58.实践中,上述执行主体可以通过以下步骤将上述音频信息序列中的各个音频信息进行分组处理,得到分组音频信息序列集:
59.第一步,对上述弹奏音频进行音符信息提取处理,以生成提取音符信息序列。其中,上述提取音符信息序列中的提取音符信息包括提取音符名称和对应上述提取音符名称的音符时值。
60.第二步,对于上述提取音符信息序列中的每个提取音符信息,将上述音频信息序列中对应上述提取音符信息包括的音符时值的各个音频信息进行组合处理,得到分组音频信息序列。这里,上述分组音频信息序列对应的总时长与上述提取音符信息包括的音符时值相同,上述分组音频信息序列所表征的音符与上述提取音符信息表征的音符相同。
61.第三步,将所得到的各个分组音频信息序列确定为分组音频信息序列集。
62.步骤105,将分组音频信息序列集与标准音频信息序列集进行匹配处理,得到标准分组音频信息序列集。
63.在一些实施例中,上述执行主体可以将上述分组音频信息序列集与标准音频信息序列集进行匹配处理,得到标准分组音频信息序列集。其中,上述匹配处理可以是:对于上述分组音频信息序列集中的每个分组音频信息序列,从上述标准音频信息序列集中选取出与上述分组音频信息序列的距离最小的标准音频信息序列作为标准分组音频信息序列,得
到标准分组音频信息序列集。上述距离可以是分组音频信息序列与标准音频信息序列的特征距离。例如,上述距离可以是欧氏距离。上述距离还可以是曼哈顿距离。
64.在一些实施例的一些可选的实现方式中,上述执行主体可以通过以下步骤将上述分组音频信息序列集与标准音频信息序列集进行匹配处理,得到标准分组音频信息序列集:
65.第一步,对于上述分组音频信息序列集中的每个分组音频信息序列,确定上述分组音频信息序列与上述标准音频信息序列集中每个标准音频信息序列的距离,得到距离序列。
66.第二步,将所得到的各个距离序列组成二维距离矩阵。其中,上述二维距离矩阵的横向的从左到右的各个距离依次对应上述分组音频信息序列集中的各个分组音频信息序列。上述分组音频信息序列集中的各个分组音频信息序列按音频帧数从小到大进行排序。上述二维距离矩阵的纵向的从下到上的各个距离依次对应上述标准音频信息序列集中的各个标准音频信息序列。上述标准音频信息序列集中的各个标准音频信息序列按标准音频帧数从小到大进行排序。例如,上述二维距离矩阵中的第一列最后一个距离为上述分组音频信息序列集中的第一个分组音频信息序列与上述标准音频信息序列集中的第一个标准音频信息序列的距离。上述执行主体可以以二维距离矩阵的第一列最后一个距离的左下角为原点,建立直角坐标系。作为示例,上述分组音频信息序列集中的第一个分组音频信息序列与上述标准音频信息序列集中的第一个标准音频信息序列的距离的坐标为(1,1)。
67.第三步,创建一个空的目标标准分组音频信息序列集。
68.第四步,从分组音频信息序列集中的第一个分组音频信息序列对应的距离序列中选取出最小的距离,以及,将上述最小的距离确定为初始距离。
69.第五步,基于上述初始距离和上述二维距离矩阵,执行如下子步骤:
70.第一子步骤,将上述初始距离在上述二维距离矩阵中的坐标确定为初始坐标;
71.第二子步骤,根据以下公式确定初始坐标与目标坐标的最小距离:
72.λ=d(ai,bj)+min[λ(a
i+1
,bj),λ(ai,b
j+1
),λ(a
i+1
,b
j+1
)]。
[0073]
其中,λ表示最小距离。ai表示分组音频信息序列集中的第i个分组音频信息序列。bj表示标准音频信息序列集中的第j个标准音频信息序列。(ai,bj)表示初始坐标。d(ai,bj)表示初始距离。min表示取最小值函数。λ(a
i+1
,bj)表示分组音频信息序列集中的第i+1个分组音频信息序列与标准音频信息序列集中的第j个标准音频信息序列的距离与初始距离的距离。λ(ai,b
j+1
)表示分组音频信息序列集中的第i个分组音频信息序列与标准音频信息序列集中的第j+1个标准音频信息序列的距离与初始距离的距离。λ(a
i+1
,b
j+1
)表示分组音频信息序列集中的第i+1个分组音频信息序列与标准音频信息序列集中的第j+1个标准音频信息序列的距离与初始距离的距离。上述目标坐标为上述取最小值函数的结果对应的二维距离矩阵的坐标。
[0074]
第三子步骤,响应于目标坐标的横坐标小于上述分组音频信息序列集中的分组音频信息序列的数量,将初始距离对应的标准音频信息序列添加至目标标准分组音频信息序列集,以及,将添加后的目标标准分组音频信息序列集作为目标标准分组音频信息序列集,将目标坐标作为初始坐标,将最小距离作为初始距离,再次执行上述处理步骤。
[0075]
第四子步骤,响应于目标坐标的横坐标等于上述分组音频信息序列集中的分组音
频信息序列的数量,将初始距离对应的标准音频信息序列添加至目标标准分组音频信息序列集,以及,将添加后的标准分组匹配音频信息序列集作为标准分组音频信息序列集。
[0076]
步骤106,根据分组音频信息序列集,对弹奏音频进行切分处理,以生成音频片段序列。
[0077]
在一些实施例中,上述执行主体可以根据上述分组音频信息序列集,对上述弹奏音频进行切分处理,以生成音频片段序列。其中,上述分组音频信息序列集中的分组音频信息序列对应上述音频片段序列中的音频片段。
[0078]
实践中,上述执行主体可以通过以下步骤对上述弹奏音频进行切分处理:
[0079]
第一步,对于上述分组音频信息序列集中的每个分组音频信息序列,根据上述分组音频信息序列包括的第一个帧数时间和最后一个帧数时间,从上述弹奏音频中切分出与上述分组音频信息序列对应的音频片段。其中,上述帧数时间可以是音频播放时长中的时间点。上述音频播放时长可以是播放弹奏音频的时长。例如,上述音频播放时长可以是3分钟,上述帧数时间可以是第5s,表征音频播放时长“3分钟”中的第5秒。实践中,对于上述分组音频信息序列集中的每个分组音频信息序列,第一,上述执行主体可以将上述分组音频信息序列中的第一个帧数时间作为起始时间,将上述分组音频信息序列中的最后一个帧数时间作为结束时间,得到上述分组音频信息序列在上述音频播放时长中的播放时间段。第二,上述执行主体可以从上述弹奏音频中切分出上述播放时间段对应的音频作为音频片段。
[0080]
第二步,将所切分出的各个音频片段确定为音频片段序列。其中,上述音频片段序列中的各个音频片段按对应的各个分组音频信息序列进行排序。
[0081]
步骤107,生成对应音符序列的移动光标,以及将音符序列、移动光标、分组音频信息序列集和音频片段序列发送至用户端,以使得用户端控制移动光标进行移动。
[0082]
在一些实施例中,上述执行主体可以生成对应上述音符序列的移动光标,以及将上述音符序列、上述移动光标、上述分组音频信息序列集和上述音频片段序列发送至上述用户端,以使得上述用户端控制上述移动光标进行移动。实践中,上述用户端可以对于上述分组音频信息序列集中的每个分组音频信息序列,响应于检测到播放上述分组音频信息序列对应的音频片段,将上述曲谱光标移动至上述用户端显示的上述分组音频信息序列对应的音符位置。这里,上述移动光标可以通过以下步骤生成:第一,从预设图形集中选取出任一图形作为目标图形。第二,根据上述音符序列中音符的字体大小,将目标图形的大小进行更改。其中,目标图形的大小小于上述音符的字体大小,目标图形的大小大于预设字体大小。这里,对于预设字体大小的设定,不作限制。第三,将更改后的目标图形确定为移动光标。上述移动光标还可以是指通过rect元素绘制的用于跟随用户弹奏的音符的光标。
[0083]
本公开的上述各个实施例中具有如下有益效果:通过本公开的一些实施例的音频回放方法,减少了用户时间的浪费。具体来说,造成用户时间的浪费的原因在于:用户对自己弹奏的内容中的某一位置进行回放时,无法直接找到对应的标准曲谱的位置,需要对标准曲谱进行反复播放,以找到对应的位置,造成用户时间的浪费。基于此,本公开的一些实施例的音频处理方法,首先,响应于接收到用户端发送的曲谱选择信息,根据上述曲谱选择信息,获取对应用户选择的标准曲谱的音符序列。由此,可以在用户端显示标准曲谱的音符序列。其次,对用户弹奏出的乐器声进行收音处理,得到弹奏音频。由此,可以提取用户弹奏
的音频的音频信息。然后,将上述弹奏音频输入至预先训练的音频信息提取模型中,得到音频信息序列。由此,可以将各个音频信息进行分组,便于与标准音频信息序列集进行匹配。之后,根据上述弹奏音频和上述音频信息序列,将上述音频信息序列中的各个音频信息进行分组处理,得到分组音频信息序列集;将上述分组音频信息序列集与标准音频信息序列集进行匹配处理,得到标准分组音频信息序列集。由此,将用户弹奏的每个分组音频信息序列与标准音频信息序列集进行匹配,在播放用户弹奏的音频时,便于确定对应的标准音频信息序列,可以将光标移动至标准音频信息序列对应的音符处,从而减少了用户时间的浪费。然后,根据上述分组音频信息序列集,对上述弹奏音频进行切分处理,以生成音频片段序列。由此,便于用户端根据生成的音频片段序列控制移动光标。最后,生成对应上述音符序列的移动光标,以及将上述音符序列、上述移动光标、上述分组音频信息序列集和上述音频片段序列发送至上述用户端,以使得上述用户端控制上述移动光标进行移动。由此,完成对用户弹奏的内容的回放操作。减少了用户时间的浪费。
[0084]
进一步参考图2,作为对上述各图所示方法的实现,本公开提供了一种音频回放装置的一些实施例,这些装置实施例与图2所示的那些方法实施例相对应,该装置具体可以应用于各种电子设备中。
[0085]
如图2所示,一些实施例的音频回放装置200包括:获取单元201、收音处理单元202、输入单元203、分组处理单元204、匹配处理单元205、切分处理单元206和生成单元207。其中,获取单元201被配置成响应于接收到用户端发送的曲谱选择信息,根据上述曲谱选择信息,获取对应用户选择的曲谱的音符序列;收音处理单元202被配置成对用户弹奏出的乐器声进行收音处理,得到弹奏音频;输入单元203被配置成将上述弹奏音频输入至预先训练的音频信息提取模型中,得到音频信息序列,其中,上述音频信息序列中的音频信息包括音频帧数;分组处理单元204被配置成根据上述弹奏音频和上述音频信息序列,将上述音频信息序列中的各个音频信息进行分组处理,得到分组音频信息序列集,其中,上述分组音频信息序列集中的各个分组音频信息序列根据所包括的各个音频帧数排列;匹配处理单元205被配置成将上述分组音频信息序列集与标准音频信息序列集进行匹配处理,得到标准分组音频信息序列集;切分处理单元206被配置成根据上述分组音频信息序列集,对上述弹奏音频进行切分处理,以生成音频片段序列,其中,上述分组音频信息序列集中的分组音频信息序列对应上述音频片段序列中的音频片段;生成单元207被配置成生成对应上述音符序列的移动光标,以及将上述音符序列、上述移动光标、上述分组音频信息序列集和上述音频片段序列发送至上述用户端,以使得上述用户端控制上述移动光标进行移动。
[0086]
可以理解的是,该装置200中记载的诸单元与参考图1描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于装置200及其中包含的单元,在此不再赘述。
[0087]
下面参考图3,其示出了适于用来实现本公开的一些实施例的电子设备(如图1所示的计算设备101)300的结构示意图。图3示出的电子设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
[0088]
如图3所示,电子设备300可以包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在只读存储器(rom)302中的程序或者从存储装置308加载到随机访问存储器(ram)303中的程序而执行各种适当的动作和处理。在ram 303中,还存储有电子设备
300操作所需的各种程序和数据。处理装置301、rom 302以及ram 303通过总线304彼此相连。输入/输出(i/o)接口305也连接至总线304。
[0089]
通常,以下装置可以连接至i/o接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图3示出了具有各种装置的电子设备300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图3中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
[0090]
特别地,根据本公开的一些实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的一些实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的一些实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置308被安装,或者从rom 302被安装。在该计算机程序被处理装置301执行时,执行本公开的一些实施例的方法中限定的上述功能。
[0091]
需要说明的是,本公开的一些实施例中记载的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的一些实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的一些实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
[0092]
在一些实施方式中,客户端、服务器可以利用诸如http(hypertext transfer protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
[0093]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:响应于接收到用户端发送的曲谱选择信息,根据上述曲谱选择信息,获取对应用户选择的曲谱的音符序列。对用户弹奏出的乐器声进
行收音处理,得到弹奏音频。将上述弹奏音频输入至预先训练的音频信息提取模型中,得到音频信息序列,其中,上述音频信息序列中的音频信息包括音频帧数。根据上述弹奏音频和上述音频信息序列,将上述音频信息序列中的各个音频信息进行分组处理,得到分组音频信息序列集,其中,上述分组音频信息序列集中的各个分组音频信息序列根据所包括的各个音频帧数排列。将上述分组音频信息序列集与标准音频信息序列集进行匹配处理,得到标准分组音频信息序列集。根据上述分组音频信息序列集,对上述弹奏音频进行切分处理,以生成音频片段序列,其中,上述分组音频信息序列集中的分组音频信息序列对应上述音频片段序列中的音频片段。生成对应上述音符序列的移动光标,以及将上述音符序列、上述移动光标、上述分组音频信息序列集和上述音频片段序列发送至上述用户端,以使得上述用户端控制上述移动光标进行移动。
[0094]
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的一些实施例的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0095]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0096]
描述于本公开的一些实施例中的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、收音处理单元、输入单元、分组处理单元、匹配处理单元、切分处理单元和生成单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,收音处理单元还可以被描述为“对用户弹奏出的乐器声进行收音处理,得到弹奏音频的单元”。
[0097]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
[0098]
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其
等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1