HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

音频文件生成方法、装置、设备及计算机可读存储介质与流程

2021-01-28 13:01:01|294|起点商标网
音频文件生成方法、装置、设备及计算机可读存储介质与流程

本申请实施例涉及互联网技术领域,涉及但不限于一种音频文件生成方法、装置、设备及计算机可读存储介质。



背景技术:

近年来,随着深度学习技术和图形处理器(gpu,graphicsprocessingunit)等硬件计算能力的发展,数字化内容的生成突升为一个热门的研究方向,如音频、图片、视频、虚拟人等。在音频领域,语音合成(tts,texttospeech)技术目前可以模拟人类的水平,比如可以进行音乐内容的生成。

相关技术中,音乐内容的生成可以大致分为两类:第一类,纯音乐类,无歌词,主要是生成单个或者多个乐器的一段音乐,如钢琴曲、吉他曲、纯音乐等;第二类,人声音乐类,其中核心是人声部分,唱出歌词的内容,而伴奏部分对应背景音乐。对于第二类人声音乐类,相关技术中的方法是在传统tts模型基础上加入更多的音乐属性特征(如音高、能量、歌手、节奏等)来生成音乐。

相关技术中的方法需要显式地给定生成音频的多个特征,如此,多个特征均需要从音频中显式提取,人工标注数据成本较高,且只能适用于模型的训练阶段,在实际使用时的预测阶段,由于生成的音频是未知的,因此,无法直接给出准确的音乐属性特征,从而造成实际使用范围有限,相关技术的方法泛化性较差。



技术实现要素:

本申请实施例提供一种音频文件生成方法、装置、设备及计算机可读存储介质,涉及人工智能技术领域。通过对文本和目标对象进行特征提取,并对与文本和目标对象对应的拼接特征向量进行预测,得到至少两个具有不同类型的音频属性特征,并生成音频文件,如此,只需输入文本和目标对象即可生成音频文件,因此能够提高音频文件生成方法的实际使用范围,提高方法的泛化性。

本申请实施例的技术方案是这样实现的:

本申请实施例提供一种音频文件生成方法,包括:接收音频文件生成请求,所述音频文件生成请求中包括文本和目标对象;对所述文本和所述目标对象分别进行特征提取,对应得到所述文本的第一特征向量和所述目标对象的第二特征向量;对所述第一特征向量和所述第二特征向量进行拼接,形成拼接特征向量;对所述拼接特征向量进行音频属性特征的预测,得到至少两个具有不同类型的音频属性特征;根据至少两个所述音频属性特征,生成包含有所述文本且具有所述目标对象的声音特性的音频文件。

本申请实施例提供一种音频文件生成装置,包括:接收模块,用于接收音频文件生成请求,所述音频文件生成请求中包括文本和目标对象;特征提取模块,用于对所述文本和所述目标对象分别进行特征提取,对应得到所述文本的第一特征向量和所述目标对象的第二特征向量;拼接模块,用于对所述第一特征向量和所述第二特征向量进行拼接,形成拼接特征向量;预测模块,用于对所述拼接特征向量进行音频属性特征的预测,得到至少两个具有不同类型的音频属性特征;生成模块,用于根据至少两个所述音频属性特征,生成包含有所述文本且具有所述目标对象的声音特性的音频文件。

本申请实施例提供一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中;其中,计算机设备的处理器从所述计算机可读存储介质中读取所述计算机指令,所述处理器用于执行所述计算机指令,实现上述的网络结构搜索方法。

本申请实施例提供一种音频文件生成设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现上述的音频文件生成方法。

本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行所述可执行指令时,实现上述的音频文件生成方法。

本申请实施例具有以下有益效果:通过对文本和目标对象分别进行特征提取,对应得到文本的第一特征向量和目标对象的第二特征向量;并对第一特征向量和第二特征向量进行拼接,形成拼接特征向量;对拼接特征向量进行预测,得到至少两个具有不同类型的音频属性特征,并根据不同类型的音频属性特征生成音频文件,如此,只需输入文本和目标对象即可生成音频文件,因此能够提高音频文件生成方法的实际使用范围,提高方法的泛化性。

附图说明

图1是相关技术中生成人声音乐类音频的流程示意图;

图2是本申请实施例提供的音频文件生成系统的一个可选的架构示意图;

图3是本申请实施例提供的服务器的结构示意图;

图4是本申请实施例提供的音频文件生成方法的一个可选的流程示意图;

图5是本申请实施例提供的音频文件生成方法的一个可选的流程示意图;

图6是本申请实施例提供的音频文件生成方法的一个可选的流程示意图;

图7是本申请实施例提供的音频文件生成方法的一个可选的流程示意图;

图8是本申请实施例提供的音频文件生成方法的一个可选的流程示意图;

图9是本申请实施例提供的音频文件生成方法的一个可选的流程示意图;

图10是本申请实施例提供的语音合成模型的训练方法的一个可选的流程示意图;

图11是本申请实施例提供的音频文件生成产品的界面图;

图12是本申请实施例的音频文件生成的整体流程示意图;

图13a是本申请实施例提供的编码器模块的网络结构图;

图13b是本申请实施例提供的transformer结构的示意图;

图14是本申请实施例提供的整体子解码器模块的网络结构图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于本申请实施例的技术领域的技术人员通常理解的含义相同。本申请实施例所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

为了更好地理解本申请实施例中提供的音频文件生成方法,首先对相关技术中的音频文件生成方法进行说明:

在生成人声音乐类音频中,相关技术中的方法主要还是借鉴tts的方法,在传统tts模型的基础上加入更多的音乐属性特征(例如,音高、能量、歌手和节奏等)来生成音乐,图1是相关技术中生成人声音乐类音频的流程示意图,如图1所示,模型输入的信息包括文本101、音高102、能量103、节奏104和歌手105,这些信息被输入至编码器106中进行编码和特征提取,然后将提取到的特征输入到解码器107中进行解码,形成频谱图108,然后再将频谱图108输入至声码器109中进行频谱声音转换,得到音频/声波110。

对于文本生成音乐任务,上述相关技术最大的缺点是需要显式地给定生成音频的多个特征,如图1中的音高102、能量103、节奏104和歌手105等。这样会带来至少两个问题:第一,除了歌手105,其余的特征都需要从音频中显式提取;且对于音高102和能量103可以利用已有工具计算得到,但是,节奏104需要在文本101或者音素级别对齐音频,显然这样人工标注数据成本较高,训练特定的对齐模型也需要人工标注数据。第二,在训练阶段,基于原始的音频是可以提取这些特征,但是,在预测阶段,生成的音频是未知的,无法直接给出准确的音高、能量、节奏等信息,实际使用有限,泛化性较差。

为了解决相关技术中的音频文件生成方法所存在的至少一个问题,本申请实施例提出一种音频文件生成方法,是一种一种端到端的文本生成音乐的方法,仅需给定任意一段文本,同时指定歌手,就可以生成一段音乐。其中人声部分对应文本的内容,伴奏部分对应背景音乐,且所生成的音乐具有指定歌手的声音特性。

本申请实施例提供的音频文件生成方法,首先,接收音频文件生成请求,所述音频文件生成请求中包括文本和目标对象;然后,对文本和目标对象分别进行特征提取,对应得到文本的第一特征向量和目标对象的第二特征向量;并对第一特征向量和第二特征向量进行拼接,形成拼接特征向量;再然后,对拼接特征向量分别进行音频属性特征的预测,对应得到至少两个具有不同类型的音频属性特征;最后,根据至少两个音频属性特征,生成包含有文本且具有目标对象的声音特性的音频文件。如此,只需输入文本和目标对象即可生成音频文件,因此能够提高音频文件生成方法的实际使用范围,提高方法的泛化性。

下面说明本申请实施例的音频文件生成设备的示例性应用,在一种实现方式中,本申请实施例提供的音频文件生成设备可以实施为笔记本电脑,平板电脑,台式计算机,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)、智能机器人等任意的可以播放音频终端,在另一种实现方式中,本申请实施例提供的音频文件生成设备还可以实施为服务器。下面,将说明音频文件生成设备实施为服务器时的示例性应用。

参见图2,图2是本申请实施例提供的音频文件生成系统10的一个可选的架构示意图。为实现生成包含有文本内容且具有目标对象的声音特性的音频文件,本申请实施例提供的音频文件生成系统10中包括终端100、网络200和服务器300,其中,终端100上运行有音频文件生成应用,例如该音频文件生成应用可以是自动编曲生成音乐的音乐播放器,用户可以在该音乐播放器的客户端上请求生成音频文件(即一段音乐)。在实现的过程中,终端100通过网络200向服务器300发送音频文件生成请求,音频文件生成请求中包括文本和目标对象,该文本是最终所生成音乐的歌词,目标对象可以是用户喜欢的某一位歌手,则最终生成的音乐可以是该歌手演唱的音乐。服务器300在接收到音频文件生成请求之后,响应于音频文件生成请求,对文本和目标对象分别进行特征提取,对应得到文本的第一特征向量和目标对象的第二特征向量;对第一特征向量和第二特征向量进行拼接,形成拼接特征向量;对拼接特征向量分别进行音频属性特征的预测,对应得到至少两个具有不同类型的音频属性特征;根据至少两个音频属性特征,生成包含有文本且具有目标对象的声音特性的音频文件;并将生成的音频文件确定为音频文件生成请求的请求结果,将生成的音频文件发送给终端100,终端在接收到音频文件之后可以播放该音频文件。

本申请实施例提供的音频文件生成方法还涉及人工智能技术领域,至少可以通过人工智能技术中的语音技术和机器学习技术来实现。其中,语音技术(speechtechnology)的关键技术有自动语音识别技术(asr)和语音合成技术(tts)以及声纹识别技术,让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。机器学习(ml,machinelearning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。本申请实施例中,通过机器学习技术实现对网络结构搜索请求的响应,以自动搜索到目标网络结构,以及,实现对控制器和分值模型的训练和模型优化。

图3是本申请实施例提供的服务器300的结构示意图,图3所示的服务器300包括:至少一个处理器310、存储器350、至少一个网络接口320和用户接口330。服务器300中的各个组件通过总线系统340耦合在一起。可理解,总线系统340用于实现这些组件之间的连接通信。总线系统340除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统340。

处理器310可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digitalsignalprocessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。

用户接口330包括使得能够呈现媒体内容的一个或多个输出装置331,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口330还包括一个或多个输入装置332,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。

存储器350可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器350可选地包括在物理位置上远离处理器310的一个或多个存储设备。存储器350包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,readonlymemory),易失性存储器可以是随机存取存储器(ram,randomaccessmemory)。本申请实施例描述的存储器350旨在包括任意适合类型的存储器。在一些实施例中,存储器350能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。

操作系统351,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;

网络通信模块352,用于经由一个或多个(有线或无线)网络接口320到达其他计算设备,示例性的网络接口320包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universalserialbus)等;

输入处理模块353,用于对一个或多个来自一个或多个输入装置332之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。

在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图3示出了存储在存储器350中的一种音频文件生成装置354,该音频文件生成装置354可以是服务器300中的音频文件生成装置,其可以是程序和插件等形式的软件,包括以下软件模块:接收模块3541、特征提取模块3542、拼接模块3543、预测模块3544和生成模块3545,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。

在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的音频文件生成方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,applicationspecificintegratedcircuit)、dsp、可编程逻辑器件(pld,programmablelogicdevice)、复杂可编程逻辑器件(cpld,complexprogrammablelogicdevice)、现场可编程门阵列(fpga,field-programmablegatearray)或其他电子元件。

下面将结合本申请实施例提供的服务器300的示例性应用和实施,说明本申请实施例提供的音频文件生成方法。参见图4,图4是本申请实施例提供的音频文件生成方法的一个可选的流程示意图,将结合图4示出的步骤进行说明。

步骤s401,接收音频文件生成请求,音频文件生成请求中包括文本和目标对象。

这里,服务器可以接收用户通过终端发送的音频文件生成请求,音频文件生成请求用于请求生成一音频文件,且最终生成的音频文件包含有该文本且具有目标对象的声音特性。

本申请实施例中,所生成的音频文件可以是歌曲,则文本是歌曲中的歌词,目标对象可以是一歌手,则最终想要生成的音频文件可以是具有给定的歌词,且具有给定的歌手的声音特色的音频文件。或者,所生成的音频文件可以是诗歌朗诵,则文本是待朗诵的诗歌,目标对象可以是任一朗读者,则最终想要生成的音频文件可以是该朗读者对该诗歌进行朗诵的音频文件。或者,所生成的音频文件可以是视频配乐,则文本是与视频内容对应的文本信息,目标对象可以是视频中的人物,则最终想要生成的音频文件可以是具有该文本信息且具有视频中人物的声音特征的音频文件。

步骤s402,对文本和目标对象分别进行特征提取,对应得到文本的第一特征向量和目标对象的第二特征向量。

这里,可以分别对文本和目标对象进行特征提取,在对文本进行特征提取时,可以提取文本中每一字对应的特征向量,以根据每一字的特征向量得到用于表示文本信息的第一特征向量;在对目标对象进行特征提取时,可以是提取目标对象的至少一种与声音相关的声音特征,并根据提取到的声音特征综合得到第二特征向量。

步骤s403,对第一特征向量和第二特征向量进行拼接,形成拼接特征向量。

这里,在得到第一特征向量和第二特征向量之后,将第一特征向量和第二特征向量连接成一个维度更高的拼接特征向量。拼接特征向量即考虑了用户所输入的文本的信息的特征向量,也考虑了与用户所输入的目标对象的声音特征相关的特征向量,这样,在采用拼接特征向量进行后续处理时,则是同时基于文本的信息和目标对象的声音特征进行后续的处理。

步骤s404,对拼接特征向量进行音频属性特征的预测,得到至少两个具有不同类型的音频属性特征。

本申请实施例中,可以采用解码器对拼接特征向量进行音频属性特征进行预测,解码器用于对特征提取和特征拼接后所得到拼接特征向量在不同类型的音频属性特征维度进行解码,以预测出具有该类型的一个音频属性特征。本申请实施例中,可以预测出多个类型的音频属性特征。在一些实施例中,可以采用至少两个解码器对所述拼接特征向量分别进行音频属性特征的预测,对应得到至少两个具有不同类型的所述音频属性特征,其中,每一解码器能够预测出一种类型的音频属性特征,因此可以采用多个解码器进行预测,得到多个类型的音频属性特征。

本申请实施例中,音频属性特征包括但不限于:音色特征、音高特征、能量特征、节奏特征、音频特征等任意一种与声音相关的属性特征。

步骤s405,根据至少两个音频属性特征,生成包含有文本且具有目标对象的声音特性的音频文件。

这里,在确定出音频属性特征之后,基于这些音频音频属性特征生成音频文件,其中音频文件中包括文本且具有目标对象的声音特征,例如,当音频文件是歌曲时,则歌曲中的歌词是该文本,而唱这首歌曲的人则是目标对象,即歌曲的演唱音频是具有所确定出的音频属性特征的。

本申请实施例提供的音频文件生成方法,通过对文本和目标对象分别进行特征提取,对应得到文本的第一特征向量和目标对象的第二特征向量;并对第一特征向量和第二特征向量进行拼接,形成拼接特征向量;采用至少两个解码器对拼接特征向量进行预测,得到至少两个具有不同类型的音频属性特征,并根据不同类型的音频属性特征生成音频文件,如此,只需输入文本和目标对象即可生成音频文件,因此能够提高音频文件生成方法的实际使用范围,提高方法的泛化性。

本申请实施例的方法可以应用于至少由终端和服务器所形成的音频文件生成系统中,终端上运行有音频文件生成应用,因此,用户可以在终端上请求生成满足用户需求的音频文件。图5是本申请实施例提供的音频文件生成方法的一个可选的流程示意图,如图5所示,方法包括以下步骤:

步骤s501,终端接收用户操作,以获取文本和目标对象。

本申请实施例中,用户操作可以是输入操作和选择操作。

在第一种实现方式中,用户通过输入操作输入文本,且用户通过选择操作选择自己喜欢的歌手的名字,将所选择的歌手作为目标对象。在第二种实现方式中,用户可以通过输入操作输入文本和歌手的名字。在第三种实现方式中,用户可以通过输入操作输入文本,终端自动判断选择出歌手,即终端根据用户的历史听歌习惯,确定出用户喜欢的歌手作为目标对象。在第四种实现方式中,用户可以通过输入操作输入文本,终端自动匹配到用户喜欢的多个歌手,并将多个歌手的名字显示在当前界面上,以提供给用户进行选择。在第五种实现方式中,用户可以通过输入操作输入文本,终端根据用户输入的文本匹配到多个歌手,并将多个歌手的名字显示在当前界面上,以提供给用户进行选择。

步骤s502,终端向服务器发送音频文件生成请求,音频文件生成请求中包括文本和目标对象。

步骤s503,服务器对文本和目标对象分别进行特征提取,对应得到文本的第一特征向量和目标对象的第二特征向量。

步骤s504,服务器对第一特征向量和第二特征向量进行拼接,形成拼接特征向量。

步骤s505,服务器采用至少两个解码器对拼接特征向量分别进行音频属性特征的预测,对应得到至少两个具有不同类型的音频属性特征;其中,每一解码器用于对一种类型的音频属性特征进行预测。

步骤s506,服务器根据至少两个音频属性特征,生成包含有文本且具有目标对象的声音特性的音频文件。

需要说明的是,步骤s502与步骤s506与上述步骤s401至步骤s405的实现过程相同,因此这里不再赘述。

步骤s507,服务器将所生成的音频文件发送给终端。

步骤s508,终端播放音频文件。

本申请实施例提供的音频文件生成方法,通过终端与服务器之间的交互,实现了用户可以在终端上输入文本和喜欢的歌手的信息之后,即可生成歌词是该文本且具有该歌手的声音特性的音频文件,而无需用户自己进行编曲,实现了智能的编曲,提高了用户体验。并且,由于只需输入文本和目标对象即可生成音频文件,而无需用户提供更多信息,从而简化了用户操作,使一般用户(即不具有音乐创作能力的用户)也可以通过终端来创作出新的音乐,因此能够提高音频文件生成方法的实际使用范围,提高方法的泛化性。

基于图4,图6是本申请实施例提供的音频文件生成方法的一个可选的流程示意图,如图6所示,步骤s402可以通过以下步骤实现:

步骤s601,对文本依次进行音素转换处理和位置信息嵌入处理,得到文本的第一特征向量。

这里,音素转换处理是指将文本中的每一字转换成采用拼音表示的至少一个音素;位置信息嵌入处理是指将每一字在文本中的位置信息嵌入至音素转换处理后的音素序列中,最终得到文本的第一特征向量。这样,第一特征向量是既考虑了文本中每一字的音素,还考虑了每一字在文本中的位置,也就是说,考虑了文本中的每一字的上下文语义。

步骤s602,对目标对象进行特征嵌入处理,得到用于表征目标对象的属性信息的第二特征向量。

这里,可以在确定出目标对象之后,在语音库中获取目标对象的声音信息,并提取目标对象的声音信息中的声音特征,并将目标对象的声音特征进行特征嵌入处理,以采用第二特征向量来表示目标对象的声音信息。

基于图6,图7是本申请实施例提供的音频文件生成方法的一个可选的流程示意图,如图7所示,步骤s601可以通过以下步骤实现:

步骤s701,对文本中的每一字依次进行音素转换处理,得到与文本对应的音素序列。

举例来说,对于文本“轮回后重新再来”进行音素转换处理,则可以将该文本转换为音素序列“lun2hui2hou4chong2xin1zai4lai2”,其中,音素序列中的数字表示每个字的声调。

步骤s702,获取音素序列中每一音素的位置信息,形成位置序列。

每一音素的位置信息是指每一音素在音素序列中的位置,本申请实施例中同一字符对应的多个音素可以具有相同的位置信息,也就是说,位置信息可以是字符维度的位置信息。以上述音素序列“lun2hui2hou4chong2xin1zai4lai2”为例,“轮”字对应的音素“l”、“u”、“n”、“2”的位置信息可以都是“1”,而“后”字对应的音素“h”、“o”、“u”、“4”的位置信息可以都是“3”,如此对应于音素序列“lun2hui2hou4chong2xin1zai4lai2”,则位置序列为“111122223333444444555566667777”。

步骤s703,采用位置序列,对音素序列中的每一音素进行位置信息嵌入处理,得到与音素序列对应的且用于表征文本的内容的第一特征向量。

在一些实施例中,步骤s703可以通过以下步骤实现:

步骤s7031,在预设嵌入词典中查找音素序列中的每一音素对应的音素向量、和位置序列中的每一位置信息对应的位置向量。

这里,预设嵌入词典中存储有每一音素的音素向量、和每一位置信息对应位置向量。

步骤s7032,对每一音素的音素向量中的元素、和与音素对应的位置信息的位置向量中的对应元素进行求和,得到对每一音素嵌入位置信息后的嵌入向量。

这里,每一音素的音素向量与该音素对应的位置信息的位置向量的维度相同,可以将音素向量与位置向量中每一元素位置上的元素对应相加,从而得到对音素向量与位置向量进行求和处理后的嵌入向量,该嵌入向量是对该音素嵌入位置信息后的嵌入向量。

步骤s7033,根据音素序列中的全部音素的嵌入向量,确定第一特征向量。

这里可以将全部音素的嵌入向量拼接后得到第一特征向量。

在一些实施例中,步骤s7033可以通过以下步骤实现:

步骤s7033a,对嵌入向量进行至少一次复制,得到多个相同的嵌入向量。

本申请实施例中,可以是对嵌入向量复制得到三个相同的嵌入向量,并将复制得到的三个相同的嵌入向量输入至transformer模型中进行计算。

步骤s7033b,对多个相同的嵌入向量进行多维注意力计算,得到多个注意力向量。

本申请实施例中,可以采用transformer模型来实现确定第一特征向量的过程,即通过transformer结构中的多头注意力模块(multi-headattention)对多个相同的嵌入向量进行多维注意力计算。

步骤s7033c,对多个注意力向量依次进行求和处理和归一化处理,得到第一特征向量。

这里,在求和处理和归一化处理时,还可以将嵌入向量与多个注意力向量共同进行求和处理和归一化处理,也就是说,求和处理和归一化处理的输入不仅包括多个注意力向量,还包括嵌入向量。

本申请实施例中,归一化处理的目的是,由于在上一步的多维注意力计算时进行了向量乘等计算,因此,最终输出的多个注意力向量中的元素的值均比较大,所以为了降低计算难度,并提高计算效率,可以进行一步归一化处理的步骤。这里的归一化处理可以是对注意力向量中的每个元素同时均除以一个相同的数字,例如这个相同的数字可以是100或1000,从而实现对注意力向量进行归一化处理。

在一些实施例中,上述至少两个解码器中至少包括音高解码器、能量解码器、节奏解码器和频谱解码器;对应地,音频属性特征至少包括音高特征、能量特征、节奏特征和频谱特征;基于图4,图8是本申请实施例提供的音频文件生成方法的一个可选的流程示意图,如图8所示,步骤s404至少可以通过以下步骤实现:

步骤s801,采用音高解码器对拼接特征向量进行音高特征的预测,得到音高特征。步骤s802,采用能量解码器对拼接特征向量进行能量特征的预测,得到能量特征。步骤s803,采用节奏解码器对拼接特征向量进行节奏特征的预测,得到节奏特征。步骤s804,采用频谱解码器对拼接特征向量进行频谱特征的预测,得到频谱特征。

对应地,步骤s405可以通过以下步骤实现:

步骤s805,根据音高特征、能量特征、节奏特征和频谱特征,生成包含有文本且具有目标对象的声音特性的音频文件。

本申请实施例中,音高解码器、能量解码器、节奏解码器和频谱解码器具有相同的网络结构;且音高解码器、能量解码器、节奏解码器和频谱解码器的网络结构内部的参数不同。

在一些实施例中,上述文本中包括至少两个段落,下面对文本中包括的多个段落依次进行音频片段的获取进行说明。

图9是本申请实施例提供的音频文件生成方法的一个可选的流程示意图,如图9所示,方法包括以下步骤:

步骤s901,接收音频文件生成请求,音频文件生成请求中包括文本和目标对象。

步骤s902,采用语音合成模型,对文本中的第一段落进行特征提取,得到第一段落的第一段落特征向量。这里,语音合成模型是预先训练的用于生成音频文件的模型。

步骤s903,采用语音合成模型,对目标对象进行特征提取,得到目标对象的第二特征向量。

步骤s904,对第一段落特征向量和第二特征向量进行拼接,形成段落拼接向量。

步骤s905,采用所述语音合成模型中的至少两个解码器,对段落拼接向量分别进行音频属性特征的预测,对应得到至少两个具有不同类型的段落音频属性特征。

步骤s906,根据至少两个所述段落音频属性特征,生成包含有第一段落且具有所述目标对象的声音特性的第一音频片段。

步骤s907,判断当前处理的段落是否是文本中的最后一个段落。

如果判断结果为是,则执行步骤s910;如果判断结果为否,则执行步骤s908。

本申请实施例中,依次将每一段落输入至语音合成模型中进行预测,得到每一段落对应地第一音频片段。

步骤s908,在获取到第一音频片段之后,确定第一音频片段对应的音高特征、能量特征、节奏特征和频谱特征。

步骤s909,将文本中第一段落之后的第二段落、和第一音频片段对应的音高特征、能量特征、节奏特征和频谱特征,输入至语音合成模型中,以通过语音合成模型生成包含有所述第二段落且具有所述目标对象的声音特性的第二音频片段。

本申请实施例中,在对第一个段落进行预测之后,在对下一个段落进行预测时,可以不仅基于下一个段落的文本信息和目标对象对应的信息,还可以将对第一个段落进行预测得到的第一音频片段的音高特征、能量特征、节奏特征和频谱特征等与声音特征相关的特征均作为下一个段落的预测依据,即将文本中第一段落之后的第二段落、和第一音频片段对应的音高特征、能量特征、节奏特征和频谱特征,均输入至语音合成模型中进行预测。

在获取到第二音频片段之后,返回步骤s907继续执行,如此循环往复,依次向语音合成模型中循环输入文本中的每一段落,以得到与每一段落对应的所述音频片段。

步骤s910,按照每一段落在文本中的先后顺序,对每一段落对应的音频片段进行拼接,形成音频文件。

这里,在得到每一段落对应的音频片段之后,将音频片段进行拼接,即得到与整个文本对应的音频文件。

本申请实施例提供的音频文件的生成方法,对文本进行划分得到多个段落,然后针对于每个段落进行预测,且在对第一个段落进行预测之后,会结合第一个段落的预测结果(即第一音频片段)来一起预测后续的每一个段落对应的音频片段,如此能够进一步提高预测音频片段的准确性,得到前后衔接更加自然的音频文件。

本申请实施例中,根据输入的文本和目标对象形成音频文件的过程可以由上述语音合成模型来实现,即可以将文本和目标对象输入至语音合成模型中,通过语音合成模型进行处理,得到最终的音频文本。本申请实施例提供一种语音合成模型的训练方法,图10是本申请实施例提供的语音合成模型的训练方法的一个可选的流程示意图,如图10所示,训练方法包括以下步骤:

步骤s101,将样本文本和样本对象输入至语音合成模型。

步骤s102,通过语音合成模型中的编码器,分别对样本文本和样本对象进行特征提取,对应得到样本文本的第一样本特征向量和样本对象的第二样本特征向量,并对第一样本特征向量和第二样本特征向量进行拼接得到样本拼接向量。

本申请实施例中,编码器是语音合成模型中的特征提取网络,即通过编码器可以对输入的样本数据进行特征提取。

步骤s103,通过语音合成模型中的至少两个解码器,对样本拼接向量分别进行音频属性特征的预测,对应得到至少两个具有不同类型的样本音频属性特征。

本申请实施例中,语音合成模型中可以具有多个解码器,每一解码器用于对一种类型的音频属性特征进行预测。

步骤s104,将每一样本音频属性特征输入至预设损失模型中,得到每一样本音频属性特征对应的损失结果。

这里,预设损失模型用于将样本音频属性特征与预设的音频属性特征进行比较,得到损失结果,其中,预设的音频属性特征可以是用户预先设置的与样本文本和样本对象对应的音频属性特征。

本申请实施例中,预设损失模型中包括损失函数,通过损失函数可以计算样本音频属性特征与预设的音频属性特征之间的相似度,并根据该相似度确定上述损失结果。当样本音频属性特征与预设的音频属性特征之间的相似度越小时,表明模型的训练结果与真实值的差距较大,需要进行进一步的训练;当样本音频属性特征与预设的音频属性特征之间的相似度越大时,表明模型的训练结果更加接近真实值。

步骤s105,根据每一样本音频属性特征对应的损失结果,对对应的每一解码器中的参数进行修正,直至每一解码器输出的样本音频属性特征满足预设条件时停止训练,以得到训练后的语音合成模型。

这里,当上述相似度小于预设阈值时,则损失结果表明当前的损失结果对应的一个解码器不能准确的对样本拼接向量进行音频属性特征的预测,例如,当该解码器是音高解码器时,当样本音高属性特征与预设的音高属性特征之间的相似度较小时,则表明音高解码器不能准确的对样本拼接向量进行音高特征的预测。因此,需要对该解码器中的参数进行修正,直至音高解码器输出的样本音高属性特征满足预设条件(即输出的样本音高属性特征与预设的音高属性特征之间的相似度大于阈值)时,停止对该样本音高编码器的训练。

需要说明的是,本申请实施例可以采用相同的方法对每一解码器进行分别训练,直至语音合成模型中的每一解码器均训练满足预设条件后停止训练,从而得到训练后的语音合成模型。

本申请实施例提供的语音合成模型的训练方法,由于将样本文本和样本对象输入至语音合成模型,依次通过编码器、至少两个解码器进行特征提取和音频属性特征的预测,得到至少两个具有不同类型的样本音频属性特征,并将每一样本音频属性特征输入至预设损失模型中,得到每一样本音频属性特征对应的损失结果。因此,能够根据损失结果对每一解码器中的参数进行修正,所得到的训练好的语音合成模型能够准确的预测出音频属性特征,从而得到更加满足用户需求的音频文件,提高用户的使用体验。

下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。

本申请实施例提供一种音频文件生成方法,可以基于给定任意文本,生成一段音乐,可以作为一个平台使用,如图11所示,是本申请实施例提供的音频文件生成产品的界面图,用户可以在输入框1101输入一段文本,并点击提交按钮1102,系统会自动生成一段音频文件1103,图11中的链接仅作为示例。当然,在另一些实施例中,也可以作为插件应用到其他产品的多个场景,如文本配乐、视频配乐和游戏音乐生成等。

对比相关技术将音高、能量、节奏等信息作为输入特征,本申请实施例的技术方案是将这些特征作为预测输出目标。图12是本申请实施例的音频文件生成的整体流程示意图,如图12所示,输入的信息包括文本1201和歌手1202,输入模块只需要文本、歌手可以指定某个歌手的声音。相比现有方案,这里不再需要额外的音高等信息。

编码器模块1203对于输入文本和歌手进行序列化建模。

解码器模块根据编码器模块1203的输出,分别有多个子编码器模块1204预测多个目标(例如,音高、能量、节奏和频谱图等),多个子解码器模块1204共享相同的网络结构,但是各自具有独立的参数。多个子解码器模块1204的目标分别计算损失结果(loss),之后更新模块内部的参数。

经过子解码器模块1204之后得到的输出包括音高1205、能量1206、节奏1207和频谱图1208(例如可以是mel-spectrogram),其中音高1205、能量1206、节奏1207是保证训练的结果。在预测阶段,只需要用到mel-spectrogram参与后续的预测。

声码器模块1209根据得到的mel-spectrogram结果来生成原始的声波/音频数据1210,因为这一步是比较通用,所以这里可以直接采用waveglow模型,并且在中文数据训练中得到。

在一些实施例中,对于上述编码器模块1203,编码器模块1203对于输入的文本和歌手进行序列化建模,图13a是本申请实施例提供的编码器模块的网络结构图,如图13a所示,编码器模块的网络操作包括:

首先,可以利用pypinyin工具将中文的文本转换为拼音,可以更好在发音(phoneme-level)层面建模文本。例如,对于输入的文本“轮回后重新再来”,可以转换为“lun2hui2hou4chong2xin1zai4lai2”,其中序列中的数字表示声调。得到音素的词表之后构建一个音素嵌入向量作为文本的参数表示。另外,也考虑到每个音素字符(可以是char型字符)的位置信息,每个音素字符有一个位置嵌入向量来表示该音素字符的位置信息。

本申请实施例中,对于转换之后的拼音序列1301和位置序列1302,经过各自的嵌入词典进行查找操作,并按位置进行相加处理1303,之后采用transformer结构1304进行序列化建模,得到文本的隐层表示t1(即第一特征向量)。

然后,对于输入的歌手信息,可以维护一个全局的歌手嵌入向量作为参数表示,经过查找操作之后得到歌手的隐层表示s1(即第二特征向量)。

再然后,将文本的隐层表示t1和歌手的隐层表示s1进行拼接,得到最终的编码器模块1203的输出h(即拼接特征向量)。

图13b是本申请实施例提供的transformer结构的示意图,如图13b所示,transformer结构包括多头注意力模块1321(multi-headattention)、求和和归一化模块1322(add&norm)

在一些实施例中,对于上述解码器模块1204,解码器模块根据编码器模块1203的输出h,分别有多个子解码器模块1204预测多个目标(例如,音高、能量、节奏和频谱图等),图14是本申请实施例提供的整体子解码器模块的网络结构图,如图14所示,子解码器模块1204的网络结构包括:输入模块1401,其中,输入模块输入的信息包括编码器模块1203的输出h和当前的已生成部分(包括音高、能量和节奏)、transformer结构1402(与编码器模块1203中的transformer结构1304结构相同)和输出模块1403。

接下来说明每个子解码器模块1204的目标(target):

对于音高子解码器模块来说,音高表示某段时间的频率高低,这里将音高可以映射到[-256,255]之间,目标音高根据目标波形计算得到。

对于能量子解码器模块来说,能量表示某段时间音频信号的强弱,一般声音越大,能量越高,在波形图中表示为振幅大小,这里同样将能量映射到[-256,255]之间,目标能量根据目标波形计算得到。

对于节奏子解码器模块来说,节奏表示某个音素标记(phonemetoken)对应的音频时长,这里的目标持续时长可以通过自动语音识别(asr,automaticspeechrecognition)对齐模型或者人工标注得到。

对于频谱子解码器模块来说,频谱表示某段时间音频在频域空间的数据,这里可以采用pythonlibrosa工具计算梅尔频谱(mel-spectrogram)作为频谱目标。

本申请实施例中,多个子解码器模块的目的是通过多目标的训练,可以在少量输入特征的情况下,更好的学习到编码器模块和解码器模块的表示,之后生成更好的频谱图,同时可以转换为更好的音乐。

本申请实施例的方法相比于相关技术中的方案,将音高等输入特征作为输出目标去预测,带来的好处是解决了预测阶段的泛化问题。原来技术方案需要显式提供这些特征,但是在缺少生成音频的情况下,比较难直接给出音高等特征。而本申请实施例的方案仅利用原始文本和指定某个歌手的信息即可生成对应的音乐。

需要说明的是,本申请实施例可以替代的模块主要有以下几个方面:编码器模块、解码器模块和声码器模块的模型结构、参数大小均可以根据实际使用需求进行调整。解码器模块的解码阶段还可以增加除了上述列出的例如音高、能量、节奏和频谱等之外的其他更多的目标来参与训练。声码器模块也可以去除,即可以直接在解码器模块的解码阶段预测波形格式的目标。

下面继续说明本申请实施例提供的音频文件生成装置354实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器350的音频文件生成装置354中的软件模块可以是服务器300中的音频文件生成装置,包括:

接收模块3541,用于接收音频文件生成请求,所述音频文件生成请求中包括文本和目标对象;特征提取模块3542,用于对所述文本和所述目标对象分别进行特征提取,对应得到所述文本的第一特征向量和所述目标对象的第二特征向量;拼接模块3543,用于对所述第一特征向量和所述第二特征向量进行拼接,形成拼接特征向量;预测模块3544,用于对所述拼接特征向量进行音频属性特征的预测,得到至少两个具有不同类型的音频属性特征;生成模块3545,用于根据至少两个所述音频属性特征,生成包含有所述文本且具有所述目标对象的声音特性的音频文件。

在一些实施例中,所述预测模块还用于采用至少两个解码器对所述拼接特征向量分别进行音频属性特征的预测,对应得到至少两个具有不同类型的所述音频属性特征;其中,每一解码器用于对一种类型的音频属性特征进行预测。

在一些实施例中,所述特征提取模块还用于:对所述文本依次进行音素转换处理和位置信息嵌入处理,得到所述文本的第一特征向量;对目标对象进行特征嵌入处理,得到用于表征所述目标对象的属性信息的所述第二特征向量。

在一些实施例中,所述特征提取模块还用于:对所述文本中的每一字依次进行所述音素转换处理,得到与所述文本对应的音素序列;获取所述音素序列中每一音素的位置信息,形成位置序列;采用所述位置序列,对所述音素序列中的每一音素进行所述位置信息嵌入处理,得到与所述音素序列对应的且用于表征所述文本的内容的所述第一特征向量。

在一些实施例中,所述特征提取模块还用于:在预设嵌入词典中查找所述音素序列中的每一音素对应的音素向量、和所述位置序列中的每一所述位置信息对应的位置向量;对每一音素的音素向量中的元素、和与所述音素对应的位置信息的位置向量中的对应元素进行求和,得到对每一音素嵌入所述位置信息后的嵌入向量;根据所述音素序列中的全部音素的所述嵌入向量,确定所述第一特征向量。

在一些实施例中,所述特征提取模块还用于:对所述嵌入向量进行至少一次复制,得到多个相同的嵌入向量;对所述多个相同的嵌入向量进行多维注意力计算,得到多个注意力向量;对所述多个注意力向量依次进行求和处理和归一化处理,得到所述第一特征向量。

在一些实施例中,所述至少两个解码器中至少包括音高解码器、能量解码器、节奏解码器和频谱解码器;对应地,所述音频属性特征至少包括音高特征、能量特征、节奏特征和频谱特征;所述预测模块还用于:采用所述音高解码器对所述拼接特征向量进行音高特征的预测,得到音高特征;采用所述能量解码器对所述拼接特征向量进行能量特征的预测,得到能量特征;采用所述节奏解码器对所述拼接特征向量进行节奏特征的预测,得到节奏特征;采用所述频谱解码器对所述拼接特征向量进行频谱特征的预测,得到频谱特征。

在一些实施例中,所述音高解码器、所述能量解码器、所述节奏解码器和所述频谱解码器具有相同的网络结构;且所述音高解码器、所述能量解码器、所述节奏解码器和所述频谱解码器的网络结构内部的参数不同。

在一些实施例中,所述文本包括至少两个段落;所述装置还包括:段落输入模块,用于依次向预先训练的语音合成模型中输入所述文本中的每一段落,以得到与每一段落对应的音频片段;音频片段拼接模块,用于按照每一段落在所述文本中的先后顺序,对每一段落对应的音频片段进行拼接,形成所述音频文件。

在一些实施例中,所述段落输入模块还用于:采用所述语音合成模型,对所述文本中的第一段落进行特征提取,得到所述第一段落的第一段落特征向量;采用所述语音合成模型,对所述第一段落特征向量和所述第二特征向量进行所述音频属性特征的预测,对应得到至少两个具有不同类型的段落音频属性特征;且根据至少两个所述段落音频属性特征,生成包含有所述第一段落且具有所述目标对象的声音特性的第一音频片段;在获取到所述第一音频片段之后,确定所述第一音频片段对应的音高特征、能量特征、节奏特征和频谱特征;将所述文本中所述第一段落之后的第二段落、和所述第一音频片段对应的音高特征、能量特征、节奏特征和频谱特征,输入至所述语音合成模型中,以通过所述语音合成模型生成包含有所述第二段落且具有所述目标对象的声音特性的第二音频片段;以此类推,依次向所述语音合成模型中循环输入所述文本中的每一段落,以得到与每一段落对应的所述音频片段。

在一些实施例中,所述语音合成模型通过以下步骤训练:将样本文本和样本对象输入至所述语音合成模型;通过所述语音合成模型中的编码器,分别对所述样本文本和所述样本对象进行特征提取,对应得到所述样本文本的第一样本特征向量和所述样本对象的第二样本特征向量,并对所述第一样本特征向量和所述第二样本特征向量进行拼接得到样本拼接向量;通过所述语音合成模型中的至少两个解码器,对所述样本拼接向量分别进行音频属性特征的预测,对应得到至少两个具有不同类型的样本音频属性特征;将每一所述样本音频属性特征输入至预设损失模型中,得到每一所述样本音频属性特征对应的损失结果;根据每一所述样本音频属性特征对应的损失结果,对对应的每一解码器中的参数进行修正,直至每一所述解码器输出的所述样本音频属性特征满足预设条件时停止训练,以得到训练后的语音合成模型。

需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的方法。

本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图4示出的方法。

在一些实施例中,存储介质可以是计算机可读存储介质,例如,铁电存储器(fram,ferromagneticrandomaccessmemory)、只读存储器(rom,readonlymemory)、可编程只读存储器(prom,programmablereadonlymemory)、可擦除可编程只读存储器(eprom,erasableprogrammablereadonlymemory)、带电可擦可编程只读存储器(eeprom,electricallyerasableprogrammablereadonlymemory)、闪存、磁表面存储器、光盘、或光盘只读存储器(cd-rom,compactdisk-readonlymemory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。

在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。

作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hypertextmarkuplanguage)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。

以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips