一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于文本生成音频的方法、设备和存储介质与流程

2021-07-30 17:59:00 来源:中国专利 TAG:生成 文本 音频 特别 计算机
基于文本生成音频的方法、设备和存储介质与流程

本申请涉及计算机技术领域,特别涉及一种基于文本生成音频的方法、设备和存储介质。



背景技术:

对于人们来说,以前是通过眼睛来读取小说、资讯等文本中的内容,随着科技的发展,可以根据文本生成对应的朗读音频,从而使用户可以在终端上直接播放朗读音频来收听文本中的内容。

在生成朗读音频的处理过程中,首先需要根据文本中的每一个字的发音来生成每一个字对应的音频,然后将每个字对应的音频组合为一整段朗读音频。而这种朗读音频并没有根据文本中的内容进行相应的有感情地朗读,只是机械地将文本中的文字一个个地读出来,这样会导致用户听觉体验较差。



技术实现要素:

本申请实施例提供了一种基于文本生成音频的方法,能够解决现有技术中朗读音频的情感属性单一,导致用户听觉体验较差的问题。

第一方面,提供了一种基于文本生成音频的方法,所述方法包括:

确定目标文本中的每个文本句对应的情绪类型信息;

确定所述目标文本中每个文本句对应的发音属性信息;

将每个文本句对应的情绪类型信息和发音属性信息输入预先训练完成的音频合成模型中,得到每个所述文本句对应的朗读音频段;

按照每个文本句在所述目标文本中的排列顺序,对每个文本句对应的朗读音频段进行拼接,得到所述目标文本对应的朗读音频。

在一种可能的实现方式中,所述确定目标文本中的每个文本句对应的情绪类型信息,包括:

在所述目标文本中确定每个文本句对应的关联上下文,其中,所述文本句对应的关联上下文由所述文本句对应的至少一个关联文本句组成;

若确定出文本句对应的关联上下文,基于所述文本句和所述文本句对应的关联上下文组成的文本段落确定所述文本句的特征信息;若未确定出文本句对应的关联上下文,基于所述文本句确定所述文本句的特征信息;

将每个所述文本句的特征信息输入预先训练好的情绪识别模型,得到所述文本句对应的情绪类型信息,其中所述情绪识别模型由第一样本文本集合训练得到,所述第一样本文本集合包括样本文本句的特征信息以及所述样本文本句对应的情绪类型标签。

在一种可能的实现方式中,所述发音属性信息包括发音单元信息、分词信息、韵律信息中的至少一种信息。

在一种可能的实现方式中,所述音频合成模型包括频谱合成模型和声码器;

所述将每个文本句对应的情绪类型信息和发音属性信息输入预先训练完成的音频合成模型中,得到每个所述文本句对应的朗读音频段,包括:

将所述每个文本句对应的情绪类型信息和发音属性信息输入所述预先训练完成的频谱合成模型,得到所述每个文本句对应的梅尔频谱序列;其中频谱合成模型由第二样本文本集合训练得到,所述第二样本文本集合包括样本文本句的情绪类型信息和发音属性信息以及所述样本文本句对应的梅尔频谱序列标签;

将每个文本句对应的梅尔频谱序列输入所述声码器,生成每个文本句对应的朗读音频段。

在一种可能的实现方式中,所述频谱合成模型包括情绪特征提取模块、发音特征提取模块、注意力网络模块和解码网络模块;

所述将所述每个文本句对应的情绪类型信息和发音属性信息输入所述预先训练完成的频谱合成模型,得到所述每个文本句对应的梅尔频谱序列,包括:

将每个所述文本句的情绪类型信息输入预先训练好的所述情绪特征提取模块,得到情绪特征向量;将每个所述文本句的发音属性信息输入预先训练好的所述发音特征提取模块,得到发音特征向量;

将每个所述文本句对应的所述情绪特征向量和所述发音特征向量进行拼接后输入所述注意力网络模块,得到权重系数矩阵;将每个所述文本句的权重系数矩阵输入所述解码网络模块,得到每个所述文本句对应的梅尔频谱序列。

在一种可能的实现方式中,所述情绪特征提取模块包括vae(variationalauto-encoder,变分自编码器)子模块和全连接网络子模块,所述发音特征提取模块包括pre-net(预处理网络)子模块和cbhg(1-dconvolutionbank highwaynetwork bidirectionalgru,包含一维卷积和双向门控循环单元的序列特征提取网络)子模块。

在一种可能的实现方式中,所述频谱合成模型还包括post-net(后处理网络)模块;

在所述将每个所述文本句的权重系数矩阵输入所述解码网络模块之后,所述方法还包括:

获得所述解码网络模块输出的所述文本句对应的初始梅尔频谱序列;

将所述初始梅尔频谱序列输入所述post-net子模块得到梅尔频谱修正信息;

使用所述梅尔频谱修正信息对所述初始梅尔频谱序列进行修正,得到所述文本句对应的梅尔频谱序列。

在一种可能的实现方式中,所述音频合成模型包括多个,则得到的所述文本句对应的朗读音频段为多组,且多组所述文本句的朗读音频段拼接得到的目标文本的朗读音频为多个;

不同的音频合成模型对应不同的朗读者类型,则各个所述音频合成模型输出的一组朗读音频段与所述音频合成模型的朗读者类型具有对应关系,且所述一组朗读音频段拼接得到的朗读音频与所述朗读者类型具有对应关系;

所述得到所述目标文本对应的朗读音频之后,还包括:

将各个所述目标文本的朗读音频与所述朗读音频的朗读者类型进行对应存储。

在一种可能的实现方式中,所述将各个所述目标文本的朗读音频与所述朗读音频的朗读者类型进行对应存储之后,还包括:

接收终端发送的所述目标文本对应的朗读音频获取请求,其中,所述朗读音频获取请求中携带有目标朗读者类型;

将所述目标朗读者类型对应的所述朗读音频返回所述终端。

在一种可能的实现方式中,所述朗读者类型包括:对话的第一朗读者类型和旁白的第二朗读者类型;且第一朗读者类型与第一音频合成模型对应,第二朗读者类型与第二音频合成模型对应;

所述将每个文本句对应的情绪类型信息和发音属性信息输入预先训练完成的音频合成模型中,得到每个所述文本句对应的朗读音频段,包括:

根据所述目标文本中的标点符号确定每个文本句的文本类型,其中所述文本类型为对话或旁白;

对于文本类型为对话的文本句,将所述文本句对应的情绪类型信息和发音属性信息输入所述第一音频合成模型,生成所述文本句对应的朗读音频段;

对于文本类型为旁白的文本句,将所述文本句对应的情绪类型信息和发音属性信息根据所述第二音频合成模型,生成所述文本句对应的朗读音频段。

第二方面,提供一种基于文本生成音频的装置,所述装置包括:

第一确定模块,用于确定目标文本中的每个文本句对应的情绪类型信息;

第二确定模块,用于确定所述目标文本中每个文本句对应的发音属性信息;

第一生成模块,用于将每个文本句对应的情绪类型信息和发音属性信息输入预先训练完成的音频合成模型中,得到每个所述文本句对应的朗读音频段;

第二生成模块,用于按照每个文本句在所述目标文本中的排列顺序,对每个文本句对应的朗读音频段进行拼接,得到所述目标文本对应的朗读音频。

在一种可能的实现方式中,所述第一确定模块,用于:

在所述目标文本中确定每个文本句对应的关联上下文,其中,所述文本句对应的关联上下文由所述文本句对应的至少一个关联文本句组成;

若确定出文本句对应的关联上下文,基于所述文本句和所述文本句对应的关联上下文组成的文本段落确定所述文本句的特征信息;若未确定出文本句对应的关联上下文,基于所述文本句确定所述文本句的特征信息;

将每个所述文本句的特征信息输入预先训练好的情绪识别模型,得到所述文本句对应的情绪类型信息,其中所述情绪识别模型由第一样本文本集合训练得到,所述第一样本文本集合包括样本文本句的特征信息以及所述样本文本句对应的情绪类型标签。

在一种可能的实现方式中,所述发音属性信息包括发音单元信息、分词信息、韵律信息中的至少一种信息。

在一种可能的实现方式中,所述音频合成模型包括频谱合成模型和声码器;

所述第一生成模块,用于:

将所述每个文本句对应的情绪类型信息和发音属性信息输入所述预先训练完成的频谱合成模型,得到所述每个文本句对应的梅尔频谱序列;其中频谱合成模型由第二样本文本集合训练得到,所述第二样本文本集合包括样本文本句的情绪类型信息和发音属性信息以及所述样本文本句对应的梅尔频谱序列标签;

将每个文本句对应的梅尔频谱序列输入所述声码器,生成每个文本句对应的朗读音频段。

在一种可能的实现方式中,所述频谱合成模型包括情绪特征提取模块、发音特征提取模块、注意力网络模块和解码网络模块;

所述第一生成模块,用于:

将每个所述文本句的情绪类型信息输入预先训练好的所述情绪特征提取模块,得到情绪特征向量;将每个所述文本句的发音属性信息输入预先训练好的所述发音特征提取模块,得到发音特征向量;

将每个所述文本句对应的所述情绪特征向量和所述发音特征向量进行拼接后输入所述注意力网络模块,得到权重系数矩阵;将每个所述文本句的权重系数矩阵输入所述解码网络模块,得到每个所述文本句对应的梅尔频谱序列。

在一种可能的实现方式中,所述情绪特征提取模块包括vae子模块和全连接网络子模块,所述发音特征提取模块包括pre-net子模块和cbhg子模块。

在一种可能的实现方式中,所述频谱合成模型还包括post-net模块;

所述第一生成模块,还用于:

获取模块,用于获得所述解码网络模块输出的所述文本句对应的初始梅尔频谱序列;

将所述初始梅尔频谱序列输入所述post-net子模块得到梅尔频谱修正信息;

使用所述梅尔频谱修正信息对所述初始梅尔频谱序列进行修正,得到所述文本句对应的梅尔频谱序列。

在一种可能的实现方式中,所述音频合成模型包括多个,则得到的所述文本句对应的朗读音频段为多组,且多组所述文本句的朗读音频段拼接得到的目标文本的朗读音频为多个;

不同的音频合成模型对应不同的朗读者类型,则各个所述音频合成模型输出的一组朗读音频段与所述音频合成模型的朗读者类型具有对应关系,且所述一组朗读音频段拼接得到的朗读音频与所述朗读者类型具有对应关系;

所述装置,还包括:

存储模块,用于将各个所述目标文本的朗读音频与所述朗读音频的朗读者类型进行对应存储。

在一种可能的实现方式中,所述装置,还包括:

接收模块,用于接收终端发送的所述目标文本对应的朗读音频获取请求,其中,所述朗读音频获取请求中携带有目标朗读者类型;

发送模块,用于将所述目标朗读者类型对应的所述朗读音频返回所述终端。

在一种可能的实现方式中,所述朗读者类型包括:对话的第一朗读者类型和旁白的第二朗读者类型;且第一朗读者类型与第一音频合成模型对应,第二朗读者类型与第二音频合成模型对应;

所述第一生成模块,用于:

根据所述目标文本中的标点符号确定每个文本句的文本类型,其中所述文本类型为对话或旁白;

对于文本类型为对话的文本句,将所述文本句对应的情绪类型信息和发音属性信息输入所述第一音频合成模型,生成所述文本句对应的朗读音频段;

对于文本类型为旁白的文本句,将所述文本句对应的情绪类型信息和发音属性信息根据所述第二音频合成模型,生成所述文本句对应的朗读音频段。

第三方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,存储器中存储有至少一条指令,指令由处理器加载并执行以实现基于文本生成音频的方法所执行的操作。

第四方面,提供了一种计算机可读存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行以实现基于文本生成音频的方法所执行的操作。

本申请实施例提供的技术方案带来的有益效果是:本申请实施例可以根据确定出的目标文本中的每个文本句对应的情绪类型信息和发音属性信息以及音频合成模型,生成每个文本句对应的朗读音频段,从而生成目标文本对应的朗读音频,可见在生成朗读音频时融入了与情绪相关的信息,使得这种朗读音频具有感情色彩,可以提高用户的听觉体验。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种基于文本生成音频的方法流程图;

图2是本申请实施例提供的一种发音单元信息的示意图;

图3是本申请实施例提供的一种分词信息的示意图;

图4是本申请实施例提供的一种韵律信息的示意图;

图5是本申请实施例提供的一种发音属性信息的示意图;

图6是本申请实施例提供的一种频谱合成模型的结构示意图;

图7是本申请实施例提供的一种基于文本生成音频的装置的结构示意图;

图8是本申请实施例提供的一种服务器的结构框图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

本申请实施例提供了一种基于文本生成音频的方法,该方法可以由服务器实现。服务器可以是单个服务器或者也可以是多个服务器组成的服务器集群。

服务器可以是网站或者应用程序的后台服务器等,例如,可以是与小说、新闻、资讯等有关的网站或者应用程序。服务器可以包括处理器、存储器、通信部件等,处理器分别与存储器、通信部件连接。

处理器可以是cpu(centralprocessingunit,中央处理器)。处理器可以用于读取指令和对数据进行处理,例如,确定目标文本中的每个文本句对应的情绪类型信息的处理过程、确定目标文本中每个文本句对应的发音属性信息的处理过程、生成朗读音频段的处理过程,等等。

存储器可以包括rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、cd-rom(compactdiscread-onlymemory,光盘只读存储器)、磁盘、光数据存储设备等。存储器可以用于数据存储,例如,对获取到的目标文本的数据存储、预先存储的朗读者类型与频谱合成模型的对应关系的数据存储、在生成朗读音频的处理过程中生成的中间数据存储,等等。

通信部件可以是有线网络连接器、wifi(wirelessfidelity,无线保真)模块、蓝牙模块、蜂巢网通信模块等。通信部件可以用于接收和发送信号,例如,接收终端发送的目标文本对应的朗读音频获取请求、向终端发送朗读音频,等等。

图1是本申请实施例提供的一种基于文本生成音频的方法的流程图。参见图1,该实施例包括:

101、确定目标文本中的每个文本句对应的情绪类型信息。

其中,情绪类型信息为文本句所表达出的情绪,例如,生气、开心、惊讶、悲伤、害怕、厌烦、撒娇、羡慕等等。

在实施中,目标文本可以是一些应用程序上未公布的资讯或者小说等文本信息,或者已经公布文本内容的资讯或小说等文本信息,想要将这些文本信息对应的朗读音频在应用程序上进行公布,首先需要生成这些文本信息对应的朗读音频。

首先要获取后台服务器中已经公布或者未公布的资讯或小说作为目标文本。然后,可以通过目标文本中的各种标点符号将目标文本划分为多个文本句,例如,通过句号、感叹号、问号、省略号等标点符号,将目标文本划分为多个文本句。技术人员可以通过获取到的目标文本中的文本句和情绪识别模型,得到每个文本句对应的情绪类型信息。

在目标文本中,一些文本句可能本身并不带有任何情绪属性,为了实现之后的朗读音频中该文本句对应的朗读音频段是衔接上下文、有感情的音频,可以借助该文本句的关联上下文来判定该文本句对应的情绪类型信息,对应的处理过程可以如下:

在目标文本中确定每个文本句对应的关联上下文,其中,文本句对应的关联上下文由文本句对应的至少一个关联文本句组成。若确定出文本句对应的关联上下文,基于文本句和文本句对应的关联上下文组成的文本段落确定文本句的特征信息。若未确定出文本句对应的关联上下文,基于文本句确定文本句的特征信息;将每个文本句的特征信息输入预先训练好的情绪识别模型,得到文本句对应的情绪类型信息。

其中,关联文本句是与文本句相邻的前面几个文本句和后面几个文本句中的一个,文本句对应的关联上下文是与文本句相邻的一个或者多个关联文本句,在文本句与其对应的所有关联文本句组成的文本段落中,任意两句之间并不存在除了文本句和关联文本句之外的文本句。

在实施中,可以通过自然语言处理技术,先确定出目标文本中每个文本句对应的关联上下文,可以将目标文本根据段落进行划分,然后将每个段落分别输入到自然语言处理技术中的文本分析工具中,然后得到段落中的每个文本句对应的关联上下文,再根据情绪识别模型、每个文本句和对应的关联上下文,得到每个文本句对应的情绪类型信息。而对于没有关联上下文的文本句,可以通过文本句和情绪识别模型,得到每个文本句对应的情绪类型信息。

对于文本句的关联上下文,技术人员可以预先设置关联上下文的关联文本句数目阈值,一个文本句前后都可能存在相邻的关联文本句,前后关联文本句的个数分别都可以为该数目阈值,因此一个文本句的关联上下文最多可以包括两倍该数目阈值个数的关联文本句,例如,关联文本句数目阈值为3,则一个文本句的关联上下文最多为六句,即为该文本句的前面三个关联文本句和后面三个关联文本句,本实施例对关联文本句数目阈值的设定不做限定。

对于确定每个文本句对应的关联上下文的方法,在设置了关联文本句数目阈值后,可以根据自然语言处理技术中的各种文本分析工具进行确定,以下以其中三种为例,对应的方法可以如下:

第一种,可以通过词性标注的方法来确定文本句的关联上下文。对文本句中的每个词语进行词性标注,然后根据预先设定的词性要求,判断文本句的关联上下文,例如,根据名词、动词、形容词等词性对文本句中的每个词语进行分类。然后可以根据与文本句前后相邻的词语的词性,来判断其是否为有效的关联上下文。例如,如果文本句的文本类型为对话,那么在该文本句之前的一个句子的最后一个词语与该文本句相邻,且该词语为动词的话,则将该文本句的前一个句子定义为关联上下文,因为一句对话的前一个词语为动词,则该文本句的前一句极有可能为“某某人说/回答/答复”(“说/回答/答复”这一词语的词性为动词),所以“某某人说/回答/答复”这一句可以定义为该文本句的关联文本句。或者,再例如,当文本句为对话中的一句话,而文本句的后一句为同样一段对话中的一句话,则可以将文本句的后一句判定为该文本句的一个关联文本句,等等。此方法中的判定设定可以有多种,在此不再一一列举。当判断出了文本句的前一句为文本句的关联文本句后,可以继续判断该关联文本句的前一句是否符合要求,若符合要求,则该句也为文本句的关联文本句,依次判断,直到将满足关联文本句数目阈值的句子都判断过,将满足要求的文本句确定为关联文本句,这些关联文本句即为文本句的关联上下文。

第二种,可以通过规则模板的方法来确定文本句的关联上下文。规则模板为已经确定好的常用的语句,如果出现规则模板中的对话模式,则将规则模板中的除了文本句以外的句子定义为该文本句的关联文本句,依次判断,直到将满足关联文本句数目阈值的句子都判断过,将满足要求的文本句确定为关联文本句,这些关联文本句即为文本句的关联上下文。例如,“他激动地说”、“他说到”、“他说”等句子后面如果接了一句对话,则这句话就可以为对话的关联上下文。规则模板的形式多种多样,在此不一一列举,本实施例对此不做限定。

第三种,可以通过情感分析工具的方法来确定文本句的关联上下文,例如,情感分析工具可以为中文情感分析库等。中文情感分析库可以确定出目标文本中的带有明显感情属性的词语,例如,激动、高兴、悲伤、哭泣等词语。对满足关联文本句数目阈值的句子进行判定,确定出其中带有明显情感属性的词语,将距离文本句最近的一个带有明显情感属性词语所在的句子、以及其与文本句之间的句子,判定为该文本句的关联上下文。

对于确定文本句对应的上联上下文的处理过程,可以使用上述方式中的其中一种,也可以是上述多种方式一起使用,例如,当需要确定文本句的关联上下文时,可以先通过词性标注的方式进行确定,若可以确定出文本句的关联上下文,则可以继续进行后续步骤,若不能确定出,则可以通过规则模板的方式进行确定,同样的,若可以确定出文本句的关联上下文,则继续后续步骤,若不能确定出,则可以通过情感分析工具的方式进行确定,若可以确定,则继续后续步骤,若不能,则表示该文本句并没有关联上下文。这种多种方式一起使用的方法,并不局限于上述三种方式,也并不局限于多种方式的使用顺序,可以根据实际情况进行设置,本实施例对此不做限定。

在对文本句的关联上下文进行了确定之后,对于确定出了关联上下文的文本句,可以将文本句和对应的关联上下文按照在目标文本中的排列组成文本段落,将其输入到训练好的特征提取模型中,可以得到该文本段落对应的特征信息,例如,该特征提取模型可以为自然语言处理技术中的bert(bidirectionalencoderrepresentationsfromtransformers,基于转换器的双向编码表征)模型,将文本句和对应的关联上下文组成的文本段落输入到bert模型中,可以得到该文本段落对应的特征向量,即为特征信息。然后将该文本段落的特征信息,输入到训练好的情绪识别模型中,可以得到该文本段落对应的情绪类型信息,将其设定为该文本句对应的情绪类型信息。

而对于未确定出关联上下文的文本句,可以直接将该文本句输入到训练好的特征提取模型中,该特征提取模型也可以为bert模型,然后可以得到文本句对应的特征信息,将文本句对应的特征信息输入到训练好的情绪识别模型中,可以得到该文本句对应的情绪类型信息。

可选的,本申请实施例中的情绪识别模型可以由第一样本文本集合训练得到,样本文本集合包括样本文本句的特征信息以及样本文本句对应的情绪类型标签。

在实施中,在对情绪识别模型进行训练时,每次可以从第一样本文本集合中选取一个样本文本句的特征信息以及该样本文本句对应的情绪类型标签。

第一样本文本集合中的样本文本句的特征信息以及该样本文本句对应的情绪类型标签是由多个样本文本得到的。在样本文本中确定该样本文本中的每个样本文本句对应的关联上下文,如果确定出样本文本句对应的关联上下文,则将样本文本句和对应的关联上下文组成的样本文本段落输入到训练好的特征提取模型中,可以得到样本文本段落的特征信息,即作为该样本文本句的特征信息;如果没有确定出样本文本句对应的关联上下文,则直接将样本文本句输入到训练好的特征提取模型中,可以得到样本文本句的特征信息。

将样本文本句的特征信息输入到待训练的情绪识别模型中,输出该样本文本句对应的预测情绪类型信息,基于该样本文本句对应的预测情绪类型信息和提前获取到的样本文本句对应的情绪类型标签,对待训练的情绪识别模型进行调参,当损失值小于预设阈值时,则将调参后的情绪识别模型确定为训练好的情绪识别模型,若损失值未小于预设阈值,则继续由第一样本文本集合中获取一个样本文本句的特征信息和对应的情绪类型标签,继续对待训练的情绪识别模型进行调参。

102、确定目标文本中每个文本句对应的发音属性信息。

在实施中,可以通过自然语言处理技术,确定出目标文本中的发音属性信息。发音属性信息可以包括单个信息,也可以包括多个信息,可以将每个文本句分别输入到自然语言处理技术中的对应的机器学习模型中,然后得到不同的机器学习模型对应的信息,将多个输出的信息组合起来,可以得到文本句对应的发音属性信息。

可选的,发音属性信息包括发音单元信息、分词信息、韵律信息中的至少一种信息。

在实施中,发音属性信息可以包含一种,也可以包含多种。本实施例中的发音属性信息可以包括发音单元信息、分词信息和韵律信息中的至少一种信息。当需要确定文本句的发音单元信息时,可以将该文本句输入到自然语言处理技术的发音单元模型中,得到该文本句对应的发音单元信息,该发音单元信息可以包括文本句中每个字的拼音、音素或英文的音标等等。当需要确定文本句的分词信息时,可以将该文本句输入到自然语言处理技术的分词模型中,得到该文本句对应的分词信息,该分词信息包含了文本句中对应的每个词语的划分。当需要确定文本句的韵律信息时,可以将该文本句输入到自然语言处理技术的韵律模型中,得到该文本句对应的韵律信息,该韵律信息中包含了文本句中每两个相邻词语之间的停顿时间信息。然后将得到的多种信息组合起来,得到该文本句对应的发音属性信息。

例如,文本句为“今天真好。”,将其输入到发音单元模型中,可以得到如图2所示的发音单元向量,即该文本句对应的发音单元信息,在该发音单元向量中的第一列元素为文本句中每个字的拼音,该拼音分为元音和辅音排列,第二列元素为拼音的声调,“今”、“天”、“真”均为一声,“好”为三声,标点符号“。”对应的元素为0。

将文本句“今天真好。”输入到分词模型中,可以得到如图3所示的分词向量,即分词信息,在该分词向量中,第一列元素为该文本句中每个字对应的拼音,第二列为分词信息,“今天真好”进行分词可以分为两个词语,即“今天”和“真好”,对于有多个字的词语,词语的第一个字的拼音对应于“b”,最后一个字的拼音对应于“e”,若为三个字的词语则第二个字的拼音对应于“m”,若为四个字的词语则第三个字可以对应于“n”,等等,对于单独一个字的情况,可以将第二列对应的元素设置为“s”,标点符号对应的第二列的元素也可以设置为“s”。

将文本句“今天真好。”输入到韵律模块中,可以得到如图4所示的韵律向量,即韵律信息,在该韵律向量中,第一列元素为该文本句中每个字对应的拼音,第二列元素为每两个相邻词语之间的停顿时间级数,可以在两个相邻词语中的前一个词语的最后一个字对应的所有拼音元素的同一行对应的第二列的元素上显示两个词语之间的停顿时间级数,当然,这里也可以做其他的设定,本实施例对此不做限定,该停顿时间级数只是代表一个停顿时间的预测值,在生成朗读音频段中不一定严格按照该停顿时间级数代表的停顿时间来生成,例如,“1”可以代表20ms,“2”可以代表45ms,“3”可以代表75ms等等,文本句中第一个词没有上一个词,所以其拼音对应的停顿时间都为0,而“今天”和“真好”两个词之间的停顿时间为1,即可以为20ms,则可以在“天”的“t”、“i”和“an”对应的同一行的第二列的元素上显示“1”,而“今”、“真”和“好”对应的第二列的元素仍为0,在标点符号对应的同一行的第二列的元素上显示的是该文本句对应的静音停顿时间,标点符号在文本句中文字前的,代表从没有声音到有声音的时间,标点符号在文本句中文字后的,代表从有声音到没有声音的时间。

对于文本句为“今天真好”,确定了以上三种发音属性信息后,可以将其组合成如图5所示的矩阵,矩阵中的第一行和最后一行代表了静音停顿时间级数,第一行的静音停顿时间级数代表的是从没有声音到有声音的时间,最后一行的静音停顿时间级数代表的是从有声音到没有声音的时间。

103、将每个文本句对应的情绪类型信息和发音属性信息输入预先训练完成的音频合成模型中,得到每个文本句对应的朗读音频段。

在实施中,在确定了文本句对应的情绪类型信息和发音属性信息后,可以将发音属性信息和情绪类型信息组成为一个矩阵,输入到训练完成的音频合成模型中,从而得到该文本句对应的朗读音频段。该朗读音频段是基于发音属性信息和情绪类型信息这两种因素生成的,在生成朗读音频段时融入了与情绪相关的信息,因此,该朗读音频段在人耳听觉来说,是具有感情因素的、抑扬顿挫的音频。

可选的,音频合成模型可以包括频谱合成模型和声码器,则对应的音频合成模型的处理可以如下:

将每个文本句对应的情绪类型信息和发音属性信息输入预先训练完成的频谱合成模型,得到每个文本句对应的梅尔频谱序列。将每个文本句对应的梅尔频谱序列输入声码器,生成每个文本句对应的朗读音频段。

在实施中,可以在将文本句对应的情绪类型信息和发音属性信息组合成矩阵后,输入到训练完成的频谱合成模型中,然后频谱合成模型会输出该文本句对应的梅尔频谱序列,该梅尔频谱序列中包含着多个不同时刻对应的音频信号数据,但该梅尔频谱序列并不能直接用于播放,所以将得到的文本句对应的梅尔频谱序列输入到声码器中,声码器将输入的梅尔频谱序列由频域转化为时域,输出音频信号序列,然后可以对该音频信号序列进行封装等操作,得到该文本句对应的朗读音频段。

104、按照每个文本句在目标文本中的排列顺序,对每个文本句对应的朗读音频段进行拼接,得到目标文本对应的朗读音频。

在实施中,得到了目标文本中的每个文本句对应的朗读音频段之后,可以根据每个文本句在目标文本中的排列顺序,将朗读音频段拼接起来,得到整个目标文本对应的朗读音频,然后可以将目标文本与朗读音频对应存储起来。

用户可以在终端上打开应用程序,然后在应用程序的界面上选择想要阅读的资讯或者小说等,即目标文本,打开目标文本对应的阅读界面,可以在阅读界面上选择朗读选项,在用户确定播放后,终端会向应用程序的后台服务器发送目标文本对应的朗读音频获取请求,当服务器接收到终端发送的目标文本对应的朗读音频获取请求后,可以根据朗读音频获取请求中携带的目标文本标识,在数据库中调取该目标文本对应的朗读音频,发送给用户的终端,终端上的应用程序将该朗读音频播放给用户。

可选的,目标文本的朗读音频还可以有多种音色的选择,对应不同音色有不同的朗读者类型,例如,可以有男音色和女音色,男音色还可以分为青年音、大叔音和正太音等等,同样的,女音色还可以分为青年音、御姐音和萝莉音等等。对于有多种朗读者类型可选择的目标文本来说,生成对应的朗读音频的步骤中,步骤101-102均相同,需要确定出目标文本对应的情绪类型信息和发音属性信息,在确定出情绪类型信息和发音属性信息后,步骤103可以对应如下:

对应不同的朗读者类型,可以设置同一音频合成模型。在通过目标文本生成对应的朗读音频之前,需要先确定想要将目标文本生成哪种音色的朗读音频,即确定好目标文本对应的目标朗读者类型。在确定了文本句对应的情绪类型信息和发音属性信息后,还可以确定目标朗读者类型,将情绪类型信息、发音属性信息和目标朗读者类型信息输入到音频合成模型中,从而得到文本句对应的朗读者音频段。

对于不同的朗读者类型,还可以设置不同的音频合成模型,一种朗读者类型对应一个音频合成模型,对应的处理过程可以如下:

音频合成模型包括多个,则得到的文本句对应的朗读音频段为多组,且多组文本句的朗读音频段拼接得到的目标文本的朗读音频为多个。不同的音频合成模型对应不同的朗读者类型,则各个音频合成模型输出的一组朗读音频段与音频合成模型的朗读者类型具有对应关系,且一组朗读音频段拼接得到的朗读音频与朗读者类型具有对应关系。

在实施中,技术人员可以预先将每个朗读者类型和对应的音频合成模型的对应关系进行存储,在确定了文本句对应的情绪类型信息和发音属性信息后,确定该文本句对应的目标朗读者类型,然后根据该目标朗读者类型和预先存储的对应关系,确定对应的音频合成模型,然后将该文本句对应的情绪类型信息和发音属性信息输入到该音频合成模型中,生成该文本句对应的朗读音频段。

可选的,除了可以生成不同音色的朗读音频外,还可以将目标文本分为旁白和对话两种类型,这两种类型分别用不同的音色来朗读,从而可以为用户提供更好的听觉体验,对应的处理过程可以如下:

朗读者类型,包括:对话的第一朗读者类型和旁白的第二朗读者类型,且第一朗读者类型与第一音频合成模型对应,第二朗读者类型与第二音频合成模型对应。

在实施中,首先需要确定目标文本中的对话和旁白分别用哪一种音色进行朗读,即确定对话和旁白分别对应的朗读者类型,即确定对话对应的第一朗读者类型和旁白对应的第二朗读者类型,然后根据预先存储的朗读者类型与音频合成模型的对应关系,确定出对话和旁白分别对应的音频合成模型,即对话对应的第一音频合成模型和旁白对应的第二音频合成模型。例如,确定目标文本中对话的第一朗读者类型为男音色中的大叔音,旁白的第二朗读者类型为女音色中的萝莉音之后,在确定音频合成模型时,可以根据预先存储的朗读者类型与音频合成模型的对应关系,确定出对话的第一音频合成模型为男音色中的大叔音对应的音频合成模型,确定出旁白的第二音频合成模型为女音色中的萝莉音对应的音频合成模型。

对于将目标文本分为对话和旁白两种朗读者类型的情况来说,生成文本句对应的朗读音频段的处理过程可以如下:

根据目标文本中的标点符号确定每个文本句的文本类型,其中文本类型为对话或旁白。对于文本类型为对话的文本句,将文本句对应的情绪类型信息和发音属性信息输入第一音频合成模型,生成文本句对应的朗读音频段。对于文本类型为旁白的文本句,将文本句对应的情绪类型信息和发音属性信息根据第二音频合成模型,生成文本句对应的朗读音频段。

在实施中,可以先根据目标文本中的每个文本句之间的标点符号,确定出每个文本句的文本类型,可以设定在双引号之间的文本句的文本类型为对话,其他则为旁白,或者其他设定方式,本实施例对此不做限定。然后可以确定出该目标文本中的对话对应的第一朗读者类型和旁白对应的第二朗读者类型,将文本类型为对话的文本句对应的情绪类型信息和发音属性信息输入到第一音频合成模型中,生成文本类型为对话的文本句对应的朗读音频段,将文本类型为旁白的文本句对应的情绪类型信息和发音属性信息输入到第二音频合成模型中,生成文本类型为旁白的文本句对应的朗读音频段。

可选的,得到目标文本对应的朗读音频之后,还可以将各个目标文本的朗读音频与朗读音频的朗读者类型进行对应存储。

在实施中,对于一个目标文本,可以根据上述方式将其根据不同的朗读者类型,生成多种朗读者类型对应的朗读音频,然后将这些朗读音频对应存储在数据库中。若目标文本生成不同朗读者类型的朗读音频,可以将目标文本划分为对话和旁白两种文本类型,然后将对话生成各个朗读者类型的朗读音频段,将旁白生成各个朗读者类型的朗读音频段,然后将这些对话和旁白对应的朗读音频段分别对应组合,得到多种完整的朗读音频并对应存储起来。例如,朗读者类型有三种,可以将目标文本中的对话对应的文本句分别对应生成三种不同朗读者类型对应的朗读音频段,同样将目标文本中的旁白对应的文本句分别对应生成三种不同朗读者音频对应的朗读音频段,然后将对话和旁白对应的朗读音频段进行组合,可以得到九种目标文本对应的朗读音频,将这九种朗读音频存储在数据库种,这些朗读音频中,存在对话和旁白的朗读者类型相同的朗读音频,也存在对话和旁白的朗读者类型不同的朗读音频。在将一个目标文本根据所有朗读者类型而生成的朗读音频存储起来之后,可以进行如下处理:

接收终端发送的目标文本对应的朗读音频获取请求,其中,朗读音频获取请求中携带有目标朗读者类型,将目标朗读者类型对应的朗读音频返回终端。

在实施中,用户可以在终端上打开应用程序,然后在应用程序的界面上选择想要阅读的资讯或者小说,即目标文本,打开目标文本对应的阅读界面,可以在阅读界面上选择朗读选项,用户还可以在朗读界面选择朗读模式,即确定出朗读音频的朗读者类型,可以点击播放,此时终端会向应用程序的后台服务器发送目标文本对应的朗读音频获取请求,当服务器接收到终端发送的目标文本对应的朗读音频获取请求后,根据朗读音频获取请求中携带的目标文本标识以及对应的目标朗读者类型,在数据库中调取该目标文本对应的目标朗读者类型的朗读音频,然后返回给终端,终端上的应用程序将该朗读音频播放给用户。

本实施例中的频谱合成模型为以tacotron模型(基于深度学习的端到端语音合成模型)为基础设置的机器学习模型,如图6所示,包括发音特征提取模块、情绪特征提取模块模块、注意力网络模块和解码网络模块等。

将每个文本句的情绪类型信息输入预先训练好的情绪特征提取模块,得到情绪特征向量。将每个文本句的发音属性信息输入预先训练好的发音特征提取模块,得到发音特征向量。将每个文本句对应的情绪特征向量和发音特征向量进行拼接后输入注意力网络模块,得到权重系数矩阵。将每个文本句的权重系数矩阵输入解码网络模块,得到每个文本句对应的梅尔频谱序列。

对于本实施例中的频谱合成模型,是在tacotron模型的基础上增加了情绪特征提取模块模块,并在解码网络模块增加了post-net子模块,其中发音特征提取模块包括pre-net子模块和cbhg子模块,情绪特征提取模块包括vae子模块和全连接网络子模块。经实验验证,vae子模块可以使情绪特征提取模块的输出更稳定,更准确。注意力网络模块可以有多种选择,可以为gmmattention(高斯混合注意力网络)模块,也可以是其他类型的模块,本实施例对此不做限定。解码网络模块包括pre-net子模块、attentionrnn子模块、attentionlayer子模块、decoderrnn子模块、linearproject子模块、gatelayer子模块和post-net子模块,本实施例中,在tacotron模型的基础上增加了tacotron2模型中的post-net子模块,则对应的本实施例中的频谱合成模型的工作机制可以如下:

获得解码网络模块输出的文本句对应的初始梅尔频谱序列。将初始梅尔频谱序列输入post-net子模块得到梅尔频谱修正信息。使用梅尔频谱修正信息对初始梅尔频谱序列进行修正,得到文本句对应的梅尔频谱序列。

在实施中,解码网络模块中的pre-net子模块、attentionrnn子模块、attentionlayer子模块、decoderrnn子模块、linearproject子模块和gatelayer子模块等子模块,对输入到解码网络模块中的权重系数矩阵,以及其他模块或者子模块的输出等信息进行处理,会得到文本句对应的初始梅尔频谱序列,将初始梅尔频谱序列输入到post-net子模块中,可以得到该初始梅尔频谱序列对应的梅尔频谱修正信息,该梅尔频谱修正信息是将初始梅尔频谱序列向更适应于人耳听觉的方向修正的修正信息,然后将初始梅尔频谱序列和得到的梅尔频谱修正信息通过矩阵相加的方式进行处理,最后可以得到该文本句对应的梅尔频谱序列。

对于频谱合成模型的训练过程,其对应的处理过程可以如下:

频谱合成模型由第二样本文本集合训练得到,第二样本文本集合包括样本文本句的情绪类型信息和发音属性信息以及样本文本句对应的梅尔频谱序列标签。

在实施中,在对频谱合成模型进行训练时,每次可以从第二样本文本集合中选取一个样本文本句的情绪类型信息和发音属性信息以及样本文本句对应的梅尔频谱序列标签,对频谱合成模型进行一次调参。

对于第二样本文本集合中的每个文本句的情绪类型信息和发音属性信息以及样本文本句对应的梅尔频谱序列标签的确定,处理过程可以如下:

首先技术人员需要先获取样本文本中每个样本文本句对应的朗读音频段,该样本朗读音频段可以为根据技术人员提供的样本文本句和对应的情绪类型信息,配音人员配音所得到音频段,也可以是其他现有的文本及对应的音频段等等,本实施例对此不做限定,所以可以理解的是,在得到样本朗读音频段之前已经确定了每个样本文本句对应的情绪类型信息,将该样本朗读音频段对应的梅尔频谱作为频谱合成模型的基准输出,即梅尔频谱序列标签。然后根据步骤103获取每个样本文本句对应的发音属性信息。

在训练时,可以将样本文本句的发音属性信息输入到发音特征提取模块中得到发音特征提取模块输出的发音特征信息,将该样本文本句对应的样本朗读音频段对应的梅尔频谱标签(即基准输出)和情绪类型信息输入到情绪特征提取模块中输出情绪特征信息,将发音特征信息和情绪特征信息组合在一起,输入到后续的注意力网络模块中进行处理,然后再经过解码网络模块,可以输出该文本句对应的梅尔频谱序列。然后根据基准输出(即样本朗读音频段对应的梅尔频谱标签)、解码网络模块输出的梅尔频谱序列和损失函数,对频谱合成模型中的参数进行调整。技术人员可以由第二样本文本集合中再获取样本文本,然后根据样本文本中的每个样本文本句对频谱合成模型进行调参,直到损失值小于预设阈值时,将调参后的频谱合成模型确定为训练好的频谱合成模型。

当只使用一个频谱合成模型生成多个不同朗读者类型的样本朗读音频段时,可以在训练时将朗读者类型信息也输入到情绪特征提取模块中进行训练,在使用训练好的频谱合成模型时,也将文本句对应的朗读者类型信息输入到频谱合成模型中,从而可以得到不同的朗读者类型对应的文本句的朗读音频段。

当使用不同的频谱合成模型来生成不同的朗读者类型对应的样本朗读音频段时,可以在训练时使用不同的朗读者类型来训练不同的频谱合成模型,一个朗读者类型对应一个频谱合成模型,这样,只需预先将朗读者类型与频谱合成模型的对应关系存储起来,然后在训练或者使用的时候,预先确定好该文本句对应的朗读者类型,从而确定出对应的频谱合成模型再使用即可。

上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。

本申请实施例中提到的方案,可以根据确定出的目标文本中的每个文本句对应的情绪类型信息和发音属性信息、以及频谱合成模型,生成每个文本句对应的朗读音频段,从而生成目标文本对应的朗读音频,可见在生成朗读音频时融入了与情绪相关的信息,使得这种朗读音频具有感情色彩,可以提高用户的听觉体验。

本申请实施例提供了一种基于文本生成音频的装置,该装置可以是上述实施例中的计算机设备,如图7所示,所述装置包括:

第一确定模块710,用于确定目标文本中的每个文本句对应的情绪类型信息;

第二确定模块720,用于确定所述目标文本中每个文本句对应的发音属性信息;

第一生成模块730,用于将每个文本句对应的情绪类型信息和发音属性信息输入预先训练完成的音频合成模型中,得到每个所述文本句对应的朗读音频段;

第二生成模块740,用于按照每个文本句在所述目标文本中的排列顺序,对每个文本句对应的朗读音频段进行拼接,得到所述目标文本对应的朗读音频。

在一种可能的实现方式中,所述第一确定模块710,用于:

在所述目标文本中确定每个文本句对应的关联上下文,其中,所述文本句对应的关联上下文由所述文本句对应的至少一个关联文本句组成;

若确定出文本句对应的关联上下文,基于所述文本句和所述文本句对应的关联上下文组成的文本段落确定所述文本句的特征信息;若未确定出文本句对应的关联上下文,基于所述文本句确定所述文本句的特征信息;

将每个所述文本句的特征信息输入预先训练好的情绪识别模型,得到所述文本句对应的情绪类型信息,其中所述情绪识别模型由第一样本文本集合训练得到,所述第一样本文本集合包括样本文本句的特征信息以及所述样本文本句对应的情绪类型标签。

在一种可能的实现方式中,所述发音属性信息包括发音单元信息、分词信息、韵律信息中的至少一种信息。

在一种可能的实现方式中,所述音频合成模型包括频谱合成模型和声码器;

所述第一生成模块730,用于:

将所述每个文本句对应的情绪类型信息和发音属性信息输入所述预先训练完成的频谱合成模型,得到所述每个文本句对应的梅尔频谱序列;其中频谱合成模型由第二样本文本集合训练得到,所述第二样本文本集合包括样本文本句的情绪类型信息和发音属性信息以及所述样本文本句对应的梅尔频谱序列标签;

将每个文本句对应的梅尔频谱序列输入所述声码器,生成每个文本句对应的朗读音频段。

在一种可能的实现方式中,所述频谱合成模型包括情绪特征提取模块、发音特征提取模块、注意力网络模块和解码网络模块;

所述第一生成模块730,用于:

将每个所述文本句的情绪类型信息输入预先训练好的所述情绪特征提取模块,得到情绪特征向量;将每个所述文本句的发音属性信息输入预先训练好的所述发音特征提取模块,得到发音特征向量;

将每个所述文本句对应的所述情绪特征向量和所述发音特征向量进行拼接后输入所述注意力网络模块,得到权重系数矩阵;将每个所述文本句的权重系数矩阵输入所述解码网络模块,得到每个所述文本句对应的梅尔频谱序列。

在一种可能的实现方式中,所述情绪特征提取模块包括变分自编码器vae子模块和全连接网络子模块,所述发音特征提取模块包括预处理网络pre-net子模块和包含一维卷积和双向门控循环单元的序列特征提取网络cbhg子模块。

在一种可能的实现方式中,所述频谱合成模型还包括后处理网络post-net模块;

所述第一生成模块730还用于:

获取模块,用于获得所述解码网络模块输出的所述文本句对应的初始梅尔频谱序列;

将所述初始梅尔频谱序列输入所述post-net子模块得到梅尔频谱修正信息;

使用所述梅尔频谱修正信息对所述初始梅尔频谱序列进行修正,得到所述文本句对应的梅尔频谱序列。

在一种可能的实现方式中,所述音频合成模型包括多个,则得到的所述文本句对应的朗读音频段为多组,且多组所述文本句的朗读音频段拼接得到的目标文本的朗读音频为多个;

不同的音频合成模型对应不同的朗读者类型,则各个所述音频合成模型输出的一组朗读音频段与所述音频合成模型的朗读者类型具有对应关系,且所述一组朗读音频段拼接得到的朗读音频与所述朗读者类型具有对应关系;

所述装置还包括:

存储模块,用于将各个所述目标文本的朗读音频与所述朗读音频的朗读者类型进行对应存储。

在一种可能的实现方式中,所述装置还包括:

接收模块,用于接收终端发送的所述目标文本对应的朗读音频获取请求,其中,所述朗读音频获取请求中携带有目标朗读者类型;

发送模块,用于将所述目标朗读者类型对应的所述朗读音频返回所述终端。

在一种可能的实现方式中,所述朗读者类型包括:对话的第一朗读者类型和旁白的第二朗读者类型;且第一朗读者类型与第一音频合成模型对应,第二朗读者类型与第二音频合成模型对应;

所述第一生成模块730,用于:

根据所述目标文本中的标点符号确定每个文本句的文本类型,其中所述文本类型为对话或旁白;

对于文本类型为对话的文本句,将所述文本句对应的情绪类型信息和发音属性信息输入所述第一音频合成模型,生成所述文本句对应的朗读音频段;对于文本类型为旁白的文本句,将所述文本句对应的情绪类型信息和发音属性信息根据所述第二音频合成模型,生成所述文本句对应的朗读音频段。

需要说明的是:上述实施例提供的基于文本生成音频的装置在基于文本生成音频时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于文本生成音频的装置与基于文本生成音频的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图8是本申请实施例提供的一种服务器的结构示意图,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器801和一个或一个以上的存储器802,其中,所述存储器802中存储有至少一条指令,所述至少一条指令由所述处理器801加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。

在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例中基于文本生成音频的方法。该计算机可读存储介质可以是非暂态的。例如,所述计算机可读存储介质可以是rom、ram、cd-rom、磁带、软盘和光数据存储设备等。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜