掌桥专利:专业的专利平台
掌桥专利
首页

音频合成方法、音频合成系统、计算机设备及存储介质

文献发布时间:2024-04-18 19:58:21


音频合成方法、音频合成系统、计算机设备及存储介质

技术领域

本申请涉及计算机技术领域,特别是涉及一种音频合成方法、音频合成系统、计算机设备及计算机可读存储介质。

背景技术

互联网通信技术的发展使得网络歌手、直播演唱等的应用越来越广泛。在将用户演唱的干声音频与演唱歌曲对应的伴奏音频进行实时的音频合成,得到合成的合成音频是这些应用中不可或缺的功能。

在相关技术中,一般是先将待播放的伴奏音频数据存入音频缓冲区中,以供播放器对伴奏音频数据进行读取和播放,然后,在用户听到播放伴奏时进行人声跟唱,以供录音器对人声进行录制得到用户的干声音频数据,最后,再将读取的伴奏音频数据和录制的干声音频数据按照次序逐帧进行混合,以得到合成音频。然而,不稳定的网络环境会使得伴奏音频数据不能正常的被存入音频缓冲区中,或者音频缓冲区中的伴奏音频数据不能正常的被读取,导致音频缓冲区中缓冲的伴奏音频数据的数据量少于正常的数据量或大于正常的数据量,使得后续读取的伴奏音频数据和录制的干声音频数据不相对应,从而合成的合成音频存在人声与伴奏不对齐的问题。

发明内容

基于此,有必要针对上述技术问题,提供一种能够提升合成音频的合成质量的音频合成方法、音频合成系统、计算机设备、计算机可读存储介质及计算机程序产品。

根据本公开实施例的第一方面,提供一种音频合成方法,包括:

获取音频缓冲区的当前缓冲数据量;所述音频缓冲区用于缓冲待播放的伴奏音频数据,所述当前缓冲数据量用于指示所述音频缓冲区中的伴奏音频数据的播放时长;

基于所述当前缓冲数据量与参考缓冲数据量之间的差异,调整所述音频缓冲区中缓冲的伴奏音频数据的数据量,得到调整后的音频缓冲区;

从所述调整后的音频缓冲区中读取出伴奏音频数据,并播放读取的所述伴奏音频数据;以及,在用户对播放的所述伴奏音频数据进行跟唱时,录制所述用户的干声音频数据;其中,所述参考缓冲数据量对应的播放时长与开始播放音频数据到录制得到音频数据之间的延迟时长相匹配;

将读取的所述伴奏音频数据和录制的所述干声音频数据进行音频合成处理,得到合成音频数据。

在一示例性实施例中,所述基于所述当前缓冲数据量与参考缓冲数据量之间的差异,调整所述音频缓冲区中缓冲的伴奏音频数据的数据量,得到调整后的音频缓冲区,包括以下两项中的一项:

在所述当前缓冲数据量大于所述参考缓冲数据量的上限的情况下,减少所述音频缓冲区中缓冲的伴奏音频数据的数据量,以将所述音频缓冲区中缓冲的伴奏音频数据的数据量调整与所述参考缓冲数据量相匹配,得到调整后的音频缓冲区;

在所述当前缓冲数据量小于所述参考缓冲数据量的下限的情况下,增加所述音频缓冲区中缓冲的伴奏音频数据的数据量,以将所述音频缓冲区中缓冲的伴奏音频数据的数据量调整与所述参考缓冲数据量相匹配,得到调整后的音频缓冲区。

在一示例性实施例中,所述音频缓冲区中缓冲的伴奏音频数据包括音频帧,所述音频缓冲区的缓冲数据量基于所述音频帧的音频帧数量表征,所述音频帧中包括空白音频帧;

所述减少所述音频缓冲区中缓冲的伴奏音频数据的数据量,包括:

确定所述音频缓冲区中缓冲的音频帧数量与所述参考缓冲数据量所对应的音频帧数量之间的第一数量差,并从所述音频缓冲区中移除对应所述第一数量差的空白音频帧;

所述增加所述音频缓冲区中缓冲的伴奏音频数据的数据量,包括:

确定所述音频缓冲区中缓冲的音频帧数量与所述参考缓冲数据量所对应的音频帧数量之间的第二数量差,并从所述音频缓冲区中加入对应所述第二数量差的空白音频帧。

在一示例性实施例中,读取的所述伴奏音频数据包括伴奏音频帧和读取所述伴奏音频帧时的第一时间戳;录制的所述干声音频数据包括干声音频帧和录制所述干声音频帧时的第二时间戳;

所述将读取的所述伴奏音频数据和录制的所述干声音频数据进行音频合成处理,得到合成音频数据,包括:

在所述调整后的音频缓冲区中缓冲的伴奏音频数据的数据量为所述参考缓冲数据量的情况下,基于所述第一时间戳和所述第二时间戳,将读取的所述伴奏音频帧和录制的所述干声音频帧进行逐帧混合,得到合成音频数据。

在一示例性实施例中,从开始播放所述伴奏音频数据到录制得到所述干声音频数据之间存在第一延迟时长;从将所述伴奏音频数据输入所述音频缓冲区到开始播放所述伴奏音频数据之间存在第二延迟时长;

在所述基于所述当前缓冲数据量与参考缓冲数据量之间的差异,调整所述音频缓冲区中缓冲的伴奏音频数据的数据量之前,还包括:

基于所述第一时间延迟和所述第二时间延迟之间的延迟距离,确定对应于所述延迟距离的至少一个空白音频帧;

将所述至少一个空白音频帧加入所述音频缓冲区中,得到更新的音频缓冲区;

其中,在所述更新的音频缓冲区中缓冲的伴奏音频数据的数据量为所述参考缓冲数据量的情况下,读取的所述伴奏音频数据的第一时间戳和录制的所述干声音频数据的第二时间戳相匹配。

在一示例性实施例中,所述方法还包括:

获取第一回声系统的第一回声响应时长,并将所述第一回声响应时长作为所述第一延迟时长;以及

获取第二回声系统的第二回声响应时长,并将所述第二回声响应时长作为所述第二延迟时长;

其中,所述第一回声系统用于对播放的所述伴奏音频数据进行录制,得到所述干声音频数据;所述第二回声系统用于将所述伴奏音频数据输入所述音频缓冲区中,以及对所述音频缓冲区中的伴奏音频数据进行读取,以将所述伴奏音频数据进行播放。

在一示例性实施例中,所述方法,还包括:

获取样本音频数据;

基于所述样本音频数据构建针对预设回声系统的样本激励数据;所述预设回声系统为所述第一回声系统或者所述第二回声系统;

对所述样本激励数据进行频谱调整处理,得到调整后的激励数据;所述频谱调整处理用于模拟所述样本激励数据在经过所述预设回声系统后的频谱损失,并基于所述频谱损失调整所述样本激励数据;

基于预设的互相关函数确定所述样本音频数据和所述调整后的样本激励数据之间的互相关值,并将所述互相关值作为所述预设回声系统的回声响应时长。

根据本公开实施例的第二方面,提供一种音频合成系统,所述系统包括:第一处理器、第二处理器、与所述第一处理器和所述第二处理器通信连接的音频缓冲区、与所述音频缓冲区通信连接的播放器,以及与所述第二处理器通信连接的录音器,其中:

所述音频缓冲区,被配置为执行缓冲待播放的伴奏音频数据;所述音频缓冲区中的伴奏音频数据的当前缓冲数据量用于指示所述音频缓冲区中的伴奏音频数据的播放时长;

所述第一处理器,被配置为执行基于所述当前缓冲数据量与参考缓冲数据量之间的差异,调整所述音频缓冲区中缓冲的伴奏音频数据的数据量,得到调整后的音频缓冲区;

所述播放器,被配置为执行从所述调整后的音频缓冲区中读取出伴奏音频数据,并播放读取的所述伴奏音频数据;

所述录音器,被配置为执行在用户对播放的所述伴奏音频数据进行跟唱时,录制所述用户的干声音频数据;其中,所述参考缓冲数据量对应的播放时长与所述播放器开始播放音频数据到所述录音器录制得到音频数据之间的延迟时长相匹配;

所述第二处理器,被配置为执行将读取的所述伴奏音频数据和录制的所述干声音频数据进行音频合成处理,得到合成音频数据。

根据本公开实施例的第三方面,提供一种音频合成装置,包括:

数据获取单元,被配置为执行获取音频缓冲区的当前缓冲数据量;所述音频缓冲区用于缓冲待播放的伴奏音频数据,所述当前缓冲数据量用于指示所述音频缓冲区中的伴奏音频数据的播放时长;

缓冲区调整单元,被配置为执行基于所述当前缓冲数据量与参考缓冲数据量之间的差异,调整所述音频缓冲区中缓冲的伴奏音频数据的数据量,得到调整后的音频缓冲区;

音频处理单元,被配置为执行从所述调整后的音频缓冲区中读取出伴奏音频数据,并播放读取的所述伴奏音频数据;以及,在用户对播放的所述伴奏音频数据进行跟唱时,录制所述用户的干声音频数据;其中,所述参考缓冲数据量对应的播放时长与开始播放音频数据到录制得到音频数据之间的延迟时长相匹配;

音频合成单元,被配置为执行将读取的所述伴奏音频数据和录制的所述干声音频数据进行音频合成处理,得到合成音频数据。

根据本公开实施例的第四方面,提供一种计算机设备,包括:

处理器;

用于存储所述处理器的可执行指令的存储器;

其中,所述处理器被配置为执行所述可执行指令,以实现如上述任一项所述的音频合成方法。

根据本公开实施例的第五方面,提供一种计算机可读存储介质,所述计算机可读存储介质中包括计算机程序,当所述计算机程序由计算机设备的处理器执行时,使得所述计算机设备能够执行如上述任一项所述的音频合成方法。

根据本公开实施例的第六方面,提供一种计算机程序产品,所述计算机程序产品中包括程序指令,所述程序指令被计算机设备的处理器执行时,使得所述计算机设备能够执行如上述任一项所述的音频合成方法。

本公开的实施例提供的技术方案至少带来以下有益效果:

该方法先通过获取音频缓冲区的当前缓冲数据量;音频缓冲区用于缓冲待播放的伴奏音频数据,当前缓冲数据量用于指示音频缓冲区中的伴奏音频数据的播放时长;基于当前缓冲数据量与参考缓冲数据量之间的差异,调整音频缓冲区中缓冲的伴奏音频数据的数据量,得到调整后的音频缓冲区;从调整后的音频缓冲区中读取出伴奏音频数据,并播放读取的伴奏音频数据;以及,在用户对播放的伴奏音频数据进行跟唱时,录制用户的干声音频数据;其中,参考缓冲数据量对应的播放时长与开始播放音频数据到录制得到音频数据之间的延迟时长相匹配;将读取的伴奏音频数据和录制的干声音频数据进行音频合成处理,得到合成音频数据。这样,一方面,通过配置音频缓冲区的参考缓冲数据量对应的播放时长与开始播放音频数据到录制得到音频数据之间的延迟时长相匹配,解决了播放音频和录制音频之间的延迟问题,从而在音频播放和音频录制所在环境稳定时,保证了读取的伴奏音频数据和录制的干声音频数据能够相对应;另一方面,利用音频缓冲区的当前缓冲数据量与参考缓冲数据量之间的差异,来调整缓冲待播放的伴奏音频数据的数据量,从而在音频播放和音频录制所在环境相对不稳定时,也能够保证读取的伴奏音频数据和录制的干声音频数据相对应,使得后续合成的合成音频的质量效果更优。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种音频合成方法的应用环境图。

图2是根据一示例性实施例示出的一种音频合成方法的流程图。

图3是根据一示例性实施例示出的一种对音频缓冲区进行处理步骤的流程图。

图4是根据一示例性实施例示出的一种确定延迟时长步骤的流程图。

图5是根据另一示例性实施例示出的一种音频合成方法的流程图。

图6是根据另一示例性实施例示出的一种音频合成方法的模块图。

图7是根据一示例性实施例示出的一种音频合成系统的示意图。

图8是根据一示例性实施例示出的一种音频合成装置框图。

图9是根据一示例性实施例示出的一种用于音频合成的计算机设备的框图。

图10是根据一示例性实施例示出的一种用于音频合成的计算机可读存储介质的框图。

图11是根据一示例性实施例示出的一种用于音频合成的计算机程序产品的框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请实施例中的术语“和/或”指的是包括相关联的列举项目中的一个或多个的任何和全部的可能组合。还要说明的是:当用在本说明书中时,“包括/包含”指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但是不排除一个或多个其他特征、整数、步骤、操作、元件和/或组件和/或它们的组群的存在或添加。

本申请中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

另外,本申请中尽管多次采用术语“第一”、“第二”等来描述各种操作(或各种元件或各种应用或各种指令或各种数据)等,不过这些操作(或元件或应用或指令或数据)不应受这些术语的限制。这些术语只是用于区分一个操作(或元件或应用或指令或数据)和另一个操作(或元件或应用或指令或数据)。

本申请实施例提供的音频合成方法,可以应用于如图1所示的应用环境中。其中,终端102通过通信网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。

在一些实施例中,参考图1,终端102首先获取音频缓冲区的当前缓冲数据量;音频缓冲区用于缓冲待播放的伴奏音频数据,当前缓冲数据量用于指示音频缓冲区中的伴奏音频数据的播放时长;然后,终端102再基于当前缓冲数据量与参考缓冲数据量之间的差异,调整音频缓冲区中缓冲的伴奏音频数据的数据量,得到调整后的音频缓冲区;然后,终端102再从调整后的音频缓冲区中读取出伴奏音频数据,并播放读取的伴奏音频数据;以及,在用户对播放的伴奏音频数据进行跟唱时,录制用户的干声音频数据;其中,参考缓冲数据量对应的播放时长与开始播放音频数据到录制得到音频数据之间的延迟时长相匹配;最后,终端102再将读取的伴奏音频数据和录制的干声音频数据进行音频合成处理,得到合成音频数据。

在一些实施例中,终端102(如移动终端、固定终端)可以以各种形式来实施。其中,终端102可为包括诸如移动电话、智能电话、笔记本电脑、便携式手持式设备、个人数字助理(PDA,Personal Digital Assistant)、平板电脑(PAD)等等的移动终端,终端102也可以是自动柜员机(Automated Teller Machine,ATM)、自动一体机、数字TV、台式计算机、固式计算机等等的固定终端。

下面,假设终端102是固定终端。然而,本领域技术人员将理解的是,若有特别用于移动目的的操作或者元件,根据本申请公开的实施方式的构造也能够应用于移动类型的终端102。

在一些实施例中,服务器104运行的数据处理组件可以加载正在被执行的可以包括各种附加服务器应用和/或中间层应用中的任何一种,如包括HTTP(超文本传输协议)、FTP(文件传输协议)、CGI(通用网关界面)、RDBMS(关系型数据库管理系统)等。

在一些实施例中,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。服务器104可以适于运行提供前述公开中描述的终端102的一个或多个应用服务或软件组件。

在一些实施例中,终端102所提供的应用程序或者客户端包括一个在前台向用户提供一对一应用服务的门户端口和多个位于后台进行数据处理的业务系统,以将音频合成的相关功能应用扩展到APP或者客户端,从而用户能够在任何时间任何地点进行音频合成和音频播放功能的使用和访问。

在一些实施例中,APP或者客户端的将音频合成和音频播放功能可为运行在用户模式以完成某项或多项特定工作的计算机程序,其可以与用户进行交互,且具有可视的用户界面。其中,APP或者客户端可以包括两部分:图形用户接口(GUI)和引擎(engine),利用这两者能够以用户界面的形式向用户提供多种应用服务的数字化客户系统。

在一些实施例中,用户可以通过预设的输入装置或者自动控制程序向APP或者客户端输入相应的代码数据或者控制参数,以执行终端102和服务器104中的计算机程序的应用服务,以及显示用户界面中的应用服务。

在一些实施例中,APP或者客户端运行的操作系统可以包括各种版本的Microsoft

在一些实施例中,如图2所示,提供了一种音频合成方法,以该方法应用于图1中的终端102为例进行说明,该方法包括以下步骤:

步骤S11,获取音频缓冲区的当前缓冲数据量。

在一实施例中,音频缓冲区用于缓冲待播放的伴奏音频数据。

在一些实施例中,音频缓冲区的输入端连接于终端中的解码器,输出端连接于终端中的播放器。

其中,当终端响应于执行音频合成的指令时,解码器从数据库中获取待解码的伴奏音频,以对待解码的伴奏音频进行音频解码,得到多个解码的伴奏音频帧,并将该多个解码的伴奏音频帧按次序输入音频缓冲区中缓冲;然后,播放器再从音频缓冲区中逐帧读取出伴奏音频帧,以进行音频播放。

在一实施例中,音频缓冲区的缓冲数据量表征音频缓冲区中缓冲的音频帧的数量,且每一音频帧具有其对应的音频时长,从而音频缓冲区的当前缓冲数据量可以用于指示音频缓冲区中的伴奏音频数据的播放时长。

其中,音频缓冲区中缓冲的音频帧包括解码器输入的伴奏音频帧,以及为了消除音频合成系统的延迟和针对音频合成系统异常状态(如解码异常或者播放异常等)而加入的空白音频帧,即没有任何音频信息的音频帧。

作为示例,音频缓冲区中的各个音频帧的音频时长相同,均为20毫秒。在音频缓冲区中的当前缓冲数据量为10个音频帧,包括8个伴奏音频帧和2个空白音频帧,则后续播放器针对伴奏音频数据的播放时长为8×20=160ms,总播放时长为8×20+2×20=200ms。

步骤S12,基于当前缓冲数据量与参考缓冲数据量之间的差异,调整音频缓冲区中缓冲的伴奏音频数据的数据量,得到调整后的音频缓冲区。

在一实例中,参考缓冲数据量为针对音频缓冲区配置的正常缓冲数据量,即若音频缓冲区中缓冲的音频帧的数量为参考缓冲数据量,则可以认为此时已消除了音频合成系统的延迟以及此时音频合成系统的运行不存在异常状态。

其中,参考缓冲数据量还包括一个上限和下限,该上限表征对于音频缓冲区中缓冲的音频帧的最大容忍数量,下限表征对于音频缓冲区中缓冲的音频帧的最小容忍数量,即若音频缓冲区中缓冲的音频帧的数量处于参考缓冲数据量的上限和下限之间,则可以认为此时音频合成系统中的延迟程度为可接受程度,以及此时音频合成系统中异常状态的异常程度为可接受程度。

在一些实例中,当前缓冲数据量与参考缓冲数据量之间的差异包括多种差异类型,具体为当前缓冲数据量大于参考缓冲数据量的上限的第一种差异类型、当前缓冲数据量小于参考缓冲数据量的上限的第而种差异类型、当前缓冲数据量等于参考缓冲数据量的上限的第三种差异类型。

其中,在第一种差异类型中,终端调整音频缓冲区中缓冲的伴奏音频数据的数据量包括:在当前缓冲数据量大于参考缓冲数据量的上限的情况下,减少音频缓冲区中缓冲的伴奏音频数据的数据量,以将音频缓冲区中缓冲的伴奏音频数据的数据量调整与参考缓冲数据量相匹配,得到调整后的音频缓冲区。

其中,将伴奏音频数据的数据量调整与参考缓冲数据量相匹配可以为调整伴奏音频数据的数据量与参考缓冲数据量相同,也可以为调整伴奏音频数据的数据量处于参考缓冲数据量的上限和下限之间。

在一种实施例中,终端减少音频缓冲区中缓冲的伴奏音频数据的数据量可以包括:确定音频缓冲区中缓冲的音频帧数量与参考缓冲数据量所对应的音频帧数量之间的第一数量差,并从音频缓冲区中移除对应第一数量差的空白音频帧。

作为示例,音频缓存区中的当前缓冲数据量为15个音频帧,参考缓冲数据量为10个音频帧,其上限为13个音频帧,则确定当前缓冲数据量大于参考缓冲数据量的上限,从而第一数量差为15-10=5,因此终端为了音频缓冲区中的伴奏音频数据的数据量与参考缓冲数据量相匹配,从音频缓冲区中移除5个空白音频帧。

其中,在第二种差异类型中,终端调整音频缓冲区中缓冲的伴奏音频数据的数据量包括:在当前缓冲数据量小于参考缓冲数据量的下限的情况下,增加音频缓冲区中缓冲的伴奏音频数据的数据量,以将音频缓冲区中缓冲的伴奏音频数据的数据量调整与参考缓冲数据量相匹配,得到调整后的音频缓冲区。

在一种实施例中,终端增加音频缓冲区中缓冲的伴奏音频数据的数据量可以包括:确定音频缓冲区中缓冲的音频帧数量与参考缓冲数据量所对应的音频帧数量之间的第二数量差,并从音频缓冲区中加入对应第二数量差的空白音频帧。

作为示例,音频缓存区中的当前缓冲数据量为7个音频帧,参考缓冲数据量为10个音频帧,其下限为8个音频帧,则确定当前缓冲数据量小于参考缓冲数据量的上限,从而第二数量差为|7-10|=3,因此终端为了音频缓冲区中的伴奏音频数据的数据量与参考缓冲数据量相匹配,向音频缓冲区中增加3个空白音频帧。

在第三种差异类型中,终端调整音频缓冲区中缓冲的伴奏音频数据的数据量包括:在当前缓冲数据量处于参考缓冲数据量的上限和下限之间的情况下,保持音频缓冲区中缓冲的伴奏音频数据的数据量,并将当前的伴奏缓冲区作为调整后的伴奏缓冲区。

作为示例,音频缓存区中的当前缓冲数据量为11个音频帧,参考缓冲数据量为10个音频帧,其上限为12个音频帧,下限为8个音频帧,则确定当前缓冲数据量处于参考缓冲数据量的上限和下限之间,从而保持音频缓冲区中缓冲的伴奏音频数据的数据量,并将当前的伴奏缓冲区作为调整后的伴奏缓冲区。

步骤S13,从调整后的音频缓冲区中读取出伴奏音频数据,并播放读取的伴奏音频数据;以及,在用户对播放的伴奏音频数据进行跟唱时,录制用户的干声音频数据。

在一实施例中,终端通过终端中的播放器从音频缓冲区中按次序读取出伴奏音频数据,并播放读取的伴奏音频数据。以及,终端通过终端中的录音器录制用户跟唱的音频,得到录制的干声音频数据。

在一实施例中,从开始播放伴奏音频数据到录制得到干声音频数据之间存在第一延迟时长。

其中,该第一延迟时长为音频合成系统固有的延迟时长,其由终端中的录音器的型号确定,不同型号的录音器具有对应的延迟时长。例如,对于型号1的录音器存在300ms的第一延迟时长、型号2的录音器存在400ms的第一延迟时长。

在一实施例中,从将伴奏音频数据输入音频缓冲区到开始播放伴奏音频数据之间存在第二延迟时长。

其中,该第二延迟时长也为音频合成系统固有的延迟时长,其由终端中的播放器的型号确定,不同型号的播放器具有对应的延迟时长。例如,对于型号1的播放器存在200ms的第二延迟时长、型号2的播放器存在250ms的第二延迟时长。

在一实施例中,参考缓冲数据量对应的播放时长与开始播放音频数据到录制得到音频数据之间的延迟时长相匹配。

具体地,音频合成系统可以配置音频缓冲区内参考缓冲的各音频帧的总时长(即参考缓冲数据量所对应的播放时长)与第一延迟时长相匹配。

作为示例,音频合成系统的第一延迟时长为300ms,音频缓冲区内的各音频帧的播放时长均为20ms,则可以配置音频缓冲区的参考缓冲数据量为15个音频帧。即在音频缓冲区内缓冲的音频帧数量为参考缓冲数据量时,音频缓冲区内缓冲的各音频帧的总时长与第一延迟时长相同,且均为300ms。

步骤S14,将读取的伴奏音频数据和录制的干声音频数据进行音频合成处理,得到合成音频数据。

在一实施例中,读取的伴奏音频数据包括伴奏音频帧和读取伴奏音频帧时的第一时间戳。

具体地,在终端中的播放器从音频缓冲区中读取出伴奏音频数据时,播放器按次序从音频缓冲区中提取出伴奏音频帧,并为各伴奏音频帧打上对应的提取时间,即第一时间戳。

在一实施例中,录制的干声音频数据包括干声音频帧和录制干声音频帧时的第二时间戳。

具体地,在终端中的录音器录制用户的跟唱音频时,录音器按次序生成针对跟唱音频的各个干声音频帧,并为各干声音频帧打上对应的提取时间,即第二时间戳。

在一实施例中,终端将读取的伴奏音频数据和录制的干声音频数据进行音频合成处理可以包括:在调整后的音频缓冲区中缓冲的伴奏音频数据的数据量为参考缓冲数据量的情况下,基于第一时间戳和第二时间戳,将读取的伴奏音频帧和录制的干声音频帧进行逐帧混合,得到合成音频数据。

其中,当调整后的音频缓冲区中缓冲的伴奏音频数据的数据量为参考缓冲数据量时,可以认为此时在音频合成系统中已消除了的第一延迟时间和第二延迟时间之间的相互影响,以及此时音频合成系统的运行中不存在异常状态。因此,若播放器在某第一时刻从音频缓冲区中提取出一伴奏音频数据X,则录音器会在第二时刻生成针对该伴奏音频数据X的干声音频数据,且该第一时刻与第二时刻之间的时间距离即为第一延迟时间的时间距离。

作为示例,一音频合成系统的第一延迟时间为S,且其对应音频缓冲区的当前缓冲数据量为参考缓冲数据量。在时间范围P内,播放器从音频缓冲区中提取出了多个音频数据,在该多个音频数据中包括携带有第一时间戳P1的伴奏音频帧X1、携带有第一时间戳P2的空白音频帧X2、携带有第一时间戳P3的伴奏音频帧X3、携带有第一时间戳P4的伴奏音频帧X4、携带有第一时间戳P5的空白音频帧X5;录音器录制得到的干声音频数据包括携带有第二时间戳P6的干声音频帧X6、携带有第二时间戳P7的干声音频帧X7、携带有第二时间戳P8的干声音频帧X8。

其中,对于伴奏音频帧X1与干声音频帧X6、伴奏音频帧X3与干声音频帧X7、伴奏音频帧X4与干声音频帧X8两两之间关于时间戳的时间距离均为S,则可以认为读取的伴奏音频帧X1与录制的干声音频帧X6、读取的伴奏音频帧X3与录制的干声音频帧X7、读取的伴奏音频帧X4与录制的干声音频帧X8两两之间相互对应,从而终端将伴奏音频帧X1与干声音频帧X6、伴奏音频帧X3与干声音频帧X7、伴奏音频帧X4与干声音频帧X8两两之间进行音频混合,得到针对用户跟唱音频一个时间片段的合成音频数据。

上述的音频合成过程中,终端首先获取音频缓冲区的当前缓冲数据量;其中,音频缓冲区用于缓冲待播放的伴奏音频数据,当前缓冲数据量用于指示音频缓冲区中的伴奏音频数据的播放时长;然后,再基于当前缓冲数据量与参考缓冲数据量之间的差异,调整音频缓冲区中缓冲的伴奏音频数据的数据量,得到调整后的音频缓冲区;然后,再从调整后的音频缓冲区中读取出伴奏音频数据,并播放读取的伴奏音频数据;以及,在用户对播放的伴奏音频数据进行跟唱时,录制用户的干声音频数据;其中,参考缓冲数据量对应的播放时长与开始播放音频数据到录制得到音频数据之间的延迟时长相匹配;最后,再将读取的伴奏音频数据和录制的干声音频数据进行音频合成处理,得到合成音频数据。这样,一方面,通过配置音频缓冲区的参考缓冲数据量对应的播放时长与开始播放音频数据到录制得到音频数据之间的延迟时长相匹配,解决了播放音频和录制音频之间的延迟问题,从而在音频播放和音频录制所在环境稳定时,保证了读取的伴奏音频数据和录制的干声音频数据能够相对应;另一方面,利用音频缓冲区的当前缓冲数据量与参考缓冲数据量之间的差异,来调整缓冲待播放的伴奏音频数据的数据量,从而在音频播放和音频录制所在环境相对不稳定时,也能够保证读取的伴奏音频数据和录制的干声音频数据相对应,提升后续合成的合成音频的质量效果。

本领域技术人员可以理解地,在具体实施方式的上述方法中,所揭露的方法可以通过更为具体的方式以实现。例如,以上所描述的终端基于当前缓冲数据量与参考缓冲数据量之间的差异,调整音频缓冲区中缓冲的伴奏音频数据的数据量的实施方式仅仅是示意性的。

示例性地,终端从调整后的音频缓冲区中读取出伴奏音频数据,并播放读取的伴奏音频数据的方式;终端在用户对播放的伴奏音频数据进行跟唱时,录制用户的干声音频数据的方式等等,其仅仅为一种集合的方式,实际实现时可以有另外的划分方式,例如读取出的伴奏音频数据、录制的干声音频数据之间可以结合或者可以集合到另一个系统中,或一些特征可以忽略,或不执行。

在一实施例中,为了消除音频合成系统中的第一延迟时长和第二延迟时长两者对音频合成的相互影响,在本申请中可以向音频缓冲区中加入一定数量的空白音频帧,以通过播放器播放无音频特征的音频数据来抵消掉第一延迟时长和第二延迟时长。

在一示例性实施例中,参阅图3,图3为本申请中对音频缓冲区进行处理一实施例的流程示意图。在步骤S12之前,即终端在基于当前缓冲数据量与参考缓冲数据量之间的差异,调整音频缓冲区中缓冲的伴奏音频数据的数据量之前,还可以具体执行以下方式:

步骤a1,基于第一时间延迟和第二时间延迟之间的延迟距离,确定对应于延迟距离的至少一个空白音频帧。

步骤a2,将至少一个空白音频帧加入音频缓冲区中,得到更新的音频缓冲区。

作为示例,配置每一空白音频帧的音频时长为20ms,并选用第一时间延迟为400ms的录音器和第二时间延迟为300ms的播放器。在终端对音频缓冲区进行处理过程中,首先确定(400-300)/20=5个空白音频帧,然后再将该5个空白音频帧加入初始的音频缓冲区中,得到更新的音频缓冲区,以通过该更新的音频缓冲区来抵消掉音频合成系统中的第一延迟时长和第二延迟时长对音频合成的相互影响。

其中,在更新的音频缓冲区中缓冲的伴奏音频数据的数据量为参考缓冲数据量的情况下,读取的伴奏音频数据的第一时间戳和录制的干声音频数据的第二时间戳相匹配。

具体地,当更新的音频缓冲区中缓冲的伴奏音频数据的数据量为参考缓冲数据量时,可以认为此时在音频合成系统中已消除了的第一延迟时间和第二延迟时间之间的相互影响,以及此时音频合成系统的运行中不存在异常状态。因此,若播放器在某第一时刻从音频缓冲区中提取出一伴奏音频数据X,则录音器会在第二时刻生成针对该伴奏音频数据X的干声音频数据,且该第一时刻与第二时刻之间的时间距离即为第一延迟时间的时间距离。

在一示例性实施例中,参阅图4,图4为本申请中确定延迟时长一实施例的流程示意图。在步骤S11之前,终端具体还可以执行以下方式:

步骤b1,获取样本音频数据。

步骤b2,基于样本音频数据构建针对预设回声系统的样本激励数据。

在一实施例中,预设回声系统为第一回声系统或者第二回声系统。

其中,第一回声系统用于对播放的伴奏音频数据进行录制,得到干声音频数据;第二回声系统用于将伴奏音频数据输入音频缓冲区中,以及对音频缓冲区中的伴奏音频数据进行读取,以将伴奏音频数据进行播放。

在一实施例中,终端构建针对预设回声系统的样本激励数据包括:基于样本音频数据构建最大长度序列(MLS序列)、格雷码(Golay码)和扫频信号中的任意一种数据,然后将该MLS序列、Golay码或者扫频信号作为样本激励数据。

其中,以基于样本音频数据构建扫频信号为样本激励数据为例,其中,扫频信号全称为播放指数扫频信号(exponential Sweep Signal,ESS)。首先,终端构造长度为1s的播放指数扫频信号片段如下:

其中,此处的f

步骤b3,对样本激励数据进行频谱调整处理,得到调整后的激励数据。

其中,频谱调整处理用于模拟样本激励数据在经过预设回声系统后的频谱损失,并基于频谱损失调整样本激励数据。

作为一示例,终端利用双二阶滤波器(Biquard filter)来模拟样本激励数据在经过回声系统后的频谱损失,其中,滤波器结构如下:

其中,终端为了保证频谱调整处理的过程处于因果稳定的最小相位(即极零点均在单位圆上或圆内)的条件,配置滤波器的参数取值范围限制如下:

b

其中,在上述参数范围内可以随机选择a

其中,样本激励数据在经过上述双二阶滤波器进行频谱调整处理后,输出的调整后的激励数据表示如下:

y

其中,此处以及后续位置的n表示的样本激励数据离散序列的样点索引。

步骤b4,基于预设的互相关函数确定样本音频数据和调整后的样本激励数据之间的互相关值,并将互相关值作为预设回声系统的回声响应时长。

其中,回声响应时长即为预设回声系统针对回声信号的脉冲响应。

在一些实施例中,回声系统的脉冲响应可基于如下表达式表征:

其中,r(n)为预设的互相关函数(即两种数据序列的互相关处理过程),x(n)为样本音频数据对应的数据序列,y(n-m)为调整后的样本激励数据对应的数据序列;n的取值范围:0,1,2,…,(N-1);m的取值范围:0,1,2,…,(m-1),且m<n。

在一实施例中,在终端确定第一回声系统的第一回声响应时长之后,终端直接将第一回声响应时长作为第一延迟时长。以及,在终端确定第二回声系统的第二回声响应时长之后,终端直接将第二回声响应时长作为第二延迟时长。

为了更清晰阐明本公开实施例提供的音频合成方法,以下以一个具体的实施例对该音频合成方法进行具体说明。在一示例性实施例中,参考图5和图6,图5为根据另一示例性实施例示出的一种音频合成方法的流程图,图6为根据另一示例性实施例示出的一种音频合成方法的模块图,该音频合成方法用于终端102中,具体包括如下内容:

步骤S21,将伴奏音频发送至终端解码器进行解码,得到解码的伴奏音频数据。

其中,终端处理器从预设的终端数据库中提取伴奏音频,然后再将伴奏音频发送至终端解码器中进行音频解码,得到解码的伴奏音频数据。

步骤S22,将解码的伴奏音频数据输入终端伴奏缓冲区。

其中,该终端伴奏缓冲区用于缓冲待提供给终端播放器的伴奏音频数据;该终端伴奏缓冲区的大小用于指示该缓冲区中的伴奏音频数据的最大播放时长。

步骤S23,实时提取终端伴奏缓冲区中的伴奏音频数据,以进行伴奏音频播放。

其中,终端播放器实时的从终端伴奏缓冲区中读取伴奏音频数据,以对伴奏音频数据进行伴奏音频播放。

步骤S24,在用户听到伴奏音频数据并进行跟唱的情况下,终端录音器录制用户的跟唱音频,得到用户的干声数据。

其中,从用户开始跟唱,到终端录音器录制得到用户的干声数据之间存在第一类时间延迟,即第一类时间延迟为终端录音器的录音延迟。

其中,从伴奏音频数据被终端解码器解码,到终端播放器播放出伴奏音频数据之间存在第二类时间延迟,即第二类时间延迟为终端播放器的播放延迟。

其中,不同机型的终端录音器的第一类时间延迟一般在50ms到400ms不等,以及不同机型的终端播放器的第二类时间延迟一般在200ms到400ms不等。

其中,可以通过计算终端录音器和终端播放器所在的回声系统对应的回声响应时间作为第一类时间延迟和第二类时间延迟。

步骤S25,实时地从终端录音器中读取各帧的干声数据和从播放器中读取与干声数据对应的各帧伴奏音频数据,并对干声数据和伴奏音频数据进行逐帧的音频合成,得到合成音频数据。

其中,每一帧的干声数据和伴奏音频数据的时间长度为20ms。

在一种情况中,在终端处理器实时地对干声数据和伴奏音频数据进行音频合成的过程中,由于存在第一类时间延迟和第二类时间延迟,导致终端处理器读取的伴奏音频数据和录制的干声数据不对齐。

其中,基于第一类时间延迟,配置终端伴奏缓冲区的缓冲区基准大小,即将第一类时间延迟作为终端伴奏缓冲区的缓冲区基准大小。其中,若终端伴奏缓冲区的缓冲区大小处于基准大小所在的上限/下限范围内,则可以认为终端处理器读取的伴奏音频数据和录制的干声数据是相对齐的。

在一种解决方式中,基于第一类时间延迟和第二类时间延迟之间的延迟差距,在终端解码器将伴奏音频数据输入终端伴奏缓冲区时,往终端伴奏缓冲区内加入对应于延迟差距的空白帧,以使终端处理器接收到的干声数据和伴奏音频数据相对齐。

作为示例,第一类时间延迟为400ms,第二类时间延迟为300ms,则在终端解码器将伴奏音频数据输入终端伴奏缓冲区时,往终端伴奏缓冲区内加入5个空白帧(总时长100ms),以使第一类时间延迟和第二类时间延迟相抵消,从而终端处理器接收到的干声数据和伴奏音频数据相对齐。

在另一种情况中,在终端处理器实时地对干声数据和伴奏音频数据进行音频合成的过程中,由于可能存在终端录音器的卡顿或者暂停的情况,导致终端处理器减缓或者停止从终端录音器中读取干声数据和从播放器中读取伴奏音频数据,且此时终端解码器正常的将解码的伴奏音频数据输入终端伴奏缓冲区中,从而使得终端伴奏缓冲区内的数据量异常增大,即终端伴奏缓冲区大于缓冲区基准大小,导致终端处理器合成的干声数据和伴奏音频数据不对齐。

在一种解决方式中,在终端伴奏缓冲区和缓冲区基准之间的差距大小超过预设大小阈值时,从端伴奏缓冲区中抽取出对应差距大小的空白帧,以使得终端伴奏缓冲区和缓冲区基准之间的差距大小为0,从而终端处理器接收到的干声数据和伴奏音频数据相对齐。

在另一种情况中,在终端处理器实时地对干声数据和伴奏音频数据进行音频合成的过程中,由于可能存在播放器的启动速率慢、解码异常的情况,导致终端解码器减缓或者停止将解码的伴奏音频数据输入终端伴奏缓冲区中,且此时终端处理器正常的从终端录音器中读取干声数据和从播放器中读取伴奏音频数据,从而使得终端伴奏缓冲区内的数据量异常减小,即终端伴奏缓冲区小于缓冲区基准大小,导致终端处理器合成的干声数据和伴奏音频数据不对齐。

在一种解决方式中,在终端伴奏缓冲区和缓冲区基准之间的差距大小超过预设大小阈值时,从端伴奏缓冲区中塞入对应差距大小的空白帧,以使得终端伴奏缓冲区和缓冲区基准之间的差距大小为0,从而终端处理器接收到的干声数据和伴奏音频数据相对齐。

步骤S26,将合成音频数据发送给服务器,以使服务器对合成音频数据进行数据转换,得到转换后的音频数据,并通过观众端播放器对转换后的音频数据进行播放。

其中,终端处理器先将合成音频数据发送给服务器;然后服务器对合成音频数据进行编解码处理,得到编解码后的音频数据;然后服务器再将编解码后的音频数据发送至观众端播放器进行音频播放。

这样,一方面,通过配置音频缓冲区的参考缓冲数据量对应的播放时长与开始播放音频数据到录制得到音频数据之间的延迟时长相匹配,解决了播放音频和录制音频之间的延迟问题,从而在音频播放和音频录制所在环境稳定时,保证了读取的伴奏音频数据和录制的干声音频数据能够相对应;另一方面,利用音频缓冲区的当前缓冲数据量与参考缓冲数据量之间的差异,来调整缓冲待播放的伴奏音频数据的数据量,从而在音频播放和音频录制所在环境相对不稳定时,也能够保证读取的伴奏音频数据和录制的干声音频数据相对应,使得后续合成的合成音频的质量效果更优。

应该理解的是,虽然图2-图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

可以理解的是,本说明书中上述方法的各个实施例之间相同/相似的部分可互相参见,每个实施例重点说明的是与其他实施例的不同之处,相关之处参见其他方法实施例的说明即可。

图7是本申请实施例提供的一种音频合成系统10框图。参照图7,该音频合成系统10包括:第一处理器11、第二处理器12、与第一处理器11和第二处理器12通信连接的音频缓冲区13、与音频缓冲区13通信连接的播放器14,以及与第二处理器12通信连接的录音器15。

其中,音频缓冲区13,被配置为执行缓冲待播放的伴奏音频数据;所述音频缓冲区中的伴奏音频数据的当前缓冲数据量用于指示所述音频缓冲区中的伴奏音频数据的播放时长;

其中,第一处理器11,被配置为执行基于所述当前缓冲数据量与参考缓冲数据量之间的差异,调整所述音频缓冲区中缓冲的伴奏音频数据的数据量,得到调整后的音频缓冲区;

其中,播放器14,被配置为执行从所述调整后的音频缓冲区中读取出伴奏音频数据,并播放读取的所述伴奏音频数据;

其中,录音器15,被配置为执行在用户对播放的所述伴奏音频数据进行跟唱时,录制所述用户的干声音频数据;其中,所述参考缓冲数据量对应的播放时长与所述播放器开始播放音频数据到所述录音器录制得到音频数据之间的延迟时长相匹配;

其中,第二处理器12,被配置为执行将读取的所述伴奏音频数据和录制的所述干声音频数据进行音频合成处理,得到合成音频数据。

图8是本申请实施例提供的一种音频合成装置框图。参照图8,该音频合成装置10A包括:数据获取单元11A、缓冲区调整单元12A、音频处理单元13A和音频合成单元14A。

其中,数据获取单元11A,被配置为执行获取音频缓冲区的当前缓冲数据量;所述音频缓冲区用于缓冲待播放的伴奏音频数据,所述当前缓冲数据量用于指示所述音频缓冲区中的伴奏音频数据的播放时长;

其中,缓冲区调整单元12A,被配置为执行基于所述当前缓冲数据量与参考缓冲数据量之间的差异,调整所述音频缓冲区中缓冲的伴奏音频数据的数据量,得到调整后的音频缓冲区;

其中,音频处理单元13A,被配置为执行从所述调整后的音频缓冲区中读取出伴奏音频数据,并播放读取的所述伴奏音频数据;以及,在用户对播放的所述伴奏音频数据进行跟唱时,录制所述用户的干声音频数据;其中,所述参考缓冲数据量对应的播放时长与开始播放音频数据到录制得到音频数据之间的延迟时长相匹配;

其中,音频合成单元14A,被配置为执行将读取的所述伴奏音频数据和录制的所述干声音频数据进行音频合成处理,得到合成音频数据。

在一些实施例中,在所述基于所述当前缓冲数据量与参考缓冲数据量之间的差异,调整所述音频缓冲区中缓冲的伴奏音频数据的数据量,得到调整后的音频缓冲区方面,该缓冲区调整单元12A具体还用于:

在所述当前缓冲数据量大于所述参考缓冲数据量的上限的情况下,减少所述音频缓冲区中缓冲的伴奏音频数据的数据量,以将所述音频缓冲区中缓冲的伴奏音频数据的数据量调整与所述参考缓冲数据量相匹配,得到调整后的音频缓冲区;

在所述当前缓冲数据量小于所述参考缓冲数据量的下限的情况下,增加所述音频缓冲区中缓冲的伴奏音频数据的数据量,以将所述音频缓冲区中缓冲的伴奏音频数据的数据量调整与所述参考缓冲数据量相匹配,得到调整后的音频缓冲区。

在一些实施例中,所述音频缓冲区中缓冲的伴奏音频数据包括音频帧,所述音频缓冲区的缓冲数据量基于所述音频帧的音频帧数量表征,所述音频帧中包括空白音频帧;在所述减少所述音频缓冲区中缓冲的伴奏音频数据的数据量的方面,该缓冲区调整单元12A具体还用于:

确定所述音频缓冲区中缓冲的音频帧数量与所述参考缓冲数据量所对应的音频帧数量之间的第一数量差,并从所述音频缓冲区中移除对应所述第一数量差的空白音频帧;

在所述增加所述音频缓冲区中缓冲的伴奏音频数据的数据量的方面,该缓冲区调整单元12A具体还用于:

确定所述音频缓冲区中缓冲的音频帧数量与所述参考缓冲数据量所对应的音频帧数量之间的第二数量差,并从所述音频缓冲区中加入对应所述第二数量差的空白音频帧。

在一些实施例中,读取的所述伴奏音频数据包括伴奏音频帧和读取所述伴奏音频帧时的第一时间戳;录制的所述干声音频数据包括干声音频帧和录制所述干声音频帧时的第二时间戳;在所述将读取的所述伴奏音频数据和录制的所述干声音频数据进行音频合成处理,得到合成音频数据的方面,该音频合成单元14A具体还用于:

在所述调整后的音频缓冲区中缓冲的伴奏音频数据的数据量为所述参考缓冲数据量的情况下,基于所述第一时间戳和所述第二时间戳,将读取的所述伴奏音频帧和录制的所述干声音频帧进行逐帧混合,得到合成音频数据。

在一些实施例中,从开始播放所述伴奏音频数据到录制得到所述干声音频数据之间存在第一延迟时长;从将所述伴奏音频数据输入所述音频缓冲区到开始播放所述伴奏音频数据之间存在第二延迟时长;在所述基于所述当前缓冲数据量与参考缓冲数据量之间的差异,调整所述音频缓冲区中缓冲的伴奏音频数据的数据量之前,该音频合成装置10A具体还用于:

基于所述第一时间延迟和所述第二时间延迟之间的延迟距离,确定对应于所述延迟距离的至少一个空白音频帧;

将所述至少一个空白音频帧加入所述音频缓冲区中,得到更新的音频缓冲区;

其中,在所述更新的音频缓冲区中缓冲的伴奏音频数据的数据量为所述参考缓冲数据量的情况下,读取的所述伴奏音频数据的第一时间戳和录制的所述干声音频数据的第二时间戳相匹配。

在一些实施例中,该音频合成装置10A具体还用于:

获取第一回声系统的第一回声响应时长,并将所述第一回声响应时长作为所述第一延迟时长;以及

获取第二回声系统的第二回声响应时长,并将所述第二回声响应时长作为所述第二延迟时长;

其中,所述第一回声系统用于对播放的所述伴奏音频数据进行录制,得到所述干声音频数据;所述第二回声系统用于将所述伴奏音频数据输入所述音频缓冲区中,以及对所述音频缓冲区中的伴奏音频数据进行读取,以将所述伴奏音频数据进行播放。

在一些实施例中,该音频合成装置10A具体还用于:

获取样本音频数据;

基于所述样本音频数据构建针对预设回声系统的样本激励数据;所述预设回声系统为所述第一回声系统或者所述第二回声系统;

对所述样本激励数据进行频谱调整处理,得到调整后的激励数据;所述频谱调整处理用于模拟所述样本激励数据在经过所述预设回声系统后的频谱损失,并基于所述频谱损失调整所述样本激励数据;

基于预设的互相关函数确定所述样本音频数据和所述调整后的样本激励数据之间的互相关值,并将所述互相关值作为所述预设回声系统的回声响应时长。

图9是本申请实施例提供的一种计算机设备20的框图。例如,计算机设备20可以为一种电子设备、电子组件或者服务器阵列等等。参照图9,计算机设备20包括处理器21,其进一步处理器21可以为处理器集合,其可以包括一个或多个处理器,以及计算机设备20包括由存储器22所代表的存储器资源,其中,存储器22上存储有计算机程序,例如应用程序。在存储器22中存储的计算机程序可以包括一个或一个以上的每一个对应于一组可执行指令的模块。此外,处理器21被配置为执行可执行指令时实现如上述的音频合成方法。

在一些实施例中,计算机设备20为电子设备,该电子设备中的计算系统可以运行一个或多个操作系统,包括以上讨论的任何操作系统以及任何商用的服务器操作系统。该计算机设备20还可以运行各种附加服务器应用和/或中间层应用中的任何一种,包括HTTP(超文本传输协议)服务器、FTP(文件传输协议)服务器、CGI(通用网关界面)服务器、超级服务器、数据库服务器等。示例性数据库服务器包括但不限于可从(国际商业机器)等商购获得的数据库服务器。

在一些实施例中,处理器21通常控制计算机设备20的整体操作,诸如与显示、数据处理、数据通信和记录操作相关联的操作。处理器21可以包括一个或多个处理器组件来执行计算机程序,以完成上述的方法的全部或部分步骤。此外,处理器组件可以包括一个或多个模块,便于处理器组件和其他组件之间的交互。例如,处理器组件可以包括多媒体模块,以方便利用多媒体组件控制用户计算机设备20和处理器21之间的交互。

在一些实施例中,处理器21中的处理器组件还可以称为CPU(Central ProcessingUnit,中央处理单元)。处理器组件可能是一种电子芯片,具有信号的处理能力。处理器还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器组件等。另外,处理器组件可以由集成电路芯片共同实现。

在一些实施例中,存储器22被配置为存储各种类型的数据以支持在计算机设备20的操作。这些数据的示例包括用于在计算机设备20上操作的任何应用程序或方法的指令、采集数据、消息、图片、视频等。存储器22可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、快闪存储器、磁盘、光盘或石墨烯存储器。

在一些实施例中,存储器22可以为内存条、TF卡等,可以存储计算机设备20中的全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器22中。在一些实施例中,它根据处理器指定的位置存入和取出信息。在一些实施例中,有了存储器22,计算机设备20才有记忆功能,才能保证正常工作。在一些实施例中,计算机设备20的存储器22按用途可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。

在一些实施例中,计算机设备20还可以包括:电源组件23被配置为执行计算机设备20的电源管理,有线或无线网络接口24被配置为将计算机设备20连接到网络,和输入输出(I/O)接口25。计算机设备20可以操作基于存储在存储器22的操作系统,例如WindowsServer,Mac OS X,Unix,Linux,FreeBSD或类似。

在一些实施例中,电源组件23为计算机设备20的各种组件提供电力。电源组件23可以包括电源管理系统,一个或多个电源,及其他与为计算机设备20生成、管理和分配电力相关联的组件。

在一些实施例中,有线或无线网络接口24被配置为便于计算机设备20和其他设备之间有线或无线方式的通信。计算机设备20可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。

在一些实施例中,有线或无线网络接口24经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,有线或无线网络接口24还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在一些实施例中,输入输出(I/O)接口25为处理器21和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

图10是本申请实施例提供的一种计算机可读存储介质30的框图。该计算机可读存储介质30上存储有计算机程序31,其中,计算机程序31被处理器执行时实现如上述的音频合成方法。

在本申请各个实施例中的各功能单元集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在计算机可读存储介质30中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机可读存储介质30在一个计算机程序31中,包括若干指令用以使得一台计算机设备(可以是个人计算机,系统服务器,或者网络设备等)、电子设备(例如MP3、MP4等,也可以是手机、平板电脑、可穿戴设备等智能终端,也可以是台式电脑等)或者处理器(processor)以执行本申请各个实施方式方法的全部或部分步骤。

图11是本申请实施例提供的一种计算机程序产品40的框图。该计算机程序产品40中包括程序指令41,该程序指令41可由服务器20的处理器执行以实现如上述的音频合成方法。

本领域内的技术人员应明白,本申请的实施例可提供有音频合成方法、音频合成系统10、音频合成装置10A、计算机设备20、计算机可读存储介质30或计算机程序产品40。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机程序指令41(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品40的形式。

本申请是参照根据本申请实施例中音频合成方法、音频合成系统10、音频合成装置10A、计算机设备20、计算机可读存储介质30或计算机程序产品40的流程图和/或方框图来描述的。应理解可由计算机程序产品40实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序产品40到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的程序指令41产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序产品40也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机程序产品40中的程序指令41产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些程序指令41也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的程序指令41提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

需要说明的,上述的各种方法、装置、电子设备、计算机可读存储介质、计算机程序产品等根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

相关技术
  • 网络设备系统、网络设备系统的实现方法以及计算机可读存储介质
  • 用于增强存储设备的服务质量的存储系统、方法和非暂态计算机可读介质
  • 存储器读取错误纠正方法、系统、计算机设备和存储介质
  • 抓斗控制方法和系统、计算机设备、计算机存储介质
  • 用户行为监测方法和系统、计算机设备、计算机存储介质
  • 音频合成方法、装置、设备及计算机存储介质
  • 音频合成方法、装置、电子设备及计算机可读存储介质
技术分类

06120116483773