首页 / 语音合成模型训练方法以及语音合成方法

语音合成模型训练方法以及语音合成方法实质审查 发明

技术领域

[0001] 本公开涉及计算机技术领域,尤其涉及语音合成模型训练方法以及语音合成方法。

相关背景技术

[0002] 语音合成(TTS)是智能语音交互的核心技术之一。通过将接收到的文字序列转换为自然逼真的语音波形,反馈传递给用户。传统的TTS方法通常需要从头训练整个模型或在预训练模型的基础上进行微调,这不仅消耗大量的计算资源和时间,而且需要大量精标的文本‑语音数据对来作为训练样本,并且在微调过程中预训练模型的能力可能会劣化。因此,相关技术在训练用于执行TTS任务的语音合成模型的场景中,会存在对训练样本需求量大,过度依赖文本‑语音数据对的问题,并且还可能存在训练时间长、训练复杂度高、预训练模型能力劣化等诸多问题。

具体实施方式

[0104] 为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
[0105] 需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0106] 需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
[0107] 语音合成(TTS)是智能语音交互的核心技术之一。通过将接收到的文字序列转换为自然逼真的语音波形,反馈传递给用户。语音合成技术直接影响着人机交互的实际使用效果。语音合成技术涉及语音信号处理、模式识别、自然语言处理、声学、语言学等多个学科,是信息处理领域不可或缺的一门关键技术。语音合成技术在现代社会中有着广泛的应用,如智能助手、语音导航系统、电子阅读器等。传统的TTS方法通常需要从头训练整个模型或在预训练模型的基础上进行微调,这不仅消耗大量的计算资源和时间,而且需要大量精标的文本‑语音数据对来作为训练样本。然而,相对于无监督的预训练模型,这些训练样本在数量和分布上都少得多,导致在微调过程中预训练模型的能力可能会劣化。
[0108] 具体来说,对于需要从头训练整个模型的技术方案而言,需要通过大量精标的文本‑语音数据对来作为训练样本来从头训练端到端模型,这类技术方案对训练样本的数量要求高,训练样本需求量大导致执行成本高,计算资源需求量大,训练时间长。
[0109] 相关技术中在预训练模型的基础上进行微调的技术方案,可以利用已经预训练好的模型来缩短训练时间,降低训练成本,在这些预训练好的模型的基础上进行微调,使用微调后的模型执行TTS任务。这类技术方案尽管利用了预训练模型,但仍需要大量的训练样本进行微调,且微调过程中预训练模型的能力可能会劣化。
[0110] 还有一些相关技术基于序列到序列模型的执行TTS任务。这类技术方案使用序列到序列模型将文本序列映射到语音特征序列,再通过一个声码器将语音特征序列转换为语音信号。但是,这类技术方案需要处理长序列的映射问题,训练复杂度高,且同样需要大量训练样本。
[0111] 综上可知,相关技术在训练用于执行TTS任务的语音合成模型的场景中,会存在对训练样本需求量大,过度依赖文本‑语音数据对的问题,并且还可能存在训练时间长、训练复杂度高、预训练模型能力劣化等诸多问题,有鉴于此,本公开提供一种语音合成模型训练方法以及语音合成方法。
[0112] 图1是根据一示例性实施例示出的一种语音合成模型训练方法的流程图。语音合成模型训练方法可以应用于电子设备,该电子设备可以由服务器或终端单独执行实现,或者可以由终端和服务器协同执行实现。其中,终端可以是但不限于为智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能可穿戴设备、数字助理、增强现实设备、虚拟现实设备等实体设备,也可以包括运行于实体设备中的例如应用程序等的软体。服务器可以是但不限于为独立的服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云、云存储、网络服务、云通信、中间服务、域名服务、安全服务、以及大数据和人工智能平台等基础云计算服务的云服务器等中一种或多种。参照图1所示,方法包括以下步骤。
[0113] 在步骤S101中,获取样本文本以及所述样本文本对应的样本语音。
[0114] 本公开中使用的训练样本是由样本文本和样本语音形成的数据对。其中,样本文本可以包括至少一个词组和/或至少一条语句。样本语音可以是通过将匹配的样本文本通过语音形式表达的音频内容。
[0115] 可选地,可以从预设的样本库中获取样本集,该样本集包括多个步骤S101所描述的训练样本,训练样本包括样本文本以及样本语音形成的数据对,上述样本语音和上述样本文本相匹配。或者通过录制样本文本和对应的样本语音来形成前述训练样本,以直接构建样本集,当然也可以通过其他合适的方式获取用于训练语音合成模型的样本集。本公开以单个训练样本的处理过程为例进行详述。
[0116] 在步骤S102中,将所述样本语音输入语音处理模型中的编码器进行语音编码,得到样本语音表征。
[0117] 本公开中参与语音合成模型训练的语音处理模型为一种预训练模型,该预训练的语音处理模型中包括编码器和对应的解码器,其中,编码器可以用于对样本语音进行语音编码,得到对应的样本语音表征。
[0118] 本公开对预训练的语音处理模型不做限定,比如,其可以为EnCodec语音处理模型,EnCodec语音处理模型是一种基于深度学习的音频编解码器,能够捕捉语音信号中的丰富信息。EnCodec模型包括Encoder‑Decoder结构,支持24kHz和48kHz的音频压缩。它还采用了多阶段量化方法,提高了灵活性。再比如,该预训练的语音处理模型还可以为Sound Stream语音处理模型。该SoundStream语音处理模型是一种神经网络音频编解码器,它能够在传统编解码器通常使用的比特率下,高效地压缩语音、音乐和一般音频,能够实现高质量的语音重建。
[0119] 在步骤S103中,将所述样本文本输入文本模型进行文本特征提取,得到样本文本表征,所述样本文本表征和所述样本语音表征具备相同长度。
[0120] 本公开中参与语音合成模型训练的文本模型为一种预训练模型,该预训练的文本模型可以用于对样本文本进行文本特征提取,得到对应的样本文本表征。
[0121] 本公开对预训练的文本模型不做限定,比如,该预训练的文本模型可以为BERT(Bi directional Encoder Representations from Transformers)模型,该BERT模型是一种基于tr ansformer的双向编码器表示模型。Transformer模型是一种注意力机制的架构,它允许模型在处理序列数据时,能够同时考虑序列中的所有元素。
[0122] 再比如,该预训练的文本模型可以为LLAMA(Large Language Model Meta AI)模型,其是一种大规模预训练语言模型,具有强大的文本理解和生成能力。或者,该预训练的文本模型可以为在前述的模型,比如,BERT或者LLAMA的基础上,基于LORA微调得到的文本模型,LORA(Low‑Rank Adaptation)是一种用于高效适应预训练模型的新方法,通过低秩矩阵分解来减少参数。
[0123] 本公开并不限定样本文本表征的具体获取方法。在一示例性的实施方式中,所述将所述样本文本输入文本模型进行文本特征提取,得到样本文本表征,包括:基于所述文本模型提取所述样本文本中的文本特征,得到样本文本特征;获取所述样本文本中的音素对应的时长;基于所述样本文本中的音素对应的时长,调整所述样本文本特征的长度,得到所述样本文本表征。
[0124] 音素是根据语音的自然属性划分出来的最小语音单位,分为元音与辅音两大类。从声学性质来看,音素是从音质角度划分出来的最小语音单位。从生理性质来看,一个发音动作形成一个音素。例如〔da〕包含〔d〕和〔a〕两个发音动作,即包含两个音素。相同发音动作发出的音就是同一音素,不同发音动作发出的音就是不同音素。
[0125] 可选的,可以通过识别与样本文本匹配的样本语音,获取所述样本文本中的音素对应的时长。可选的,所述样本文本中的音素对应的时长包括所述样本文本中的每个音素在所述样本语音中的持续时长,某个发音说的慢一些,样本语音中对应的音素的持续时长就会长一些,某个发音说的快一些,样本语音中对应的音素的持续时长就会短一些,持续时长的差异体现了样本语音的个性化差异。
[0126] 在一示例性的实施方式中,所述基于所述样本文本中的音素对应的时长,调整所述样本文本特征的长度,得到所述样本文本表征,包括:基于所述每个音素在所述样本语音中的持续时长,对所述样本文本特征进行上采样,得到所述样本文本表征。示例性的,对于某个样本文本1,样本文本特征为{t,i,a,n,q,i},其中t表示的是对样本文本中的文本内容t的文本特征提取结果,后面以此类推,根据其对应的音素的持续时长为{1,1,2,2,1,3},该序列的第一个元素1,表示样本文本特征的第一个元素的持续时长,后面以此类推。对样本文本1的样本文本特征进行上采样,从而样本文本表征为{t,i,a,a,n,n,q,i,i,i}。
[0127] 本公开基于样本文本中的音素在样本语音的持续时长对样本文本特征进行上采样,可以使得样本文本表征的长度与上述样本语音表征的长度一致,便于在语音合成模型训练过程中有效比较文本和语音这两类特征的差异,有效解决文本和语音这两种数据的长度不匹配导致的问题,并且长度一致的样本文本表征和样本语音表征是实现后文语音转换模型训练的数据基础,从而有利于在由文本和语音形成的联合多模态空间中提升训练得到的语音合成模型的质量。
[0128] 在步骤S104中,基于所述样本文本表征和所述样本语音表征训练初始模型,得到语音转换模型,所述语音转换模型用于将输入的文本信息转换为语音信息。
[0129] 本公开使用所述样本文本表征和所述样本语音表征训练初始模型,即可使得训练得到的语音转换模型具备将文本模态的数据转换至语音模态的数据的能力。本公开不对初始模型进行限定。该初始模型可以为非自回归模型,非自回归模型(Non‑autoregressive Netw ork)属于深度学习模型,它与传统的自回归模型不同,不依赖于序列中每个元素的逐步生成过程。该初始模型也可以使用其他类型的模型,比如生成对抗网络(GAN)或变分自编码器(VAE)。生成对抗网络(GAN)和变分自编码器(VAE)是深度学习中两种重要的生成模型。生成对抗网络(GAN)由两部分组成:生成器(Generator)和判别器(Discriminator)。变分自编码器将输入数据映射到一个潜在空间,然后通过解码器从潜在空间生成新的数据。
[0130] 在确定初始模型的模型结构的情况下即可基于所述样本文本表征和所述样本语音表征训练初始模型,对此本公开不做赘言。
[0131] 在步骤S105中,基于所述文本模型、所述语音转换模型和所述语音处理模型中的解码器,得到语音合成模型;其中,所述文本模型和所述语音处理模型均为经过预训练的模型。
[0132] 所述语音处理模型包括编码器和解码器,其中编码器在前述的步骤S102中用于生成样本语音表征,基于该样本语音表征和前述的样本文本表征可以训练得到语音转换模型,所述语音转换模型用于将输入的文本信息转换为语音信息,该语音转换模型可以与前述的文本模型,以及该语音处理模型的解码器一起构成语音合成模型。该语音处理模型的编码器和解码器是在预训练阶段一起训练得到的,是可以配对使用的。
[0133] 本公开实施例可以获取样本文本以及所述样本文本对应的样本语音;将所述样本语音输入语音处理模型中的编码器进行语音编码,得到样本语音表征;将所述样本文本输入文本模型进行文本特征提取,得到样本文本表征,所述样本文本表征和所述样本语音表征具备相同长度。其中,所述文本模型和所述语音处理模型均为经过预训练的模型,因此样本语音表征和样本文本表征可以直接得到,并且这两种表征具备相同长度,因此,可以直接基于这两种表征对初始模型进行训练,得到语音转换模型,所述语音转换模型用于将输入的文本信息转换为语音信息。该语音转换模型实质上是一种文本模态的信息和语音模态的信息之间的跨模态信息转化中间件。该中间件的训练无需在预训练模型的基础上进行调参,因此,避免了预训练模型的能力劣化问题。
[0134] 基于该中间件,结合预训练的文本模型和语音处理模型的解码器即可构建语音合成模型,将语音合成模型的训练任务转化为了中间件训练任务,从而显著减少了对样本文本和样本语音形成的数据对(训练样本)的数量的依赖,提升了训练速度,降低了训练成本,减少了训练耗时。
[0135] 在一示例性的实施方式中,所述初始模型为扩散模型。请参考图2,其是本公开实施例的语音转化模型训练过程示意图。所述基于所述样本文本表征和所述样本语音表征训练初始模型,得到语音转换模型,所述语音转换模型用于将输入的文本信息转换为语音信息,包括:
[0136] 在步骤S201中,将预设噪声和所述样本文本表征输入所述扩散模型进行噪声预测,得到语音表征预测结果。
[0137] 本公开可以设定扩散模型的扩散步数,对每一扩散步数,都计算该扩散步数下对应的预测语音表征,各扩散步数分别对应的预测语音表征都属于该语音表征预测结果。
[0138] 请参考图3,其示出本公开实施例的语音表征预测过程示意图。所述将预设噪声和所述样本文本表征输入所述扩散模型进行噪声预测,得到语音表征预测结果,包括:
[0139] 在步骤S301中,初始化当前扩散步数。
[0140] 示例性的,第一次执行步骤S301时,该当前扩散步数可以设置为0,即当前扩散步数step=0。
[0141] 在步骤302中,将所述预设噪声、所述当前扩散步数和所述样本文本表征输入所述扩散模型进行噪声预测,得到所述当前扩散步数对应的预测语音表征,所述当前扩散步数对应的预测语音表征属于所述语音表征预测结果。
[0142] 本公开对首次获取的预设噪声不做限定。示例性的,在首次获取预设噪声时,可以将该预设噪声设置为随机白噪声。在首次执行步骤S302的时候,可以将随机白噪声、step=0以及该样本文本表征一起输入该扩散模型。
[0143] 本公开并不对扩散模型的结构进行限定,请参考图4,其示出一示例性的扩散模型结构示意图。所述扩散模型包括第一特征提取层、第一激活层、线性层、扩散卷积层、第二激活层、第二特征提取层、编码层和噪声预测层;所述将所述预设噪声、所述当前扩散步数和所述样本文本表征输入所述扩散模型进行噪声预测,得到所述当前扩散步数对应的预测语音表征,包括:将所述预设噪声输入所述第一特征提取层进行特征提取,得到第一特征;将所述第一特征输入所述第一激活层进行激活处理,得到第一激活结果;将所述当前扩散步数输入所述线性层进行线性映射,得到第一映射结果;将所述第一激活结果和所述第一映射结果均输入所述扩散卷积层进行扩散卷积操作,得到扩散卷积结果;将所述样本文本表征输入所述第二特征提取层进行特征提取,得到第二特征;将所述第二特征输入所述编码层进行编码,得到编码特征;将所述编码特征和所述扩散卷积结果均输入所述第二激活层进行激活处理,得到第二激活结果;将所述第二激活结果输入所述噪声预测层进行噪声预测,得到所述当前扩散步数对应的预测语音表征。
[0144] 在图4中,左上角的Conv1D即为第一特征提取层,可以对输入的数据进行一维卷积特征提取,左上角的Conv1D的输出即为该第一特征。第一激活层为ReLU激活层,ReLU激活层的输出即为第一激活结果。ReLU(Rectified Linear Unit,修正线性单元)是一种在深度学习中广泛使用的激活函数。本公开中的Conv1D指的都是一维卷积层。
[0145] 扩散步数被输入线性层Linear,得到第一映射结果。该第一映射结果和第一激活结果可以进行特征相加(add操作),并将所得结果输入扩散卷积层(Dilated Conv1D)得到扩散卷积结果。
[0146] 右上角的Conv1D为第二特征提取层,其输出即为第二特征,将该第二特征输入编码层(Transformer Encoder)即可得到编码特征,该编码特征和前述扩散卷积结果再次进行特征相加(add操作),并将所得结果输入第二激活层,得到第二激活结果。该第二激活层包括并行的Sigmod层和Tanh层,Sigmoid层和Tanh层都是一种激活函数,它们在神经网络中用于引入非线性,使得模型能够学习和模拟更复杂的函数。第二激活结果是Sigmod层和Tanh层各自的输出进行特征融合操作(Multiplication操作)所得到的结果。
[0147] 将第二激活结果输入所述噪声预测层进行噪声预测,得到所述当前扩散步数对应的预测语音表征。在图4中,该噪声预测层包括依次连接的Conv1D、Conv1D、ReLU和Conv1D。
[0148] 本公开通过设计具体的扩散模型结构和预测语音表征的生成方式,提升预测语音表征的预测准确度,进而提升语音转换模型的训练速度和精度。
[0149] 在步骤S303中,基于所述预设噪声与所述当前扩散步数对应的预测语音表征之间的差值更新所述预设噪声。
[0150] 在step=0的时候,预测出了step=0的时候对应的预测语音表征,那么可以计算step=0的时候输入的预设噪声和输出的预测语音表征之间的差值,将该差值作为新的预设噪声,参与下一个step,即step=1的时候的语音表征预测。
[0151] 在步骤S304中,更新所述当前扩散步数,在更新后的当前扩散步数小于扩散步数阈值的情况下,重复执行所述将所述预设噪声、所述当前扩散步数和所述样本文本表征输入所述扩散模型进行噪声预测,得到所述当前扩散步数对应的预测语音表征的步骤。
[0152] 示例性的,当前扩散步数可以进行自增1操作,如果step=0,那么step可以被更新为1,从而开启下一step的语音表征预测,直至小于扩散步数阈值下的各扩散步数都存在对应的预测语音表征。本公开不对扩散步数阈值进行限定,比如,其可以被限定为100。
[0153] 通过循环进行语音表征的预测,逐步去除噪声使得预测语音表征中的信息逐步逼近样本文本表征中的信息,从而实现文本模态到语音模态的信息转化。
[0154] 在步骤S202中,基于所述样本语音表征,确定所述语音表征预测结果对应的语音表征参考结果。
[0155] 对于任一扩散步骤,都可以基于样本语音表征计算该扩散步骤下对应的参考语音表征,该参考语音表征可以被理解为该扩散步骤下用于计算扩散损失所使用的“真值”特征。也就是说,所述语音表征参考结果包括任一扩散步数对应的参考语音表征,所述任一扩散步数对应的参考语音表征是基于对应的扩散步数和所述样本语音表征确定的,本公开并不对基于样本语音表征和扩散步数,确定对应的扩散步数下的参考语音表征的具体算法进行限定和说明,因为该具体算法可以参考相关技术,不构成本公开的实施障碍。
[0156] 在步骤S203中,基于所述语音表征预测结果和所述语音表征参考结果之间的差异,调整所述扩散模型的参数,得到所述语音转换模型。
[0157] 本公开中,所述基于所述语音表征预测结果和所述语音表征参考结果之间的差异,调整所述扩散模型的参数,得到所述语音转换模型,包括:对于任一扩散步数,基于所述扩散步数对应的预测语音表征和所述扩散步数对应的参考语音表征之间的差异,确定扩散损失;基于所述扩散损失,调整所述扩散模型的参数,得到所述语音转换模型。本公开基于任一扩散步数都可以进行扩散模型的调参,因此,调参的过程不受扩散步数阈值的影响,提升扩散模型训练速度。
[0158] 本公开并不限定所述扩散步数对应的预测语音表征和所述扩散步数对应的参考语音表征之间的差异的量化方法,比如,可以使用均方误差等量化方式计算扩散损失,本公开不做赘言。本公开也不限定扩散模型的参数调整方法,比如,可以使用梯度下降法。在调参次数达到预设次数阈值,或者扩散损失小于预设损失阈值的情况下可以停止调参,得到语音转换模型,所述语音转换模型用于将输入的文本信息转换为语音信息,本公开不对预设次数阈值和预设损失阈值进行设定,可以根据实际情况自由选择,不构成实施障碍。
[0159] 在对扩散模型进行参数调整的时候,无需对预训练的文本模型和语音处理模型进行微调,即可得到语音转化模型,通过冻结参数的文本模型和语音处理模型,与基于扩散模型训练得到的语音转化模型的组合,构建了语音合成模型,既减少了训练时间和计算资源的消耗,又保证了文本模型和语音处理模型的原有能力不会发生劣化,还实现了实现语音转化模型的即插即用。
[0160] 在一个实施方式中,本公开还提供一种语音合成方法。请参考图5,其示出语音合成方法流程图。所述一种语音合成方法,所述方法包括:
[0161] 在步骤S501中,获取目标文本。
[0162] 目标文本即为需要被合成为语音的文本。
[0163] 在步骤S502中,基于语音合成模型中的文本模型对所述目标文本进行文本特征提取,得到目标文本表征;其中,所述语音合成模型通过前述的语音合成模型训练方法训练得到。
[0164] 请参考图6,其示出语音合成过程示意图。该文本模型即为前述语音合成模型中参与语音转换模型训练时使用的、被冻结参数的文本模型。该文本模型在语音合成过程中被用于输出目标文本表征。
[0165] 在步骤S503中,将所述目标文本表征输入所述语音合成模型中的语音转换模型进行语音转换,得到目标语音表征。
[0166] 该目标文本表征被输入前述训练得到的语音转化模型,请参考图6,经过训练的扩散模型即可输出该目标语音表征。具体地,该扩散模型的扩散步数阈值假设为100,那么从step=0时开始预测,一直到step=99的时候得到的预测语音表征,即可作为该目标语音表征。
[0167] 在步骤S504中,将所述目标语音表征输入所述语音合成模型中的解码器进行语音解码,得到目标语音。
[0168] 请参考图6,该目标语音表征被输入前述语音合成模型中参与语音转换模型训练时使用的、被冻结参数的语音处理模型中的解码器,即可得到目标语音。
[0169] 本公开中的语音合成方法,使用了预训练得到的文本模型和语音处理模型中的解码器,再结合训练得到的语音转换模型即可实现语音合成,实现了语音转换模型的即插即用,并且还能保证高质量的语音合成效果。
[0170] 图7是根据一示例性实施例示出的一种语音合成模型训练装置框图。参照图7,该装置包括:
[0171] 样本数据获取模块701,被配置为执行获取样本文本以及所述样本文本对应的样本语音;
[0172] 训练数据处理模块702,被配置为执行将所述样本语音输入语音处理模型中的编码器进行语音编码,得到样本语音表征;将所述样本文本输入文本模型进行文本特征提取,得到样本文本表征,所述样本文本表征和所述样本语音表征具备相同长度;
[0173] 训练模块703,被配置为执行基于所述样本文本表征和所述样本语音表征训练初始模型,得到语音转换模型,所述语音转换模型用于将输入的文本信息转换为语音信息;
[0174] 模型构建模块704,被配置为执行基于所述文本模型、所述语音转换模型和所述语音处理模型中的解码器,得到语音合成模型;
[0175] 其中,所述文本模型和所述语音处理模型均为经过预训练的模型。
[0176] 在一示例性的实施方式中,所述训练数据处理模块702,被配置为执行:
[0177] 基于所述文本模型提取所述样本文本中的文本特征,得到样本文本特征;
[0178] 获取所述样本文本中的音素对应的时长;
[0179] 基于所述样本文本中的音素对应的时长,调整所述样本文本特征的长度,得到所述样本文本表征。
[0180] 在一示例性的实施方式中,所述样本文本中的音素对应的时长包括所述样本文本中的每个音素在所述样本语音中的持续时长,所述训练数据处理模块702,被配置为执行:
[0181] 基于所述每个音素在所述样本语音中的持续时长,对所述样本文本特征进行上采样,得到所述样本文本表征。
[0182] 在一示例性的实施方式中,所述初始模型为扩散模型,所述训练模块703,被配置为执行:
[0183] 将预设噪声和所述样本文本表征输入所述扩散模型进行噪声预测,得到语音表征预测结果;
[0184] 基于所述样本语音表征,确定所述语音表征预测结果对应的语音表征参考结果;
[0185] 基于所述语音表征预测结果和所述语音表征参考结果之间的差异,调整所述扩散模型的参数,得到所述语音转换模型。
[0186] 在一示例性的实施方式中,所述训练模块703,被配置为执行:
[0187] 初始化当前扩散步数;
[0188] 将所述预设噪声、所述当前扩散步数和所述样本文本表征输入所述扩散模型进行噪声预测,得到所述当前扩散步数对应的预测语音表征,所述当前扩散步数对应的预测语音表征属于所述语音表征预测结果;
[0189] 基于所述预设噪声与所述当前扩散步数对应的预测语音表征之间的差值更新所述预设噪声;
[0190] 更新所述当前扩散步数,在更新后的当前扩散步数小于扩散步数阈值的情况下,重复执行所述将所述预设噪声、所述当前扩散步数和所述样本文本表征输入所述扩散模型进行噪声预测,得到所述当前扩散步数对应的预测语音表征的步骤。
[0191] 在一示例性的实施方式中,所述语音表征参考结果包括任一扩散步数对应的参考语音表征,所述任一扩散步数对应的参考语音表征是基于对应的扩散步数和所述样本语音表征确定的,所述训练模块703,被配置为执行:
[0192] 对于任一扩散步数,基于所述扩散步数对应的预测语音表征和所述扩散步数对应的参考语音表征之间的差异,确定扩散损失;
[0193] 基于所述扩散损失,调整所述扩散模型的参数,得到所述语音转换模型。
[0194] 在一示例性的实施方式中,所述扩散模型包括第一特征提取层、第一激活层、线性层、扩散卷积层、第二激活层、第二特征提取层、编码层和噪声预测层;所述训练模块703,被配置为执行:
[0195] 将所述预设噪声输入所述第一特征提取层进行特征提取,得到第一特征;
[0196] 将所述第一特征输入所述第一激活层进行激活处理,得到第一激活结果;
[0197] 将所述当前扩散步数输入所述线性层进行线性映射,得到第一映射结果;
[0198] 将所述第一激活结果和所述第一映射结果均输入所述扩散卷积层进行扩散卷积操作,得到扩散卷积结果;
[0199] 将所述样本文本表征输入所述第二特征提取层进行特征提取,得到第二特征;
[0200] 将所述第二特征输入所述编码层进行编码,得到编码特征;
[0201] 将所述编码特征和所述扩散卷积结果均输入所述第二激活层进行激活处理,得到第二激活结果;
[0202] 将所述第二激活结果输入所述噪声预测层进行噪声预测,得到所述当前扩散步数对应的预测语音表征。
[0203] 关于上述实施例中的装置,其中各步骤的具体方式已经在前述方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0204] 图8是根据一示例性实施例示出的一种语音合成装置框图。参照图8,该装置包括:
[0205] 文本获取模块801,被配置为执行获取目标文本;
[0206] 文本表征获取模块802,被配置为执行基于语音合成模型中的文本模型对所述目标文本进行文本特征提取,得到目标文本表征;
[0207] 语音转换模块803,被配置为执行将所述目标文本表征输入所述语音合成模型中的语音转换模型进行语音转换,得到目标语音表征;
[0208] 语音合成模块804,被配置为执行将所述目标语音表征输入所述语音合成模型中的解码器进行语音解码,得到目标语音;
[0209] 其中,所述语音合成模型通过前述的语音合成模型训练方法训练得到。
[0210] 关于上述实施例中的装置,其中各步骤的具体方式已经在前述方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0211] 请参考图9,其示出了本公开一示例性实施例提供的计算机设备的结构框图一。该计算机设备可以是终端。该计算机设备用于实施上述实施例中提供的语音合成模型训练方法或语音合成方法。具体来讲:
[0212] 通常,计算机设备900包括有:处理器901和存储器902。
[0213] 处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器901可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一示例性实施例中,处理器901可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一示例性实施例中,处理器901还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
[0214] 存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一示例性实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一个指令,至少一段程序、代码集或指令集,上述至少一条指令、至少一段程序、代码集或指令集,且经配置以由一个或者一个以上处理器执行,以实现上述语音合成模型训练方法或语音合成方法。
[0215] 在一示例性实施例中,计算机设备900还可选包括有:外围设备接口903和至少一个外围设备。处理器901、存储器902和外围设备接口903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口903相连。具体地,外围设备包括:射频电路904、触摸显示屏905、摄像头组件906、音频电路907、定位组件908和电源909中的至少一种。
[0216] 本领域技术人员可以理解,图9中示出的结构并不构成对计算机设备900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0217] 请参考图10其示出了本公开另一示例性实施例提供的计算机设备的结构框图二。该计算机设备可以是服务器,以用于执行上述语音合成模型训练方法或语音合成方法。具体来讲:
[0218] 计算机设备1000包括中央处理单元(Central Processing Unit,CPU)1001、包括随机存取存储器(Random Access Memory,RAM)1002和只读存储器(Read Only Memory,ROM)1003的系统存储器1004,以及连接系统存储器1004和中央处理单元1001的系统总线1005。计算机设备1000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O(Input/Output)系统)1006,和用于存储操作系统1013、应用程序1014和其他程序模块1011的大容量存储设备1007。
[0219] 基本输入/输出系统1006包括有用于显示信息的显示器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中显示器1008和输入设备1009都通过连接到系统总线1005的输入输出控制器1100连接到中央处理单元1001。基本输入/输出系统1006还可以包括输入输出控制器1100以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1100还提供输出到显示屏、打印机或其他类型的输出设备。
[0220] 大容量存储设备1007通过连接到系统总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。大容量存储设备1007及其相关联的计算机可读介质为计算机设备1000提供非易失性存储。也就是说,大容量存储设备1007可以包括诸如硬盘或者CD‑ROM(Compact Disc Read‑Only Memory,只读光盘)驱动器之类的计算机可读介质(未示出)。
[0221] 不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read Only Memory,电可擦可编程只读存储器)、闪存或其他固态存储其技术,CD‑ROM、DVD(Digital Video Disc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1007可以统称为存储器。
[0222] 根据本公开的各种实施例,计算机设备1000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1000可以通过连接在系统总线1005上的网络接口单元1011连接到网络1012,或者说,也可以使用网络接口单元1011来连接到其他类型的网络或远程计算机系统(未示出)。
[0223] 上述存储器还包括计算机程序,该计算机程序存储于存储器中,且经配置以由一个或者一个以上处理器执行,以实现上述语音合成模型训练方法或语音合成方法。
[0224] 在示例性实施例中,还提供了一种计算机可读存储介质,上述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,上述至少一条指令、上述至少一段程序、上述代码集或上述指令集在被处理器执行时以实现上述语音合成模型训练方法或语音合成方法。
[0225] 可选地,该计算机可读存储介质可以包括:ROM(Read Only Memory,只读存储器)、RAM(Random Access Memory,随机存取记忆体)、SSD(Solid State Drives,固态硬盘)或光盘等。其中,随机存取记忆体可以包括ReRAM(Resistance Random Access Memory,电阻式随机存取记忆体)和DRAM(Dynamic Random Access Memory,动态随机存取存储器)。
[0226] 在示例性实施例中,还提供了一种包括程序代码的计算机可读存储介质,例如包括程序代码的存储器,上述程序代码可由处理器执行以完成上述语音合成模型训练方法或语音合成方法。可选地,计算机可读存储介质可以是只读内存(read‑only memory,ROM)、随机存取存储器(random access memory),RAM)、只读光盘(compact‑disc read‑only memory,CD‑ROM)、磁带、软盘和光数据存储设备等。
[0227] 在示例性实施例中,还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的语音合成模型训练方法或语音合成方法。
[0228] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0229] 应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

当前第1页 第1页 第2页 第3页