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

语音合成方法、装置和计算机存储介质

文献发布时间:2023-06-19 10:41:48


语音合成方法、装置和计算机存储介质

技术领域

本申请涉及计算机技术领域,特别涉及一种语音合成方法、装置和计算机存储介质。

背景技术

语音合成用于将文本信息转换成自然语音输出,可以满足用户对语音朗读播报的需求,例如,通过语音合成技术可以实现新闻朗读、小说朗读、天气播报、短信播报、电子书朗读、教学内容朗读等,使用户可以通过语音听取相关信息,而不必直接对文字信息进行阅读。

将语音合成技术应用于教学场景,可以将教学文本转换为自然语音输出,实现课文朗读、题目朗读、生字默写等。然而,教学文本中可能参杂有图形文本和图形公式,比如数学文本中参杂有印刷公式或手写公式,目前的语音合成方式无法识别图形文本和图形公式,因此会将输入文本中参杂的图形文本和图形公式滤除,仅将输入文本中的纯文本内容转换成音频,此时所合成的音频内容不完整,并不能反映输入文本的全部信息,导致语音合成准确度较差。

发明内容

有鉴于此,本申请实施例提供了一种语音合成方法、装置和计算机存储介质,能够提高对于混合序列进行语音合成的准确度。

第一方面,本申请实施例提供了一种语音合成方法,包括:

获取待合成的混合序列,其中,所述混合序列包括待合成文本和待合成图形,所述待合成图形包括图形文本和图形公式中的至少一个;

将所述混合序列所包括的所述待合成文本和所述待合成图形分离;

将所述待合成图形输入图形识别模型,识别所述图形文本所包括的识别文本,并将所述图形公式识别为LaTeX字符;

根据所述图形文本和所述图形公式在所述混合序列中的位置,对所述待合成文本、所述识别文本和所述LaTeX字符进行合并,获得文本序列;

将所述文本序列输入语音合成模型,通过所述语音合成模型将所述文本序列转换为音频。

在第一种可能的实现方式中,结合上述第一方面,所述将所述待合成图形输入图形识别模型,识别所述图形文本所包括的识别文本,并将所述图形公式识别为LaTeX字符,包括:

通过所述图形识别模型包括的卷积神经网络CNN部分,提取所述待合成图形的特征图;

将所述特征图的每一列作为一个时间片,输入所述图形识别模型包括的循环神经网络RNN部分,获得用于表征文本序列特征的序列特征矩阵;

将所述序列特征矩阵输入softmax函数,获得后验概率矩阵;

根据所述后验概率矩阵,确定所述图形文本所包括的识别文本或所述图形公式对应的LaTeX字符。

在第二种可能的实现方式中,结合上述第一种可能的实现方式,所述根据所述后验概率矩阵,确定所述图形文本所包括的识别文本或所述图形公式对应的LaTeX字符,包括:

分别将所述后验概率矩阵的每一列输入argmax函数,获得所述argmax函数的输出结果;

针对所述后验概率矩阵的每一列,根据所述argmax函数的输出结果,确定所述待合成图形中对应列区域的字符;

根据所述待合成图形中各列区域的字符,确定所述图形文本所包括的识别文本或所述图形公式对应的LaTeX字符。

在第三种可能的实现方式中,结合上述第一种可能的实现方式或第二种可能的实现方式,所述RNN部分包括深层双向长短时记忆网络LSTM。

在第四种可能的实现方式中,结合上述第一方面,所述将所述文本序列输入语音合成模型,通过所述语音合成模型将所述文本序列转换为音频,包括:

将所述文本序列转换为音素序列;

对所述音素序列进行字符嵌入处理,获得特征向量;

将所述特征向量输入所述语音合成模型包括的编码器,通过所述编码器对所述特征向量进行编码,获得维度向量;

将所述维度向量输入所述语音合成模型中解码器所包括的注意力循环神经网络,通过所述注意力循环神经网络对所述维度向量进行处理,获得注意力权重;

将所述注意力权重输入所述解码器所包括的注意力过渡模块,通过正向递归算法计算每个时间步长的修正注意概率,以使所述注意力循环神经网络确定在所述解码器的每个时间步长向前移动或停留;

将所述注意力循环神经网络输出的所述注意力权重输入所述解码器所包括的解码循环神经网络,使所述解码循环神经网络基于输入的所述注意力权重生成频谱图;

通过所述语音合成模型包括的声码器将所述频谱图转换为所述音频。

在第五种可能的实现方式中,结合上述第四种可能的实现方式,所述通过所述编码器对所述特征向量进行编码,获得维度向量,包括:

通过所述编码器包括的3层1维卷积层对所述特征向量进行卷积;

将对所述特征向量进行卷积处理的结果,输入所述语音编码模块包括的双向LSTM层,获得所述双向LSTM层输出的所述维度向量。

在第六种可能的实现方式中,结合上述第四种可能的实现方式,所述将所述注意力循环神经网络输出的所述注意力权重输入所述解码器所包括的解码循环神经网络,使所述解码循环神经网络基于输入的所述注意力权重生成频谱图,包括:

将所述解码器所包括的逐步优化循环网络PReNet输出的频谱转换向量,及所述注意力权重,输入所述解码循环神经网络,通过所述解码循环神经网络根据所述频谱转换向量和所述注意力权重,按照帧级别生成所述频谱图。

在第七种可能的实现方式中,结合上述第四种可能的实现方式、第五种可能的实现方式和第七种可能的实现方式中的任意一个,所述声码器包括griffin-lim声码器或神经声码器。

第二方面,本申请实施例还提供了一种语音合成装置,包括:

一个文本获取模块,用于获取待合成的混合序列,其中,所述混合序列包括待合成文本和待合成图形,所述待合成图形包括图形文本和图形公式中的至少一个;

一个文本分离模块,用于将所述文本获取模块获取到的所述混合序列所包括的所述待合成文本和所述待合成图形分离;

一个图形识别模块,用于将所述文本分离模块分离出的所述待合成图形输入图形识别模型,识别所述图形文本所包括的识别文本,并将所述图形公式识别为LaTeX字符;

一个文本合并模块,用于根据所述图形文本和所述图形公式在所述混合序列中的位置,对所述文本分离模块分离出的所述待合成文本,及所述图形识别模块识别出的所述识别文本和所述LaTeX字符进行合并,获得文本序列;

一个音频转换模块,用于将所述文本合并模块获得的所述文本序列输入语音合成模型,通过所述语音合成模型将所述文本序列转换为音频。

第三方面,本申请实施例还提供了另一种语音合成装置,包括:处理器和存储器,所述处理器和所述存储器连接,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序实现上述第一方面及第一方面的任一可能的实现方式所提供的语音合成方法。

第四方面,本申请实施例还提供了一种计算机存储介质,包括:所述计算机存储介质存储有计算机程序,在处理器执行所述计算机程序时,实现上述第一方面及第一方面的任一可能的实现方式所提供的语音合成方法。

由上述技术方案可知,当需要进行语音合成的混合序列包括无法被语音合成模型所识别的图形文本和/或图形公式时,首先将图形文本和图形公式从混合序列中分离出来,通过图形识别模型对图形文本和图形公式进行识别,获得能够被语音合成模型识别的识别文本和LaTeX字符,然后将识别出的识别文本和LaTeX字符,与混合文本序列中原本包括的待合成文本进行合并,获得文本序列,然后通过语音合成模型将文本序列转换为音频,实现混合序列的语音合成。在对混合序列进行语音合成之前,首先将混合序列中不能被语音合成模型识别的图形文本和图形公式,转换为能够被语音合成模型识别的文本和LaTeX字符,然后将识别出的文本和LaTeX字符与混合序列中原本包括的文本进行合并,将合并所获得的文本序列作为语音合成模型的输入,通过语音合成模型将文本序列转换为音频,保证所合成音频内容的完整性,从而能够提高对混合序列进行语音合成的准确度。

附图说明

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

图1是本申请实施例一提供的一种语音合成方法的流程图;

图2是本申请实施例二提供的一种语音合成方法的流程图;

图3是本申请实施例三提供的一种语音合成方法的过程示意图;

图4是本申请实施例三提供的一种的encoder-decoder模型的示意图;

图5是本申请实施例四提供的一种语音合成装置的示意图;

图6是本申请实施例五提供的一种语音合成装置的示意图。

具体实施方式

为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请所提供的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。

实施例一

本申请实施例提供了一种语音合成方法,图1是本申请实施例一提供的一种语音合成方法的流程图。参见图1,本申请实施例一提供的语音合成方法包括如下步骤:

步骤101:获取待合成的混合序列。

待合成的混合序列是需要进行语音合成的输入,即需要将待合成的混合序列所包括的文本信息转换成自然语音。混合序列包括待合成文本和待合成图形。待合成文本为纯文本格式的文本数据,比如待合成文本为中文文本、英文文本或者中文与英文的混合文本。待合成图形为包括文本信息的图片,具体可以包括图形文本和/或图形公式,图形文本是包括有纯文本数据的图片,比如图形文本可以是包括中文文本和/或英文文本的照片、扫描图像等,图形公式是包括有数学公式的图片,比如图形公式可以是包括印刷公式和/或手写公式的图片。

步骤102:将混合序列所包括的待合成文本和待合成图形分离。

由于待合成文本为纯文本格式的文本数据,可以直接将待合成文本输入语音合成模型,以将待合成文本转换为音频,但是待合成图形无法被语音合成模型识别,因此需要将待合成图形转换成语音合成模型可以识别和处理的格式后,再输入语音合成模型转换成音频,为此需要将混合序列所包括的待合成文本与待合成图形分离,以便后续将待合成图形转换成语音合成模型可以识别的格式。

在本申请实施例中,本领域技术人员可以根据实际需要采用适当的方式,将混合序列所包括的待合成文本和待合成图形分离,比如可以遍历混合序列所包括数据的格式,根据数据格式将待合成文本与待合成图形分离。

步骤103:将待合成图形输入图形识别模型,识别图形文本所包括的识别文本,并将图形公式识别为LaTeX字符。

图形识别模型为预先训练的图像处理模型,用于识别图像中的文本和数学公式。如果待合成图形包括图形文本,将图形文本输入图形识别模型后,图形识别模型对图形文本进行文本识别,输出图形文本所包括的识别文本。如果待合成图形包括图形公式,将图形公式输入图形识别模型后,图形识别模型将图形公式识别为LaTeX字符。

识别文本为纯文本格式的文本数据,能够被语音合成模型识别和语音转换,LaTeX字符也能够被语音合成模型识别和语音转换,进而可以利用语音合成模型将识别文本和LaTeX字符转换为语音,从而实现将待合成图形转换为自然语音。

步骤104:根据图形文本和图形公式在混合序列中的位置,对待合成文本、识别文本和LaTeX字符进行合并,获得文本序列。

由于混合序列所包括的待合成文本和待合成图形存在上下文关系,如果单独对待合成文本、识别文本和LaTeX字符进行语音合成,会导致所合成的音频丢失上下文信息,造成所合成音频的语音信息错误和不符合自然语音的表达方式,进而影响语音合成的效果。为此,在将待合成图形识别为识别文本和/或LaTeX字符后,根据混合序列中待合成文本与图形文本和/或图形公式的相对位置,对待合成文本、识别文本和/或LaTeX字符进行合并,获得文本序列,使得文本序列中待合成文本、识别文本和LaTeX字符的相对位置,与混合序列中待合成文本、图形文本和图形公式的相对位置保持一致,进而将文本序列作为语音合成模型的输入进行语音合成,保证所合成的音频不会丢失上下文信息。

在本申请实施例中,在将混合序列所包括的待合成文本与待合成图形分离时,可以记录待合成文本和待合成图形在混合序列中的相对位置信息,在将待合成图形识别为识别文本和/或LaTeX字符后,根据所记录的相对位置信息对待合成文本、识别文本和/或LaTeX字符进行合并,获得文本序列。

步骤105:将文本序列输入语音合成模型,通过语音合成模型将文本序列转换为音频。

语音合成模型为预先训练的文本处理模型,用于将文本数据转换为自然语言语音,比如语音合成模型可以是神经网络模型。在将混合序列转换为语音合成模型可以识别的文本序列后,将文本序列作为语音合成模型的输入,通过语音合成模型将文本序列转换为符合自然语音阅读规则的音频,实现将混合序列转换为自然语音。

本申请实施例提供的语音合成方法,当需要进行语音合成的混合序列包括无法被语音合成模型所识别的图形文本和/或图形公式时,首先将图形文本和图形公式从混合序列中分离出来,通过图形识别模型对图形文本和图形公式进行识别,获得能够被语音合成模型识别的识别文本和LaTeX字符,然后将识别出的识别文本和LaTeX字符,与混合文本序列中原本包括的待合成文本进行合并,获得文本序列,然后通过语音合成模型将文本序列转换为音频,实现混合序列的语音合成。在对混合序列进行语音合成之前,首先将混合序列中不能被语音合成模型识别的图形文本和图形公式,转换为能够被语音合成模型识别的文本和LaTeX字符,然后将识别出的文本和LaTeX字符与混合序列中原本包括的文本进行合并,将合并所获得的文本序列作为语音合成模型的输入,通过语音合成模型将文本序列转换为音频,保证所合成音频内容的完整性,从而能够提高对混合序列进行语音合成的准确度。

需要说明的是,本申请实施例提供的语音合成方法,可以由任意适当的具有数据处理功能的设备实现,包括但不限于各种终端设备及服务器等。

实施例二

基于上述实施例一提供的语音合成方法,本申请实施例二提供了一种语音合成方法,该方法是对实施例一所描述的语音合成方法的进一步具体描述,该方法可以应用于教学文本语音合成的应用场景。图2是本申请实施例二提供的一种语音合成方法的流程图。参见图2,本申请实施例二提供的语音合成方法包括如下步骤:

步骤201:使用包含文本信息和数学公式的样本图像,训练图形识别模型。

在本申请实施例中,在对混合序列进行语音合成之前,首先需要训练图形识别模型,以使其具有从图片中识别文本和公式和功能。在一种可能的实现方式中,图形识别模型采用卷积神经网络(Convolutional Neural Networks, CNN)加循环神经网络(RecurrentNeural Network, RNN)的结构。具体地,图形识别模型包括卷积层、循环层和转录层,卷积层通过CNN实现,循环层包括一个深层双向长短时记忆网络(Long Short-Term Memory,LSTM),转录层通过softmax函数实现。

训练图形识别模型时,将CNN部分提取的特征图的每一列作为时间序列输入到LSTM中,通过LSTM在卷积特征的基础上继续提取文字序列特征,将LSTM的输出做softmax后,获得字符输出,基于所获得字符输出与样本图像中文本或公式的偏差,对CNN、LSTM的模型参数进行调整。重复上述过程,直至达到训练结束条件,比如达到设定的训练次数或损失值在设定范围内等。

上述训练图形识别模型过程中的大部分步骤,与下文使用图形识别模型进行文本、公式识别的过程中的步骤类似,相关部分的具体实现可参照下文描述。

步骤202:使用包含文本和LaTeX字符的样本序列,训练语音合成模型。

在本申请实施例中,在对混合序列进行语音合成之前,首先需要训练语音合成模型,以使其具有将文本和LaTeX字符转换为音频的功能。在一种可能的实现方式中,语音合成模型包括编码器和解码器,编码器包括3层1维卷积层(5卷积核,512单元)和1层256单元的双向长短时记忆网络(BidirectionalLongShort-termMemory,BLSTM)层,解码器包括PReNet(progressive recurrent network,逐步优化循环网络)、Attention-RNN和Decoder-RNN,Decoder-RNN为两层residualGRU。解码器采用注意力机制和注意力过渡机制,注意力机制为position sensitive attention结构,position sensitive attention结构为一层包含128个GRU的RNN,注意力过渡机制利用正向算法递归计算每个时间步长的修正注意概率,使得注意力机制在解码器的每个时间步长做出向前移动还是停留的决定。在解码器中加入前向注意力过渡机制,计算每个时间步长的修正注意概率,以使注意力机制在解码器的每个时间步长向前移动或停留,避免在对较长文本进行语音合成时出现漏读。

训练语音合成模型时,将文本序列转换为音素序列后,将音素序列做字符嵌入(character embedding)获得特征向量(512维),将特征向量输入到编码器中,编码器根据特征向量生成维度向量,维度向量输入Attention-RNN获得注意力权重,将PReNet的输出和Attention-RNN的输出作为输入,经过GRU单元后输入到Decoder-RNN中,Decoder-RNN按照帧级别生成频谱图,进而通过声码器将频谱图转换为音频,基于所获得音频与样本所对应音频的偏差,对编码器和解码器的训练参数调整。重复上述过程,直至达到训练结束条件,比如达到设定的训练次数或损失值在设定范围内等。

上述训练语音合成模型过程中的大部分步骤,与下文使用语音合成模型进行语音合成的过程中的步骤类似,相关部分的具体实现可参考下文描述。

需要说明的是,由于图形识别模型和语音合成模型可以复用,因此上述步骤201和步骤202并非是语音合成的必须步骤,在生成图形识别模型和语音合成模型之后,本申请实施例提供的语音合成可以从步骤203开始执行,直接利用已经训练好的图形识别模型和语音合成模型对混合序列进行语音合成。

步骤203:获取待合成的混合序列。

响应于用户的语音合成指令,从用户指定的存储地址读取待合成的混合序列,或者从用户提供的URL(Uniform Resource Locator,统一资源定位符)下载混合序列。

混合序列包括文本和图形,为了便于后续描述,将混合序列所包括的文本定义为待合成文本,将混合序列包括的图形定义为待合成图形,待合成图形包括图形文本和图形公式中的至少一个。例如,用户所输入的混合序列包括中文文本、英文文本、包括中文文本和英文文本的图片以及包括印刷和手写公式的图片,则中文文本和英文文本为待合成文本,包括中文文本和英文文本的图片和包括印刷和手写公式的图片为待合成图形,包括中文文本和英文文本的图片为图形文本,包括印刷和手写公式的图片为图形公式。

步骤204:将混合序列包括的待合成文本和待合成图形分离。

在获取到待合成的混合序列后,通过识别混合序列所包括数据的格式,对混合序列中的文本和图形进行分离,获得混合序列包括的待合成文本和待合成图形。

步骤205:将待合成图形输入图形识别模型,通过图形识别模型识别图形文本所包括的识别文字,通过图形识别模型将图形公式识别为LaTeX字符。

图形识别模型采用CNN+RNN结构,即图形识别模型为CRNN网络。CRNN网络包括卷积层、循环层和转录层,卷积层对应于CNN部分,循环层对应于RNN部分,转录层对应于softmax函数。在将待合成图形输入图形识别模型后,首先通过CNN部分提取待合成图形的特征图,然后将特征图的每一列作为一个时间片输入到RNN部分,获得用于表征文本序列特征的序列特征矩阵,然后将序列特征矩阵输入softmax函数,获得后验概率矩阵。如果待合成图形为图形文本,则可以根据后验概率矩阵确定图形文本所包括的识别文本,如果待合成图形为图形公式,则可以根据后验概率矩阵确定图形公式对应的LaTeX字符。

下面对CRNN网络所包括卷积层、循环层和转录层的处理过程进行详细说明:

卷积层:先通过CNN提取待合成图形的Featuremap,然后将每一个channel作为d=512的时间序列输入到RNN中,具体为将Featuremap的每一列作为一个时间片输入到RNN中。设Featuremap大小为m·T,时间序列t从t=1开始,即1≤t≤T。将Featuremap定义为

循环层:循环网络层是一个深层双向LSTM网络,CNN将Featuremap输入到LSTM后,LSTM在卷积特征的基础上继续提取文本序列特征,获得序列特征矩阵。

转录层:将RNN输出做softmax后,为字符输出。LSTM的每一个时间片后借softmax函数,softmax函数的输出

在本申请实施例中,在获得的softmax函数输出的后验概率矩阵后,对于后验概率矩阵的每一列,该该列输入argmax函数,获得argmax函数的输出结果,根据argmax函数的输出结果确定待合成图形中对应列区域的字符。在确定出待合成图形中各列区域的字符后,如果待合成图形为图形文本,则根据待合成图形中各列区域的字符确定图形文本所包括的识别文本,如果待合成图形为图形公式,则根据待合成图形中各列区域的字符确定图形公式对应的LaTeX字符。

由于后验概率矩阵中的元素表征概率,后验概率矩阵的每一列服从概率假设,及后验概率矩阵中每一列各元素之和等于1,将后验概率矩阵的每一列输入argmax函数后,便可以基于每列中最大元素确定该列输出字符的类别。

在本申请实施例中,由于CRNN的循环层为双向LSTM网络,针对待合成图形上某个像素点进行文本识别时,基于双向LSTM网络加入了该点周边像素点信息,能够有效提高对文本识别的准确性。

步骤206:将待合成文本、识别文本和LaTeX字符合并为文本序列。

在本申请实施例中,在识别出图形文本所包括的识别文本,并将图形公式识别为LaTeX字符后,根据待合成文本、图形文本和图形公式在混合序列中的相对位置,对待合成文本、识别文本和LaTeX字符进行合并,获得文本序列,使得文本序列中识别文本和LaTeX字符相对于待合成文本的位置,与混合序列中图形文本和图形公式相对于待合成文本的位置相同。

例如,混合序列包括一个图形文本和一个图形公式,图形文本位于待合成文本的第24段与第25段之间,图形公式位于待合成文本第36段的末尾,则从图形文本从识别出识别文本,并将图形公式识别为LaTeX字符后,将识别文本插入待合成文本的第24段与第25段之间,并将LaTeX字符插入到待合成文本第36段的末尾,实现待合成文本与识别文本和LaTeX字符的合并,获得文本序列。

步骤207:将文本序列转换为音素序列。

在获得文本序列后,将文本序列输入前端模块,前端模块对所输入的文本序列进行文本正则(Text Normalization)和字音转换(Grapheme-to-Phoneme)等处理,将文本序列转换为音素序列。

步骤208:对音素序列进行字符嵌入处理,获得特征向量。

在获得音素序列后,对音素序列进行字符嵌入(character embedding),将音素序列转换为512维的特征向量。

步骤209:将特征向量输入语音合成模型的编码器,通过编码器将音素序列编码为维度向量。

语音合成模块包括编码器和解码器,编码器采用3层1维卷积层(5卷积核,512单元)1层256单元的BLSTM层。将特征向量输入编码器后,编码器通过卷积层对特征向量进行卷积,将对特征向量进行卷积处理后的结果输入BLSTM层,获得BLSTM层输出的维度向量。维度向量将被输入注意力循环神经网络和解码器进行对齐和联合训练。

步骤210:通过注意力循环神经网络对维度向量进行处理,获得注意力权重。

解码器包括PReNet、Attention-RNN(注意力循环神经网络)和Decoder-RNN。Decoder-RNN为两层residualGRU,其输出为输入与经过GRU单元的输出之和,每层residualGRU包括256个GRU单元。Attention-RNN为position sensitive attention,其结构为一层包含128个GRU的RNN。编码器中的BLSTM将所生成的维度向量输入Attention-RNN后,Attention-RNN输出注意力权重。

Attention-RNN输出的注意力权重输入解码器所包括的注意力过渡模块,注意力过渡模块利用正向算法递归计算每个时间步长的修正注意概率,使得Attention-RNN在解码器的每个时间步长做出是向前移动还是停留的决定。

注意力过渡模块采用具有一个隐藏层和SIGMOD激活单元的过渡DNN(Deep NeuralNetworks,深度神经网络),以针对解码器的每个时间不出场生成标量

在本申请实施例中,在编码器中引入注意力过渡机制,利用正向算法递归计算每个时间步长的修正注意概率,以使注意力机制在解码器的每个时间步长做出向前移动还是停留的决定,基于相邻字符的上下文关系进行语音合成,能够避免文本序列中文本较长而导致的漏读问题。

步骤211:基于注意力权重,通过解码循环神经网络生成频谱图。

PReNet基于Decoder-RNN的输出生成频谱转换向量,将PReNet输出的频谱转换向量和Attention-RNN输出的注意力权重作为输入,经过GRU单元后输入到Decoder-RNN中。Decoder-RNN根据频谱转换向量和注意力权重,按照帧级别生成频谱图。

在本申请实施例中,Decoder-RNN所生成的频谱图可以为梅尔频谱图(Mel BankFeatures)。

步骤212:通过声码器将频谱图转换为音频。

在获得Decoder-RNN所生成的频谱图后,通过声码器将所获得的频谱图转换为音频。具体地,可以通过griffin-lim声码器或神经声码器将频谱图转换为音频。

实施例三

基于上述实施例一提供的语音合成方法,本申请实施例三提供了一种语音合成方法,该方法是对实施例一所描述的语音合成方法的进一步具体描述。图3是本申请实施例三提供的一种语音合成方法的过程示意图。参见图3,本申请实施例三停工的语音合成方法包括:输入混合序列后进行文本分离,将混合序列包括的待合成文本和待合成图形分离;对待合成图形包括的图形文本和图形公式进行分离;对图形文本进行中的纯文本进行识别,获得识别文本;将图形公式识别为LaTeX字符;将待合成文本、识别文本和LaTeX字符进行合并,获得文本序列;将文本序列输入前端模块,生成音素序列后进行字符嵌入,获得特征向量;将特征向量输入编码器,获得维度向量;将维度向量输入注意力神经网络,获得注意力权重;将注意力权重输入注意力过渡模块,控制注意力神经网络在编码器的每个时间步长前向移动或停留;将注意力权重输入编码器,获得频谱图;将频谱图输入声码器,生成音频。

需要说明的是,本申请实施三提供的语音合成方法通过端到端模型实现,端到端模型采用encoder-decoder结构,encoder-decoder的可选实现方式为seq2seq模型,seq2seq模型的架构参见图4所示,seq2seq模型通常分为两个部分:

第一部分为编码器(Encoder):Encoder):它主要是处理文本序列信息,得到语言学编码特征,具体的,所述编码器中包括若干个按照一定顺序排列的RNN单元,处理所述文本序列信息可以为RNN单元,将所述文本序列信息

第二部分为解码器(Decoder):它主要是处理语言学编码特征,得到初始频谱信息,具体的,它以上下文信息C作为输入,以固定长度的向量作为条件,产生输出序列

实施例四

基于上述实施例一、实施例二和实施例三所描述的语音合成方法,本申请实施例提供了一种语音合成装置,用于执行上述实施例一、实施例二和实施例三所描述的语音合成方法。图5是本申请实施例四提供的一种语音合成装置的示意图。参见图5,本申请实施例四提供的语音合成装置包括:

一个文本获取模块501,用于获取待合成的混合序列,其中,混合序列包括待合成文本和待合成图形,待合成图形包括图形文本和图形公式中的至少一个;

一个文本分离模块502,用于将文本获取模块501获取到的混合序列所包括的待合成文本和待合成图形分离;

一个图形识别模块503,用于将文本分离模块502分离出的待合成图形输入图形识别模型,识别图形文本所包括的识别文本,并将图形公式识别为LaTeX字符;

一个文本合并模块504,用于根据图形文本和图形公式在混合序列中的位置,对文本分离模块502分离出的待合成文本,及图形识别模块503识别出的识别文本和LaTeX字符进行合并,获得文本序列;

一个音频转换模块505,用于将文本合并模块504获得的文本序列输入语音合成模型,通过语音合成模型将文本序列转换为音频。

在本申请实施例中,文本获取模块501可用于执行上述实施例一中的步骤101,文本分离模块502可用于执行上述实施例一中的步骤102,图形识别模块503可用于执行上述实施例一中的步骤103,文本合并模块504可用于执行上述实施例一中的步骤104,音频转换模块505可用于执行上述实施例一中的步骤105。

在一种可能的实现方式中,图形识别模块503,用于通过图形识别模型包括的卷积神经网络CNN部分,提取待合成图形的特征图;将特征图的每一列作为一个时间片,输入图形识别模型包括的循环神经网络RNN部分,获得用于表征文本序列特征的序列特征矩阵;将序列特征矩阵输入softmax函数,获得后验概率矩阵;根据后验概率矩阵,确定图形文本所包括的识别文本或图形公式对应的LaTeX字符。

在一种可能的实现方式中,图形识别模块503,用于分别将后验概率矩阵的每一列输入argmax函数,获得argmax函数的输出结果;针对后验概率矩阵的每一列,根据argmax函数的输出结果,确定待合成图形中对应列区域的字符;根据待合成图形中各列区域的字符,确定图形文本所包括的识别文本或图形公式对应的LaTeX字符。

在一种可能的实现方式中,RNN部分包括深层双向长短时记忆网络LSTM。

在一种可能的实现方式中,音频转换模块505,用于将文本序列转换为音素序列;对音素序列进行字符嵌入处理,获得特征向量;将特征向量输入语音合成模型包括的编码器,通过编码器对特征向量进行编码,获得维度向量;将维度向量输入语音合成模型中解码器所包括的注意力循环神经网络,通过注意力循环神经网络对维度向量进行处理,获得注意力权重;将注意力权重输入解码器所包括的注意力过渡模块,通过正向递归算法计算每个时间步长的修正注意概率,以使注意力循环神经网络确定在解码器的每个时间步长向前移动或停留;将注意力循环神经网络输出的注意力权重输入解码器所包括的解码循环神经网络,使解码循环神经网络基于输入的注意力权重生成频谱图;通过语音合成模型包括的声码器将频谱图转换为音频。

在一种可能的实现方式中,音频转换模块505,用于通过编码器包括的3层1维卷积层对特征向量进行卷积;将对特征向量进行卷积处理的结果,输入语音编码模块包括的双向LSTM层,获得双向LSTM层输出的维度向量。

在一种可能的实现方式中,音频转换模块505,用于将解码器所包括的逐步优化循环网络PReNet输出的频谱转换向量,及注意力权重,输入解码循环神经网络,通过解码循环神经网络根据频谱转换向量和注意力权重,按照帧级别生成频谱图。

在一种可能的实现方式中,声码器包括griffin-lim声码器或神经声码器。

本申请实施例中,当需要进行语音合成的混合序列包括无法被语音合成模型所识别的图形文本和/或图形公式时,首先将图形文本和图形公式从混合序列中分离出来,通过图形识别模型对图形文本和图形公式进行识别,获得能够被语音合成模型识别的识别文本和LaTeX字符,然后将识别出的识别文本和LaTeX字符,与混合文本序列中原本包括的待合成文本进行合并,获得文本序列,然后通过语音合成模型将文本序列转换为音频,实现混合序列的语音合成。在对混合序列进行语音合成之前,首先将混合序列中不能被语音合成模型识别的图形文本和图形公式,转换为能够被语音合成模型识别的文本和LaTeX字符,然后将识别出的文本和LaTeX字符与混合序列中原本包括的文本进行合并,将合并所获得的文本序列作为语音合成模型的输入,通过语音合成模型将文本序列转换为音频,保证所合成音频内容的完整性,从而能够提高对混合序列进行语音合成的准确度。

实施例五

基于上述实施例一、实施例二和实施例三所描述的语音合成方法,本申请实施例提供了一种语音合成装置,用于执行上述实施例一、实施例二和实施例三所描述的语音合成方法。图6是本申请实施例五提供的一种语音合成装置的示意图。参见图6,本申请实施例五提供的语音合成装置60包括:至少一个处理器(processor)602、存储器(memory)604、总线606及通信接口(CommunicationsInterface)608。其中,

处理器602、通信接口608、以及存储器604通过通信总线606完成相互间的通信。

通信接口608,用于与其它设备进行通信。

处理器602,用于执行程序610,具体可以执行上述实施例一、实施例二和实施例三所描述的方法中的相关步骤。

具体地,程序610可以包括程序代码,该程序代码包括计算机操作指令。

处理器602可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecificIntegratedCircuit),或者是被配置成实施本申请实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。

存储器604,用于存放程序610。存储器604可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

实施例六

本申请实施例提供一种计算机存储介质,包括:计算机存储介质存储有计算机程序,在处理器执行计算机程序时,实现如本申请任一实施例所描述的语音合成方法。

本申请实施例中,当需要进行语音合成的混合序列包括无法被语音合成模型所识别的图形文本和/或图形公式时,首先将图形文本和图形公式从混合序列中分离出来,通过图形识别模型对图形文本和图形公式进行识别,获得能够被语音合成模型识别的识别文本和LaTeX字符,然后将识别出的识别文本和LaTeX字符,与混合文本序列中原本包括的待合成文本进行合并,获得文本序列,然后通过语音合成模型将文本序列转换为音频,实现混合序列的语音合成。在对混合序列进行语音合成之前,首先将混合序列中不能被语音合成模型识别的图形文本和图形公式,转换为能够被语音合成模型识别的文本和LaTeX字符,然后将识别出的文本和LaTeX字符与混合序列中原本包括的文本进行合并,将合并所获得的文本序列作为语音合成模型的输入,通过语音合成模型将文本序列转换为音频,保证所合成音频内容的完整性,从而能够提高对混合序列进行语音合成的准确度。

本申请实施例的语音合成装置以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod)、掌上游戏机、电子书、以及智能玩具和便携式车载导航设备。

(4)其他具有数据交互功能的电子设备。

至此,已经对本申请的特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作可以按照不同的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序,以实现期望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

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

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

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

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

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

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

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定事务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行事务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

相关技术
  • 语音合成方法、装置、计算机设备及计算机可读存储介质
  • 语音合成方法、装置、计算机设备及计算机可读存储介质
技术分类

06120112639103