ZERO-SHOT MULTI-SPEAKER TEXT-TO-SPEECH WITH STATE-OF-THE-ART NEURAL SPEAKER EMBEDDINGS
abstract
虽然使用扬声器嵌入的端到端语音合成的扬声器自适应可以为训练中看到的扬声器产生良好的扬声器相似性,但对看不见的扬声器的零样本自适应仍然存在差距。我们研究了端到端文本到语音合成的多说话人建模,并研究了不同类型的最先进的神经说话人嵌入对看不见的说话人的说话人相似性的影响。在说话人验证任务中,具有角度softmax损失的基于可学习字典编码的说话人嵌入可以提高x向量上的相等错误率;当在端到端语音合成中用于对新说话者的零样本适应时,这些嵌入还提高了看不见的说话者的说话者相似性和自然度。
introduction
端到端文本到语音(TTS)合成的最新进展使我们能够产生非常逼真和听起来自然的合成语音,平均意见得分(MOS)接近自然人类语音(≈4.5/5.0)。不仅依赖于说话者的TTS系统,而且多说话者TTS系统也显示出显著的结果。然而,使用少量数据使语音模型适应任意新的说话者(说话者适应)仍然是一个挑战。
神经TTS中说话人自适应的一种有效方法是用来自目标说话人的少量数据微调模型的全部或部分。这种方法也可以用于适应新的说话风格,如伦巴第语。一种不同但互补的方法是使用说话人嵌入来对TTS中的说话人身份进行建模。先前的研究集中于与TTS模型或神经声码器联合训练扬声器编码器网络;其他人已经探索了扬声器嵌入与TTS模型微调相结合的使用。使用微调的方法必然需要转录的适应数据,以及更多的计算时间和资源来适应新的说话者。此外,与TTS模型联合训练的扬声器编码器网络不能从TTS训练数据之外的数据中受益,TTS训练在干净的记录条件下被限制为具有相对高的质量。
TTS中说话人建模的迁移学习解决了这些问题。使用这种方法,speaker嵌入网络可以完全单独训练,可能用于不同的任务,如扬声器识别。这种方法的好处是,说话者识别模型可以在大量数据上进行训练,而不必具有TTS通常所需的高质量。并且这些模型可以使用不一定要转录的相对少量的目标说话者数据来获得独立于通道和记录条件的鲁棒说话者表示。然后,端到端合成模型可以用于通过仅使用扬声器嵌入以零样本方式适应目标扬声器的声音,而不必对整个模型进行微调。最近的几项研究已经将这种方法用于TTS中的说话人建模,对说话人和语言特征进行了建模。观察到,看不见的说话者的合成语音与目标说话者的相似度低于看到的说话者,口音经常不匹配,特征韵律等细微差别也会丢失,这表明虽然看到的说话者可以用这种方式很好地建模,但对看不见说话者建模还有改进的空间。
与上述研究同时,端到端说话人识别也有了实质性的发展。Villalba等人为NIST SRE18挑战总结了几种最先进的说话人识别系统,其中基于x矢量的系统始终优于基于i矢量的系统。人们对用于说话人识别的新编码方法和端到端损失函数的兴趣也激增。一个突出的进步是将可学习字典编码(LDE)和角度softmax用于说话人识别,据报道,这可以提高开源语料库(如VoxCelebs)上的说话人识别性能。
因此,我们研究的一个方面是试图找出说话者验证的这些最新进展对TTS中的说话者适应的有效性。更具体地说,我们研究了神经扬声器嵌入捕捉和建模TTS模型训练过程中看不见的扬声器特征的能力。为此,我们将中改进的Tacotron系统扩展到多扬声器TTS系统,并进行系统分析以回答上述问题。我们还分析了生成语音的质量和相似性如何与自动说话人验证(ASV)准确性相关。
虽然先前的研究集中在端到端TTS的zero-shot扬声器自适应的迁移学习上,但据我们所知,这是对许多不同类型的扬声器嵌入的首次研究,以确定某种类型的嵌入是否最适合建模看不见的扬声器,并了解ASV的最佳嵌入是否与TTS的最佳嵌入相同。
NEURAL SPEAKER EMBEDDINGS
典型的端到端说话人识别系统有三个组件:编码器网络、统计池层和分类器。编码器网络充当帧级特征提取器,统计池化层将帧级表示总结为固定维话语级嵌入,分类器基于嵌入确定说话者身份。在大多数情况下,神经说话人嵌入是在池化之后和分类之前获得的。
Encoder Network
在最初的x矢量论文中,使用了时延神经网络(TDNN)作为编码器网络,中对其变体进行了探讨。TDNN由1D卷积和全连接层组成。后来的几项研究建议用由2D卷积组成的ResNet34的变体代替TDNN作为编码器网络。我们分别将TDNN和ResNet34用于x向量和LDE嵌入。
Pooling methods
池化方法是一个重要的组成部分,因为它将帧级表示概括为固定维的话语级嵌入。
统计池化(SP):在最初的x向量论文中采用了统计池化层。它计算帧级表示的平均值和标准偏差,这些表示被连接为固定维向量。
可学习字典编码(LDE):提出的LDE层对帧级表示进行软聚类,并连接聚类的均值和标准差,而不是SP中的单一均值和标准偏差。
给定来自编码器网络的帧级表示
x
T
=
{
x
1
,
x
2
,
…
,
x
T
}
\mathbf{x}_{T}=\left\{x_{1}, x_{2}, \ldots, x_{T}\right\}
xT={x1,x2,…,xT} , 其中
T
T
T是序列长度,LDE层学习
C
C
C clusters
{
e
1
,
e
2
,
…
,
e
C
}
\left\{e_{1}, e_{2}, \ldots, e_{C}\right\}
{e1,e2,…,eC}的字典。 学习过程被分解为三个步骤:
1)计算从每个帧
x
t
x_{t}
xt到每个聚类
e
c
e_{c}
ec的某个距离
r
t
c
r_{t c}
rtc,
2)基于
r
t
c
r_{t c}
rtc学习
x
t
x_{t}
xt到
e
c
e_{c}
ec的软聚类权重
w
t
c
w_{t c}
wtc,
以及3)在时间
T
T
T上基于
w
t
c
w_{t c}
wtc聚合
x
t
x_{t}
xt以产生话语级表示。这里
r
t
c
r_{t c}
rtc 是L2距离,
r
t
c
=
∥
x
t
−
e
c
∥
2
r_{t c}=\left\|x_{t}-e_{c}\right\|^{2}
rtc=∥xt−ec∥2。聚类权重
w
t
c
w_{t c}
wtc可以通过
w
t
c
=
exp
(
−
r
t
c
)
/
∑
i
=
1
C
exp
(
−
r
t
i
)
w_{t c}=\exp \left(-r_{t c}\right) / \sum_{i=1}^{C} \exp \left(-r_{t i}\right)
wtc=exp(−rtc)/∑i=1Cexp(−rti)来计算。
x
t
x_{t}
xt 的聚合类似于中的超向量概念。我们首先计算每个聚类的平均值
m
c
=
1
Z
∑
∀
t
w
t
c
(
x
t
−
e
c
)
m_{c}=\frac{1}{Z} \sum_{\forall t} w_{t c}\left(x_{t}-e_{c}\right)
mc=Z1∑∀twtc(xt−ec)和/或标准偏差
s
c
=
1
Z
∑
∀
t
w
t
c
(
x
t
−
e
c
)
2
s_{c}=\frac{1}{Z} \sqrt{\sum_{\forall t} w_{t c}\left(x_{t}-e_{c}\right)^{2}}
sc=Z1∑∀twtc(xt−ec)2,它们被级联为
∀
c
∈
{
1..
C
}
\forall c \in\{1 . . C\}
∀c∈{1..C} 以形成平均向量
m
C
\mathbf{m}_{C}
mC, ,类似地,对于标准差向量
s
C
\mathbf{s}_{C}
sC, 也是如此。这里
Z
=
∑
t
=
1
T
w
t
c
Z=\sum_{t=1}^{T} w_{t c}
Z=∑t=1Twtc。
Classifier
最后一步是通过softmax层预测说话者ID。因此,标准的训练标准是交叉熵。最近在中提出并评估了称为角softmax损失(Asoftmax)及其变体的更具判别力的标准。该标准考虑了类之间的角度裕度,并有望产生更多可分离的嵌入表示。我们检查正常softmax和角度softmax。
MULTI-SPEAKER TTS MODEL ARCHITECTURE
在我们的多扬声器TTS系统中,上述扬声器嵌入矢量被用作调节扬声器特性的附加输入。我们的端到端多说话者文本到语音模型架构基于Tacotron,中描述了自我注意的扩展,以更好地捕捉图2所示的长程依赖关系。
我们使用音素输入。我们执行基本的基于规则的文本规范化,以扩展缩写和数字。然后,我们使用flite将文本转换为音素表示。在编码器中添加了一个自注意块,因此编码器产生两个输出:一个是长短期记忆(LSTM)的原始输出,另一个是自注意块的输出。LSTM输出被传递到前向注意力块,这加快了对齐,而自注意力输出被传递给附加注意力块,这允许关注更长范围的信息。双注意力机制的输出在被传递到解码器之前被级联。解码器的输出是一个80维的mel谱图。
我们考虑输入speaker嵌入的三个可能位置:在输入到注意力机制之前与每个编码器输出连接,输入到prenet到解码器,或输入到postnet。我们使用说话人编码器从每个训练话语中提取说话人嵌入向量,并对每个说话人进行平均。然后,我们使用密集层将所有扬声器嵌入投影到64维,然后将它们输入到模型中的任何位置。
扬声器适应新扬声器是零样本。与训练阶段一样,我们使用说话人编码器从目标说话人的每个未转录的自适应话语中提取说话人嵌入向量。然后,我们输入平均的扬声器嵌入来生成目标扬声器的mel频谱图。未使用微调。为了将预测的mel频谱图转换为音频,我们使用WaveNet声码器。
输入是mel频谱图,输出是16位16kHz波形。我们的多扬声器Tacotron实现和音频样本的代码将在线提供。
EXPERIMENTS
Speaker Verification
我们将把基于TDNN+SP的说话人嵌入称为x向量,将基于ResNet34+LDE的说话人嵌入视为LDE。
数据:我们在VoxCeleb1+2上训练了说话者验证系统。训练数据是VoxCeleb2的全部加上VoxCeleb1的训练部分(7325个说话者和1277344个话语)。如所述,用混响、噪音、音乐和胡言乱语增强干净语音,然后将这1000000个增强语音的随机子集与原始干净语音组合。最终的训练数据包括2277344个话语。我们报告了原始VoxCeleb1测试集的扬声器验证结果。
声学特征和预处理:我们用30维log-Mel滤波器组在30维MFCC和LDE上训练x向量。将基于Kaldi的3秒滑动倒谱均值归一化和能量VAD应用于声学特征。这与中描述的设置类似。对于LDE系统,每个训练样本是从其原始话语中随机采样的3-8秒的块。我们的区块长度选择与一致。
系统详细信息:我们的x矢量基于Kaldi配方3,具有512个维度。对于LDE,我们的ResNet34与相同,并且我们将字典簇的数量C=32和小批量大小设置为128。我们对以下超参数组合进行了实验:嵌入维度{512,256,200},softmax margin m∈{2,3,4},以及仅池化均值向量mC或均值和标准差向量mC和sC。
嵌入后处理和后端:我们的后端是PLDA,具有分数标准化。我们遵循Kaldi的后端配方,在PLDA之前对嵌入进行后处理:居中和LDA减少到200个维度。我们还对没有这个后处理步骤的原始嵌入进行了评分,因为我们对TTS中扬声器自适应程序的效果感兴趣。请注意,我们没有像通常在扬声器验证中那样执行长度归一化或任何自适应/调谐。
验证结果:表1显示了VoxCeleb1测试集扬声器验证的结果。我们将我们的7个LDE嵌入表示为LDE-1、LDE-2等,并使用上标a N来标记那些具有上述后处理步骤的嵌入。LDE获得的结果与x向量相当。我们还观察到,减小扬声器嵌入大小、增加角裕度m以及合并mC和sC可以提高性能。
Preliminary Experiments for Speaker Similarity in TTS
由于将扬声器嵌入输入TTS的最佳训练方法和位置未知,我们进行了初步实验,以了解哪些设置对看不见的扬声器产生了最佳的扬声器相似性。我们想了解训练依赖性别的模型还是独立于性别的模型更好,以及将说话者嵌入输入prenet、与编码器输出连接、在postnet输入还是这些的组合最好。
数据:我们使用了VCTK语料库,该语料库由109个不同英语方言的不同说话者的英语语音组成。每位演讲者阅读大约400个句子。
两名发言者因数据缺失或不足而被排除在外。四个开发和四个测试说话者被选中,他们是性别和方言的混合体,并且有足够的独特话语,每个说话者有50个看不见的句子用于TTS评估,50个看看不见话语用于提取说话者嵌入的“适应数据”。音频通过首先在80Hz的截止频率下进行高通滤波进行预处理,以去除低频线路噪声,然后使用sv56进行归一化,然后进行修剪以去除开始和结束静音。来自99个训练(“看见”)说话者的所有话语都用于训练TTS并提取这些说话者的说话者嵌入;该相同的数据被用于训练性别相关的WaveNet声码器。四个开发和四个测试说话者(“看不见的”说话者)的嵌入仅使用50个保留的“适应”话语进行提取。
train:我们使用了“热启动”训练方法来减少实验迭代时间。我们使用训练有素的扬声器相关模型的参数初始化了我们的多扬声器模型,该模型基于暴雪2011的“Nancy”数据进行了约105k步的训练。我们实验发现,用温启动训练一天(约40k步)的多扬声器模型产生的合成语音质量与仅用VCTK数据从头开始训练四天的模型相似。此外,观察到,VCTK语料库中的独特单词数量相对较少,而Nancy数据集的数量是它的三倍多;我们的多说话者模型可以从这种增加的词汇覆盖中受益。
设置:我们尝试了许多不同的设置,以确定哪种设置对看不见的扬声器最相似。对于扬声器嵌入,我们使用了x向量。我们尝试了两种不同的培训方法:
- 性别独立:我们使用了所有VCTK培训发言人(男性和女性)的数据进行暖心培训。
- 性别依赖性:我们进行了两次单独的热身训练,一次只使用男性VCTK训练数据,另一次仅使用女性数据。
同时,我们尝试了四种不同的扬声器嵌入位置设置: - 仅Prenet(pre)
- 仅连接编码器输出和注意力机制输入(attn)
- Prenet+连接编码器输出(pre+attn)
- Prenet+连接编码输出+postnet(pre+Atn+post)
我们没有单独尝试postnet输入,因为我们发现这种配置产生的合成语音质量较差,但我们决定研究它与其他输入位置的组合。
评估和结果:我们通过合成四个“可见”说话者(包括在训练中的说话者)和四个“看不见”说话者(发展说话者)的一些样本话语,客观地评估了训练策略和嵌入输入位置的不同组合。由于我们没有从“可见”说话者的话语中提取任何数据,我们从测试集中随机选择的一组文本中合成了可见说话者的样本话语(在训练中看不见)。然后,我们从合成语音中提取每个说话者的x向量,并测量与从目标说话者的实际语音中提取的x向量的余弦相似性。余弦相似性定义为cos sim(A,B)=A·B/||A||-||B||,是ASV说话人嵌入向量相似性的标准度量。值的范围从-1到1,值越大表示矢量越相似。表2中列出了不同配置的余弦相似性结果。
正如预期的那样,我们看到了可见和未可见说话者之间的差距:可见说话者的合成语音通常与原始语音具有更高的相似性。由于在prenet和注意力机制中使用x向量输入的性别依赖性训练产生了对看不见的说话者具有最佳相似性的合成语音,我们在以后的实验中选择了这种配置。
Comparing Different Embeddings for Speaker Similarity
在我们选择了最佳的训练和模型设置(在prenet和注意力机制中嵌入输入的性别依赖性训练)后,我们训练了15个TTS模型,每个模型都使用不同类型的说话者嵌入:第4.1节中描述的14种类型的LDE嵌入和x向量。然后,我们进行了一项众包听力测试,使用每个扬声器嵌入以及复制合成语音和自然语音进行比较,来评估可见和未可见扬声器的自然度和扬声器相似性。
对于每个TTS系统,我们从四个“可见”(训练)和八个“看不见”(开发和测试)说话者中的每一个合成了50个句子,每个系统总共有600个看不见的测试话语。听众一次听一个测试话语,首先在Likert量表上对其自然度的平均意见得分(MOS)进行1-5的评分,然后在差分MOS(DMOS)量表上对说话者与参考话语的相似性进行评分,从1(肯定是不同的说话者)到4(肯定是同一说话者)。参考话语是从目标说话者的原始讲话中随机选择的。
听众对25个话语的“集合”进行评分,每个听众最多可以完成十套。每组由五名不同的听众完成,共有463名受试者参与。集合被设计为包含来自每个系统的至少一个话语,以平均所有系统中的听众差异。结果见表3。自然语音的MOS为3.83,DMOS为3.25。
我们发现,在训练中看到的说话人的相似性得分与声码语音的相似性分数非常接近。正如预期的那样,看不见的说话者(dev和test)的相似性得分也低于看到的说话者,这与表2一致。我们观察到,与x向量相比,高级神经扬声器嵌入提高了看不见的扬声器的扬声器相似性。出乎意料的是,它们还提高了自然度。虽然LDE有帮助,但角度softmax和后处理(N)的影响似乎很小。对于完全看不见的测试集扬声器,LDE-3系统在自然度和扬声器相似性方面都是最好的。根据Mann-Whitney U检验,该系统在自然度(p=5.9e-11)和说话者相似性(p=0.02)方面都明显优于x向量系统。这也是EER方面的最佳嵌入类型。我们没有发现ASV和TTS评分之间有任何有意义的相关性。
conclusion
我们发现,基于LDE的神经扬声器嵌入可以改善不可见扬声器的扬声器相似性和合成语音的自然度,该方法可用于零样本扬声器自适应。然而,可见和不可见说话者的相似性之间仍然存在差距,这表明TTS模型可能仍然过于适合可见说话者,并且还有改进的空间。在未来的工作中,我们将探索通过尝试不同的扬声器空间增加方法来缓解这种过度拟合的方法。我们还想评估说话者相似性的更细微方面的适应表现,比如方言和说话风格。