首页 > 乐器声学 专利正文
多语言语音合成和跨语言话音克隆的制作方法

时间:2022-02-06 阅读: 作者:专利查询

多语言语音合成和跨语言话音克隆的制作方法

1.本公开涉及多语言语音合成和跨语言话音克隆。


背景技术:

2.最近的端到端(e2e)神经文本至语音(tts)模型使得能够通过在除了文本之外的潜在表示上调节语音合成来控制讲话者身份以及未标记语音属性,例如韵律。当使用语言相关输入表示或模型组件时,尤其是当每语言的训练数据的量不平衡时,扩展这些tts模型以支持多种不相关的语言是非平凡的。
3.作为示例,在诸如普通话和英语的一些语言之间的文本表示方面可能有很少或没有重叠。因为来自双语讲话者的录音收集起来昂贵,所以在训练集中的每个讲话者只说一种语言的常见情况下,讲话者身份完美地与语言相关。这使得难以跨不同的语言转移话音,这是所希望的特征,特别是当特定语言的可用训练话音的数目小时。此外,对于具有借用或共享词如西班牙语(es)和英语(en)中的专有名词的语言,相同文本的发音可能不同。当单纯地训练的模型有时为特定讲话者生成带口音的语音时,这添加更多的歧义。


技术实现要素:

4.本公开的一个方面提供一种用于从输入文本序列合成语音的方法。该方法包括:在数据处理硬件处接收要被合成为第一语言的语音的输入文本序列;以及通过数据处理硬件获得指定目标讲话者的特定话音特性以用于将输入文本序列合成为克隆目标讲话者的话音的语音的讲话者嵌入。目标讲话者包括与第一语言不同的第二语言的母语讲话者。该方法还包括:通过数据处理硬件使用文本至语音(tts)模型来通过处理输入文本序列和讲话者嵌入而生成输入文本序列的输出音频特征表示。输出音频特征表示包括由讲话者嵌入指定的目标讲话者的话音特性。
5.本公开的实现方式可以包括以下可选特征中的一个或多个。在一些实现方式中,该方法还包括通过数据处理硬件获得指定语言相关信息的语言嵌入。在这些实现方式中,处理输入文本和讲话者嵌入进一步包括处理输入文本、讲话者嵌入和语言嵌入以生成输入文本的输出音频特征表示,该输出音频特征表示进一步具有由语言嵌入指定的语言相关信息。语言相关信息可以与目标讲话者的第二语言相关联,并且指定语言相关信息的语言嵌入可以是从由一个或多个不同的讲话者用第二语言讲出的训练话语获得的。在其他示例中,语言相关信息可以与第一语言相关联,并且指定语言相关信息的语言嵌入可以是从由一个或多个不同的讲话者用第一语言讲出的训练话语获得的。
6.在一些示例中,生成输入文本的输出音频特征表示包括对于多个时间步中的每个时间步:使用编码器神经网络来处理该时间步的输入文本序列的相应部分以生成该时间步的对应文本编码;以及使用解码器神经网络来处理该时间步的文本编码以生成该时间步的对应输出音频特征表示。这里,编码器神经网络可以包括卷积子网络和双向长短期记忆(lstm)层。附加地,解码器神经网络可以包括自回归神经网络,该自回归神经网络包括长短
期记忆(ltsm)子网络、线性变换和卷积子网络。
7.输出音频特征表示可以包括梅尔频谱图。在一些实现方式中,该方法还包括:通过数据处理硬件使用波形合成器来使输出音频特征表示转化成时域波形;以及通过数据处理硬件使用时域波形来生成输入文本序列的合成语音表示,该合成语音表示以第一语言克隆目标讲话者的话音。
8.可以在第一语言训练集和第二语言训练集上训练tts模型。第一语言训练集包括用第一语言讲出的多个话语和对应参考文本,而第二语言训练集包括用第二语言讲出的多个话语和对应参考文本。在附加示例中,在一个或多个附加语言训练集上进一步训练tts模型,一个或多个附加语言训练集中的每个附加语言训练集包括以相应语言讲出的多个话语和对应参考文本。这里,每个附加语言训练集的相应语言与每个其他附加语言训练集的相应语言不同并且与第一语言和第二语言不同。
9.输入文本序列可以对应于字符输入表示或音素输入表示。可选地,输入文本序列可以对应于8位unicode变换格式(utf

8)编码序列。
10.本公开的另一方面提供一种用于从输入文本序列合成语音的系统。该系统包括:数据处理硬件;以及存储器硬件,该存储器硬件与数据处理硬件通信并存储指令,这些指令当由数据处理硬件执行时使数据处理硬件执行操作。操作包括接收要被合成为第一语言的语音的输入文本序列并且获得指定目标讲话者的特定话音特性以用于将输入文本序列合成为克隆目标讲话者的话音的语音的讲话者嵌入。目标讲话者包括与第一语言不同的第二语言的母语讲话者。操作还包括使用文本至语音(tts)模型来通过处理输入文本序列和讲话者嵌入而生成输入文本序列的输出音频特征表示。输出音频特征表示包括由讲话者嵌入指定的目标讲话者的话音特性。
11.此方面可以包括以下可选特征中的一个或多个。在一些实现方式中,操作还包括获得指定语言相关信息的语言嵌入。在这些实现方式中,处理输入文本和讲话者嵌入进一步包括处理输入文本、讲话者嵌入和语言嵌入以生成输入文本的输出音频特征表示,该输出音频特征表示进一步具有由语言嵌入指定的语言相关信息。语言相关信息可以与目标讲话者的第二语言相关联,并且指定语言相关信息的语言嵌入可以是从由一个或多个不同的讲话者用第二语言讲出的训练话语获得的。在其他示例中,语言相关信息可以与第一语言相关联,并且指定语言相关信息的语言嵌入可以是从由一个或多个不同的讲话者用第一语言讲出的训练话语获得的。
12.在一些示例中,生成输入文本的输出音频特征表示包括对于多个时间步中的每个:使用编码器神经网络来处理该时间步的输入文本序列的相应部分以生成该时间步的对应文本编码;以及使用解码器神经网络来处理该时间步的文本编码以生成该时间步的对应输出音频特征表示。这里,编码器神经网络可以包括卷积子网络和双向长短期记忆(lstm)层。附加地,解码器神经网络可以包括自回归神经网络,该自回归神经网络包括长短期记忆(ltsm)子网络、线性变换和卷积子网络。
13.输出音频特征表示可以包括梅尔频谱图。在一些实现方式中,操作还包括:使用波形合成器来使输出音频特征表示转化成时域波形;以及使用时域波形来生成输入文本序列的合成语音表示,该合成语音表示以第一语言克隆目标讲话者的话音。
14.可以在第一语言训练集和第二语言训练集上训练tts模型。第一语言训练集包括
用第一语言讲出的多个话语和对应参考文本,第二语言训练集包括用第二语言讲出的多个话语和对应参考文本。在附加示例中,在一个或多个附加语言训练集上进一步训练tts模型,一个或多个附加语言训练集中的每个附加语言训练集包括以相应语言讲出的多个话语和对应参考文本。这里,每个附加语言训练集的相应语言与每个其他附加语言训练集的相应语言不同并且与第一语言和第二语言不同。
15.输入文本序列可以对应于字符输入表示或音素输入表示。可选地,输入文本序列可以对应于8位unicode变换格式(utf

8)编码序列。
16.在附图和下面的描述中阐述了本公开的一种或多种实施方式的细节。从描述和附图以及从权利要求中,其他方面、特征和优点将是显而易见的。
附图说明
17.图1是能够以多种语言产生高质量语音的增强型文本到语音(tts)模型的示意图。
18.图2是图1的tts模型的解码神经网络的示例解码架构的示意图。
19.图3是用于从输入文本序列产生合成语音的方法的示例操作布置。
20.图4是可用于实现本文描述的系统和方法的示例计算设备的示意图。
21.各种附图中相同的参考符号指示相同的元件。
具体实施方式
22.其中的实现方式致力于将端到端(e2e)文本至语音(tts)模型增强为能够以多种语言产生高质量语音的多讲话者、多语言tts模型。特别地,该模型能够以第一母语语言接收短语的输入文本并且以与第一母语语言不同的第二母语语言产生该短语的合成语音。此外,tts模型能够通过使用第一母语语言(例如,英语)讲话者的话音来合成第二母语语言(例如,西班牙语)的流畅语音而跨不同的母语语言转移话音,而无需在任何双语或并行训练示例上训练tts模型。值得注意的是,tts模型能够跨远相关(例如,很少或没有重叠)语言——诸如如英语和普通话——进行话音转移。
23.参考图1,在一些实现方式中,多讲话者、多语言tts模型100包括推理网络101、对抗性损失模块107和合成器111。推理网络101包括残差编码器102,该残差编码器被配置成消费与语音话语相对应的输入音频特征104并且输出音频特征104的残差编码分量105。音频特征104可以包括输入梅尔谱图表示。合成器111包括文本编码器112、讲话者嵌入模块116、语言嵌入模块117和解码器神经网络118。文本编码器112可以包括具有卷积子网络和双向长短期记忆(lstm)层的编码器神经网络。解码器神经网络118被配置成接收来自文本编码器112、讲话者嵌入模块116和语言嵌入模块117的输出115、116a、117a作为输入以生成输出梅尔谱图119。最后,波形合成器图125可以使从解码器神经网络118输出的梅尔谱图119转化成特定自然语言的输入文本序列的口头话语的时域波形126,即,输入文本序列114的合成语音表示。在一些实现方式中,波形合成器是griffin

lim合成器。在一些其他实现方式中,波形合成器是声码器。例如,波形合成器125可以包括wavernn声码器。这里,wavernn声码器125可以生成以由tts模型100预测的谱图为条件的以24khz采样的16位信号。在一些其他实现方式中,波形合成器是可训练的谱图至波形变换器。在波形合成器125生成波形之后,音频输出系统能够使用波形126来生成语音150并且提供所生成的语音150
以供例如在用户设备上重放,或者将所生成的波形126提供给另一系统以允许另一系统生成并重放语音。在一些示例中,wavenet神经声码器替换波形合成器125。与由波形合成器125产生的合成语音相比,wavenet神经声码器可以提供不同音频保真度的合成语音。
24.文本编码器112被配置成将输入文本序列114编码成文本编码115的序列,115a

n。在一些实现方式中,文本编码器112包括注意力网络,该注意力网络被配置成接收输入文本序列的顺序特征表示以生成对应文本编码作为解码器神经网络118的每个输出步的固定长度上下文向量。也就是说,文本编码器112处的注意力网络可以针对解码器神经网络118将稍后生成的梅尔频谱图119的每个帧生成固定长度上下文向量115,115a

n。帧是梅尔频谱图118的单位,其基于输入信号的小部分,例如输入信号的10毫秒样本。注意力网络可以确定用于编码器输出的每个元素的权重并且通过确定每个元素的加权和来生成固定长度上下文向量115。注意力权重可能针对每个解码器时间步改变。
25.因此,解码器神经网络118被配置成接收固定长度上下文向量(例如,文本编码)115作为输入并且生成梅尔频谱图119的对应帧作为输出。梅尔频谱图119是声音的频域表示。梅尔频谱图强调对语音可懂度至关重要的低频率,同时不强调由摩擦音和其他噪声突发主导并且通常不需要以高保真度建模的高频率。
26.在一些实现方式中,解码器神经网络118包括被配置成基于输入文本序列114生成输出对数梅尔谱图帧例如输出梅尔谱图119的序列的基于注意力的序列至序列模型。例如,解码器神经网络118可以基于tacotron 2模型(参见通过引用并入本文的在例如https://arxiv.org/abs/1712.05884处的j.shen等人的“natural tts synthesis by conditioning wavenet on mel spectrogram predictions(通过在mel频谱图预测上调节wavenet的自然tts合成)”)。tts模型100提供增强型多语言tts模型,该增强型多语言tts模型用附加讲话者输入116a(例如,讲话者嵌入组件116)以及可选地语言嵌入输入117a(例如,语言嵌入组件117)、对抗性地训练的讲话者分类器(例如,讲话者分类器组件110)和变分自动编码器式残差编码器(例如,残差编码器102)扩增解码器神经网络118。
27.用讲话者分类器组件110、残差编码器102、讲话者嵌入组件116和/或者语言嵌入组件117中的一个或多个扩增基于注意力的序列至序列解码器神经网络118的增强型多语言tts模型100显著地提供许多积极结果。即,tts模型100使得能够对于输入文本序列114使用音素输入表示以鼓励跨不同的自然语言共享模型容量,并且并入对抗性损失项108以鼓励模型100根据语音内容解耦模型100如何表示完美地与训练数据中使用的语言相关的讲话者身份。针对每种不同的自然语言在多个讲话者上进一步训练有助于按比例扩大增强型多语言tts模型100,并且并入自动编码输入(例如,残差编码分量)105以在训练期间稳定解码器神经网络118的注意力使得模型100能够一致地合成易懂语音150以用于以在训练期间看到的所有语言且以母语或外国口音训练讲话者10。
28.值得注意的是,应用于解码器神经网络118的前述调节扩展(例如,组件105、110、116、117)允许在单语讲话者上训练模型100以实现多种不同的语言的高质量语音合成,同时允许跨不同的语言转移训练话音。附加地,模型100用对口音的适度控制来学习说外语,并且支持代码切换/混合。本文的实现方式允许通过利用大量低质量训练数据来按比例扩大训练数据的量,并且支持许多讲话者和许多语言。
29.与依靠unicode编码“字节”输入表示来在多种不同的语言——例如,英语、西班牙
语和普通话——中的每一种语言的一个讲话者上训练的常规多语言tts系统不同,增强型多语言tts模型100评价不同的输入表示,从而按比例扩大每种语言的训练讲话者的数目和扩展以支持跨语言话音克隆。值得注意的是,tts模型100在没有语言特定组件的单个级中训练并且获得目标外语的合成语音的自然度。这里,术语合成语音的“自然度”是指合成语音的口音与目标自然语言的母语讲话者的口音匹配的程度。“自然度”可以基于经由主观听力测试对语音自然度的众包平均意见分数(mos)评估,所述主观听力测试在从一(1)到五(5)的评级等级上按0.5增量对合成语音的自然度进行评级,其中评级“5”将所得的语音评价为最自然的。相反地,对于跨语言话音克隆,合成语音的“相似性”是指通过使目标语言的合成语音的每个话语与来自同一讲话者的对应参考话语配对合成语音与参考讲话者的身份相似的程度。主观听力测试还可以使用对语音相似性的众包mos评价来使用从一(1)到五(5)的相同评级标度等级按0.5增量评价合成语音的“相似性”,其中评级“5”将所得的语音评价为与参考讲话者的身份最“相似”。在unicode编码“字节”输入表示上训练的附加细节能够在通过引用并入本文的在https://arxiv.org/abs/1811.09021处找到的li等人的“bytes are all you need:end

to

end multilingual speech recognition and synthesis with bytes”中找到。
30.现在参考图2,用于解码器神经网络118的示例解码器架构200包括前一时间步的梅尔频谱图预测通过的前网络(pre

net)210。前网络210可以包括隐藏relu的两个全连接层。前网络210作为用于学习注意力的信息瓶颈以在训练期间提高收敛速度并且改进语音合成系统的泛化能力。为了在推理时引入输出变化,可以对前网络中的层应用具有概率0.5的丢弃(dropout)。
31.在一些实现方式中,解码器架构200还包括具有两个或更多个lstm层的长短期记忆(lstm)子网络220。在每个时间步,lstm子网220接收该时间步的前网络210的输出和固定长度上下文向量202的级联。lstm层可以用概率为例如0.1的失活(zoneout)来正则化。线性投影230接收lstm子网络220的输出作为输入并且产生梅尔频谱图119p的预测。
32.在一些示例中,具有一个或多个卷积层的卷积后网络(post

net)240处理时间步的预测梅尔频谱图119p以预测残差242以在加法器244处添加到预测梅尔频谱图119p。这改进整体重构。除了最后卷积层之外的每个卷积层可以后面有分批归一化和双曲正切(tanh)激活。卷积层使用概率为例如0.5的丢弃来正则化。残差242被添加到通过线性投影230生成的预测梅尔频谱图119p,并且可以将和(即,梅尔频谱图119)提供给声码器125。
33.在一些实现方式中,与解码器神经网络118预测每个时间步的梅尔频谱图119并行地,lstm子网络220的输出和固定长度上下文向量115(例如,来自图1的文本编码器112的文本编码输出)的级联被投影到标量并且通过sigmoid激活以预测梅尔频谱图119的输出序列已完成的概率。在推理期间使用这种“停止标记”预测以允许模型动态地确定何时终止生成,而不是总是在固定持续时间内生成。当停止标记指示生成已终止时,即,当停止标记概率超过阈值时,解码器神经网络118停止预测梅尔频谱图119p并且返回直到那时预测的梅尔频谱图。替换地,解码器神经网络118可以总是生成相同长度(例如,10秒)的梅尔频谱图119。
34.返回参考图1,tts模型100被实现在说英语的用户10的计算设备120上。用户设备120包括数据处理硬件121和存储指令的存储器硬件123,所述指令当在数据处理硬件121上
被执行时使数据处理硬件121执行音频子系统,该音频子系统被配置成从用户10接收口语输入140并且从tts模型110输出合成语音150。虽然在该示例中用户设备120包括移动设备,但是用户设备120的其他示例包括任何类型的计算设备,诸如智能电话、平板、物联网(iot)设备、可穿戴设备、数字助理设备或台式或膝上型计算机。在其他示例中,tts模型100的组件中的一些或全部驻留在与用户设备120通信的远程计算设备如分布式计算系统的服务器上。
35.图1还图示了用户10与用户设备120之间的示例交互。在阶段a,设备120从用户10捕获口语输入140,所述用户用第一自然语言英语陈述“okay computer,say

where is the bathroom?’in french(好的计算机,用法语说出

浴室在哪里?’)。”话语在阶段b由tts模型100处理,并且在阶段c,tts模型100以完美口音的法语并克隆(例如,话音转移)用户10的话音输出陈述“o
ù
se trouvent les toilettes?(卫生间在哪里)?”的合成语音150。尽管用户10未说法语,并且不管解码器神经网络118未在用以法语讲出话语的用户10的任何样本进行训练,tts模型110都能够将用户10的话音转化成法语的合成语音150。在此示例中,语音识别器可以将口语输入140转换成母语语言法语的输入文本序列114。这里,语音识别器可以是被配置成将第一自然语言(例如,英语)的音频转录成第二自然语言(例如,法语)的对应文本的多语言语音识别器。替换地,语音识别器可以将音频转录成第一母语语言的对应文本并且翻译器可以将文本音译成不同的第二自然语言的输入文本序列114。
36.在一些实现方式中,推理网络101的残差编码器102对应于将来自训练话语的输入音频特征104的潜在因素——诸如韵律和背景噪声——编码到残差编码分量105中的变分自动编码器。这里,残差编码分量105对应于潜在嵌入。这些潜在因素通常在训练期间在解码器神经网络118的调节输入中未很好地表示,由此调节输入可以包括表示对应训练话语的输入文本序列114、与训练话语的讲话者相关联的讲话者嵌入116、以及与训练话语的母语语言相关联的语言嵌入117。因此,残差编码器102在训练期间将残差编码分量105传递到解码器神经网络118以在从训练话语的输入音频特征104(例如,目标输入梅尔频谱图表示)获得的潜在嵌入上调节解码器神经网络118。在推理期间,推理网络101可以简单地将先验均值(例如,全零)传递给解码器神经网络118以改进跨语言讲话者转移的稳定性并且导致所得的合成语音150的改进的自然度。
37.tts模型100可以评价对于输入文本序列114使用不同的文本表示的效果。例如,文本表示可以包括字符或音素输入表示或其混合,例如,如由文本编码器112所生成的。与每个字符或字素相对应的嵌入(例如,文本编码115)通常是e2e tts系统的默认输入,从而要求tts系统隐式地学习如何发音输入词,即,作为语音合成任务的一部分的字素到音素转换。将基于字素的输入词汇扩展到多语言设置通过简单地级联每种语言的训练语料库中的字素集而发生。这对于具有大字母表的语言可能快速地增长,例如普通话词汇包含超过4.5k个标记。在一些实现方式中,在训练语料库中出现的所有字素都被级联,从而导致总共4,619个标记。等效字素被跨语言共享。在推理期间所有先前看不见的字符都可以被映射到特殊词表外(oov)符号。
38.在一些示例中,文本表示源自8位unicode变换格式(utf

8),该utf

8对应于多语言设置中能够使用一至四个单字节(8位)代码单元按unicode对所有1,112,064个有效代码点进行编码的可变宽度字符编码。因此,本文的实现方式可以通过使用256个可能的值作为
每个输入标记(例如,文本编码115)来将输入文本序列114的表示基于utf

8编码,其中从字素到字节的映射是语言相关的。对于具有单字节字符的语言,例如英语,此表示相当于字素表示。然而,对于具有多字节字符的语言,例如普通话,tts模型必须学会注意字节的一致序列以正确地生成对应语音。另一方面,由于较少数目的输入标记,使用utf

8字节表示可以促进在语言之间共享表示。
39.另一方面,音素输入表示可以通过放弃模型100针对诸如英语的语言学习复杂发音规则的需要来简化语音合成任务。与基于字素的模型类似,等同音素被跨语言共享。所有可能的音素符号都被级联,以获得总共88个标记。
40.为了学习合成普通话语言,模型100可以通过针对四种可能的声调中的每一种学习音素独立嵌入来并入声调信息,并且将每个声调嵌入广播到对应音节内部的所有音素嵌入。对于诸如英语和西班牙语的语言,声调嵌入被包括主重音和次重音的重音嵌入替换。特殊符号可以表示没有声调或重音的情况。
41.其中一些语言可能仅具有少数讲话者的训练话语的训练数据稀疏性使训练多语言tts模型100以跨不同的语言产生高质量合成语音有挑战性。例如,在训练数据中每语言仅有一个讲话者的极端场景中,讲话者身份和语言标识符(id)本质上是相同的。在一些实现方式中,tts模型100并入对抗性损失模块107以采用域对抗性训练来主动地阻止每个文本编码115也捕获讲话者信息。在这些实现方式中,对抗性损失模块107包括:梯度反转组件109,其接收文本编码115并生成对抗性损失项108;以及讲话者分类器110,其基于文本编码115和对抗性损失项108产生讲话者标签s
i
。因此,域对抗性训练鼓励模型100通过引入梯度反转组件109和讲话者分类器110用于以讲话者无关方式对文本进行编码来学习文本编码115和讲话者身份的解耦表示。
42.注意,讲话者分类器是按与模型的其余部分不同的目标而优化的,具体地其中t
i
是文本编码,s
i
是讲话者标签,并且ψ
s
是用于讲话者分类器的参数。为了训练完整模型,在此讲话者分类器100之前插入梯度反转组件109(例如,梯度反转层),这将梯度扩缩λ。可选地,可以在变分音频编码器之上插入另一对抗性层以鼓励它学习讲话者无关表示。
43.对抗性损失模块107单独地对文本编码115的每个元素强加对抗性损失项108以便鼓励tts模型100学习语言无关讲话者嵌入116空间。因此,当对于每种语言仅一个训练讲话者可用时,在每输入标记基础上引入对抗性损失项108以实现跨语言话音转移。和从背景噪声中解耦讲话者身份的技术对比,一些输入标记(例如,文本编码115)是高度语言相关的,这可能导致不稳定的对抗性分类器梯度。因此,本文的实现方式通过裁剪从梯度反转组件109输出的梯度以限制此类异常值的影响来解决此问题。在一些示例中,梯度反转组件109应用具有因子0.5的梯度裁剪。
44.在一些示例中,tts模型100使用来自多个讲话者的如下三种语言中的每一种的高质量语音话语的训练集来训练:英语(en);西班牙语(es);和普通话(cn)。在一些示例中,跨三种语言的训练话语是不平衡的。例如,英语训练语音话语可以包括来自具有美国、英国、澳大利亚和新加坡口音的84位专业话音演员的385小时,然而西班牙语训练语音话语仅包括来自具有卡斯蒂利亚语和美式西班牙语口音的三位女性讲话者的97小时并且普通话训练语音话语仅包括来自五位讲话者的68小时。
45.解码器神经网络118可以在每个解码器步接收64维讲话者嵌入116和3维讲话者嵌入117的级联。合成语音150通过从解码器神经网络输出的128维对数梅尔谱图帧119的序列来表示,该序列可以从移位了12.5毫秒的50毫秒窗口计算。此外,变分自动编码器102(例如,残差编码器)可以包括将可变长度梅尔谱图104映射到对高斯后验的均值和对数方差进行参数化的两个向量的架构。讲话者分类器110可以包括具有一个256单元隐藏层的全连接网络,该一个256单元隐藏层后面是预测讲话者身份的softmax。在一些示例中,分别用权重1.0和0.02训练合成器101和讲话者分类器110。在一些示例中,波形合成器125包括wavernn声码器125,从而每模型合成100个样本,由此每个样本由六个评级者评级。wavernn声码器125的使用允许产生与高保真度音频相关联的时域波形126以类似于mos评级限制方差量。
46.对于每种语言,本文的技术选取一个讲话者以用于相似性测试。在测试时,发现英语讲话者与西班牙语和普通话讲话者不相似(mos低于2.0),然而西班牙语和普通话讲话者稍微相似(mos约2.0)。与英语和es相比,普通话讲话者具有更自然的变异性,从而导致较低的自相似性。
47.当英语和普通话评级者评价相同的英语和普通话测试集时,mos分数是一致的。具体地,评级者能够跨不同的语言区别讲话者。然而,在对合成语音进行评级时,据观察与来自同一讲话者的更流利语音相比,说英语的评级者常常认为“重口音”合成普通话语音听起来与目标英语讲话者更相似。
48.对于所有三种语言(例如,英语、西班牙语和普通话),基于字节的模型使用256维softmax输出。单语言字符和音素模型可以各自使用与训练语言相对应的不同的输入词汇。测试已表明,对于普通话,由于罕见和词汇外(oov)词,在基于音素的文本编码上训练tts模型100表现显著地比当在字符0或基于字节的变体上训练tts模型100时更好。为了简单,在训练期间不添加词边界。多讲话者模型执行地大约与每语言变体的单个讲话者相同。总的来说,当使用音素输入时,所有语言获得高于4.0的mos分数。
49.在一些实现方式中,tts模型100的跨语言话音克隆性能通过简单地传入与来自输入文本114的不同语言相对应的讲话者嵌入116a——例如,来自讲话者嵌入组件116——来评价所得的合成语音150将目标讲话者的话音克隆成新语言的程度。测试被执行来示出在数据最差场景中来自英语讲话者的话音克隆性能,其中对每种训练语言(1en 1es 1cn)来说仅单个讲话者可用,而不使用讲话者对抗性损失108。使用字符或字节文本编码115输入,即使在自然度显著地减小情况下,也可以将英语讲话者克隆为具有高相似性mos的西班牙语。然而,将英语话音克隆为普通话失败了,使用音素输入来克隆为西班牙语和普通话也是如此。添加对抗性讲话者分类器使得能实现英语讲话者到普通话的跨语言克隆,同时对于字节和音素模型两者具有非常高的相似度mos。基于音素的文本编码115的使用可以用于保证发音是正确的并且得到更流畅语音。
50.并入对抗性损失项108迫使文本表示114为不太语言特定的,而是依靠例如来自语言嵌入组件117的语言嵌入117a,以捕获语言相关信息。跨所有语言对,模型100能够以约3.9或更高的自然度mos在所有话音中合成语音150。
51.高自然度和相似度mos分数指示模型能够成功地将英语话音转移为几乎没有口音的西班牙语和普通话。当不管目标语言如何都一致地在英语语言嵌入上调节时,模型产生更多带英语口音的西班牙语和普通话语音,这导致较低的自然度但较高的相似度mos分数
52.最后,测试已演示了使用变分残差编码器102来训练以稳定模型输出的重要性。对于没有残差编码器102的en至cn克隆,自然度mos减小了0.4个点。在比较两个模型的输出时,由本说明书描述的技术已表明,没有残差编码器102的模型往往跳过罕见词或者在输出语音中插入不自然的停顿。这指示vae先验学习帮助稳定注意力的模式。
53.图3图示合成克隆目标讲话者10的话音的语音的方法300的操作的示例布置的流程图。在操作302,方法300包括在数据处理硬件121处接收要合成为第一语言的语音150的输入文本序列114。例如,第一语言可以包括西班牙语。输入文本序列114可以对应于字符输入表示(例如,字素)、音素输入表示或包括字符和音素的组合的混合表示。在一些其他示例中,文本输入序列114包括8位unicode变换格式(utf

8)编码序列。
54.在操作304,方法300包括在数据处理硬件121处获得指定目标讲话者10的话音特性以用于将输入文本序列114合成为克隆目标讲话者10的话音的语音150的讲话者嵌入116a。目标讲话者10包括与第一语言不同的第二语言的母语讲话者。例如,目标讲话者10可以说英语作为母语语言。此外,第一语言对目标讲话者10而言可能是陌生的,使得目标讲话者10不能说或理解第一语言。讲话者嵌入116a可以与讲话者相关联。可以在基于由目标讲话者用第二语言(例如,英语)讲出的训练话语训练文本至语音(tts)模型100期间学习讲话者嵌入116a。在一些实现方式中,tts模型100并入对抗性损失模块107以采用域对抗性训练来主动地阻止与训练话语相对应的文本编码115也捕获讲话者信息。在这些实现方式中,对抗性损失模块107包括:梯度反转组件109,其接收文本编码115并生成对抗性损失项108;以及讲话者分类器110,其基于文本编码115和对抗性损失项108产生讲话者标签s
i

55.在操作306,该方法还包括通过数据处理硬件121使用tts模型100来通过处理输入文本序列114和讲话者嵌入116a而生成输入文本序列114的输出音频特征表示118。输出音频特征表示118具有由讲话者嵌入116a指定的目标讲话者10的话音特性。
56.方法300可以进一步获得指定语言相关信息的语言嵌入117a,并且在处理输入文本序列114和讲话者嵌入116a的同时处理语言嵌入117a以生成输出音频特征表示118。在一些示例中,语言相关信息与目标讲话者的第二语言相关联,并且指定语言相关信息的语言嵌入117a是从由一个或多个不同的讲话者用第二语言讲出的训练话语获得的。在其他示例中,语言相关信息与第一语言相关联,并且指定语言相关信息的语言嵌入117a是从由一个或多个不同的讲话者用第一语言讲出的训练话语获得的。
57.软件应用(即,软件资源)可以指使计算设备执行任务的计算机软件。在一些示例中,软件应用可以被称为“应用”、“app”或“程序”。示例应用包括但不限于系统诊断应用、系统管理应用、系统维护应用、文字处理应用、电子表格应用、消息传递应用、媒体流应用、社交联网应用和游戏应用。
58.非暂时性存储器可以是用于在临时或永久基础上存储程序(例如,指令序列)或数据(例如,程序状态信息)以用于计算设备使用的物理设备。非暂时性存储器可以是易失性和/或非易失性可寻址半导体存储器。非易失性存储器的示例包括但不限于闪存和只读存储器(rom)/可编程只读存储器(prom)/可擦除可编程只读存储器(eprom)/电子可擦除可编程只读存储器(eeprom)(例如,通常用于固件,诸如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、相变存储器(pcm)以及磁盘或者磁带。
59.图4是可以被用于实现本文档中所描述的系统和方法的示例计算设备400的示意图。计算设备400旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机以及其它适当的计算机。本文所示的组件、它们的连接和关系以及它们的功能仅是示例性的,并不意味着限制本文档中描述和/或要求保护的发明的实施方式。
60.计算设备400包括处理器410、存储器420、存储设备430、连接到存储器420和高速扩展端口450的高速接口/控制器440,以及连接到低速总线470和存储设备430的低速接口/控制器460。组件410、420、430、440、450和460中的每个组件使用各种总线互连,并且可以被安装在公共主板上或适当地以其它方式被安装。处理器410能够处理用于在计算设备400内执行的指令,包括存储在存储器420中或存储在存储设备430上的指令,以在诸如耦合到高速接口440的显示器480的外部输入/输出设备上显示用于图形用户界面(gui)的图形信息。在其它实施方式中,多个处理器和/或多个总线可以适当地被使用,连同多个存储器和存储器类型。此外,多个计算设备400可以被连接,其中每个设备提供必要操作的部分(例如,作为服务器组、刀片服务器组或多处理器系统)。
61.存储器420在计算设备400内非暂时性地存储信息。存储器420可以是计算机可读介质、易失性存储器单元或非易失性存储器单元。非暂时性存储器420可以是用于在临时或永久基础上存储程序(例如,指令序列)或数据(例如,程序状态信息)以用于计算设备400使用的物理设备。非易失性存储器的示例包括但不限于闪存和只读存储器(rom)/可编程只读存储器(prom)/可擦可编程只读存储器(eprom)/电子可擦可编程只读存储器(eeprom)(例如,通常用于固件,诸如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、相变存储器(pcm)以及磁盘或磁带。
62.存储设备430能够为计算设备400提供大容量存储。在一些实施方式中,存储设备430可以是计算机可读介质。在各种不同的实施方式中,存储设备430可以是软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其它类似的固态存储设备,或设备阵列,包括在存储区域网络或其它配置中的设备。在另外的实施方式中,计算机程序产品被有形地体现为信息载体。该计算机程序产品包含指令,所述指令在被执行时执行一种或多种方法,诸如上述那些方法。信息载体是计算机或机器可读介质,诸如存储器420、存储设备430或处理器410上的存储器。
63.高速控制器440管理计算设备400的带宽密集型操作,而低速控制器460管理较低的带宽密集型操作。这种职责分配仅是示例性的。在一些实施方式中,高速控制器440被耦合到存储器420、显示器480(例如,通过图形处理器或加速器)和可以接受各种扩展卡(未示出)的高速扩展端口450。在一些实施方式中,低速控制器460被耦合到存储设备430和低速扩展端口490。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口490可以例如通过网络适配器被耦合到一个或多个输入/输出设备,诸如键盘、定点设备、扫描仪或联网设备,诸如交换机或路由器。
64.如图所示,可以以多种不同形式来实现计算设备400。例如,其可以被实现为标准服务器400a或在这样的服务器400a的组中多次实现,被实现为膝上型计算机400b或被实现为机架服务器系统400c的一部分。
65.本文中所描述的系统和技术的各种实施方式能够以数字电子和/或光学电路、集成电路、专门设计的asic(应用专用集成电路)、计算机硬件、固件、软件和/或其组合被实现。这些各种实施方式能够包括在一个或多个计算机程序中的实施方式,该计算机程序在包括至少一个可编程处理器的可编程系统上是可执行的和/或可解释的,该可编程处理器可以是专用的或通用的,被耦合以从存储系统、至少一个输入设备以及至少一个输出设备接收数据和指令,并将数据和指令传送到这些设备。
66.这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且能够以高级过程和/或面向对象的编程语言和/或以汇编/机器语言被实现。如本文中使用的,术语“机器可读介质”和“计算机可读介质”是指任何计算机程序产品、非暂时性计算机可读介质、用于向可编程处理器提供机器指令和/或数据的装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(pld)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
67.本说明书中所描述的过程和逻辑流程能够由执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能的一个或多个可编程处理器,也被称为数据处理硬件,来执行。过程和逻辑流程也能够由专用逻辑电路执行,例如fpga(现场可编程门阵列)或asic(应用专用集成电路)。例如,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的例如磁盘、磁光盘或光盘的大容量存储设备或可操作地耦合至该大容量存储设备以从其接收数据或向其传输数据,或者两者。然而,计算机不必须具有这种设备。适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如包括半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cd rom和dvd

rom盘。处理器和存储器能够由专用逻辑电路补充或被并入专用逻辑电路中。
68.为了提供与用户的交互,本公开的一个或多个方面能够在具有显示设备或用于向用户显示信息的触摸屏以及可选的键盘和定点设备的计算机上实现,该显示设备例如是crt(阴极射线管)、lcd(液晶显示器)监视器,该定点设备例如是鼠标和轨迹球,用户能够通过其向计算机提供输入。其它类型的设备也能够被用于提供与用户的交互;例如,提供给用户的反馈能够是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入能够以任何形式被接收,包括声音、语音或触觉输入。另外,计算机能够通过向用户使用的设备发送文档以及从用户使用的设备接收文档来与用户进行交互;例如,通过响应于从web浏览器收到的请求将网页发送到用户客户端设备上的web浏览器。
69.已经描述了许多实施方式。然而,应理解,在不脱离本公开的精神和范围的情况下,可以做出各种修改。因而,其它实施方式也在所附权利要求的范围内。