赞
踩
当前包括语音合成和语音转换在内的语音生成任务需要目标说话人一定规模的数据参与到模型的训练或者参数更新过程中,而基于零资源(zero-shot)的语音生成任务旨在利用一句话生成系统未见过的目标说话人的语音,具有更加广泛的应用价值。在零资源语音生成场景中,声学模型和声码器两个阶段中都存在着适应新说话人的挑战。
近期,由西工大音频语音与语言处理研究组(ASLP@NPU)与腾讯AI Lab合作的论文“Glow-WaveGAN 2: High-quality Zero-shot Text-to-speech Synthesis and Any-to-any Voice Conversion”被语音旗舰会议Interspeech 2022接收。该论文在实验室前期提出的Glow-WaveGan基础上进行了进一步扩展为Glow-WaveGan 2,提出一种基于变分自编码器(VAE)和说话人编码器的高质量零资源语音合成与转换架构,构建了一个连续的说话人空间,利用流的可逆性获得任意说话人语音的条件分布,从而无需微调模型,即可为新说话人生成高质量的语音。现对该论文进行简要的解读和分享。
Glow-WaveGAN相关推文
npujcong,公众号:音频语音与语言处理研究组论文推介:Glow-WaveGAN—学习一种用于高质量语音合成的语音表征
论文题目:Glow-WaveGAN 2: High-quality Zero-shot Text-to-speech Synthesis and Any-to-any Voice Conversion
作者列表:雷怡,阳珊,从坚,谢磊,苏丹
论文原文:http://arxiv.org/abs/2207.01832
图1 发表论文截图
近几年,随着基于序列到序列(seq2seq)的声学模型的快速发展,语音合成(TTS)和语音转换(VC)的效果取得了显著的提升。但通常高质量语音生成任务都依赖于大量录音棚录制的高质量训练数据,因此基于零资源的语音合成任务受到了大家的关注。零资源(zero-shot)语音合成任务只需要特定说话人的一句录音,即可生成该目标说话人音色的语音。在本文中,我们专注于零资源语音生成,包括语音合成(TTS)和语音转换(VC)两个典型任务。
Glow-TTS[1]提出用流(flow)来模拟mel谱图的分布,以提高合成语音的质量。SC-Glow TTS[2]在Glow-TTS加入了预训练的说话人编码器,用于零资源TTS。但是,声码器的微调对于未见说话人语音的质量和相似性仍然至关重要。VITS[3]和Glow-WaveGAN[4]于差不多的时间提出,都是通过建模潜在语音表征来避免这个问题,但二者之间存在许多差异。在VITS中,通过条件自编码器(conditional VAE)从线性频谱图的后验分布p(z|c)重构语音,同时利用flow的可逆特性学习文本先验c的平均值,以提高先验隐层表征的表达能力。但由于flow的仿射耦合层的大小限制,同时其离散的说话人空间建模,因此无法产生未见说话人的语音。而对于两阶段的Glow-WaveGAN,WaveGAN的目标是通过无条件VAE和GAN直接从波形中学习潜在语音分布p(z),而声学模型的目标是利用文本来模拟相同的分布p(z),这也避免了传统两阶段的特征不匹配问题。
由于WaveGAN中的隐层分布p(z)是无条件的,它可以提取丰富的音色信息,如音色或内容,这意味着为未见说话人重建波形的可能性。为此,本文提出了Glow-WaveGAN 2,重点关注高质量的zero-shot TTS和any-to-any VC。本文构建了一个通用WaveGAN,并研究了两种典型的说话人编码器,为zero-shot场景提供连续的说话人约束。推理时,给定任意说话人的语音,使用WaveGAN的编码器提取说话人相关的潜在分布p(z),然后使用条件声学模型和WaveGAN的解码器生成说话人的语音。在VCTK和LibriTTS语料库上的实验结果表明,该方法可以在zero-shot TTS和any-to-any VC中生成高质量的目标语音,而无需模型微调。
作为我们之前工作的扩展,本模型主要关注高质量的zero-shot TTS和any-to-any VC。如图所示,Glow-WaveGAN 2学习语音的潜在分布p(z),以连接声学模型和声码器。Glow-WaveGAN 2包含三个模块:1)一个鲁棒的WaveGAN,它同时充当特征提取器和声码器,从语音中提取潜在分布p(z),并分别从采样的z重建语音;2) 多说话人Glow-TTS,以说话人身份s作为条件约束生成潜在表示p(z | s);以及3)说话人编码器,来学习说话人身份s以生成目标说话人语音。
图3 Glow-WaveGAN 2框架
通用WaveGAN:一个对未见说话人鲁棒的声码器对于zero shot语音生成任务来说至关重要。为了实现这一目标,我们构建了一个基于变分自动编码器(VAE)的通用WaveGAN模型来进行语音重建,该模型在我们之前的工作中显示出了强大的重建能力。WaveGAN中,编码器旨在从波形w中提取声学表示p(z | w)的分布,其中z还包括了pitch预测。同时,解码器从采样的z重建语音。为了保证重建语音的质量,我们使用对抗训练对波形进行建模。解码器作为声码器,为见过和未见过的说话人重建高质量的语音波形。
多说话人GLow-TTS:利用提取的潜在语音表征,我们的声学模型框架使用Glow-TTS来模拟来自文本t的条件分布p(z | t,s),其中s提供说话人身份的条件约束。具体来说,文本编码器将文本t转换为语言先验分布p(c | t)。考虑到文本和潜在z之间的时长差异,采用单调对齐搜索(MAS)来对齐先验c和声学特征z。通过将说话人嵌入传递给基于flow的解码器f,来自WaveGAN的目标z在训练期间通过decoder的正向传递转换为对齐的先验分布p(c)。
我们在每个训练步骤中,从WaveGAN编码器采样相同的p(z),这缓解了声学模型和声码器之间的特征不匹配问题,以实现高合成质量,而无需微调。推理时,通过decoder的反向过程和来自文本先验的说话人条件生成预测的语音隐层z。由于文本编码器与说话人无关,因此可以通过具有不同说话人约束的正向与反向flow-decoder进行语音转换,如图3(d)所示。
说话人表征:为了实现zero-shot TTS和any-to-any VC,一个关键问题是如何对说话人特性进行建模,尤其是对模型没见过的说话人。一种简单的说话人表示方法是使用基于说话人验证任务(SV)的预训练说话人编码器,通过该编码器,我们可以通过几秒钟的一条语音获得说话人表征s,以生成未见说话人的语音。此外,我们还采用了基于说话人分类的联合训练编码器,在Glow TTS模型中从p(z)学习说话人表征s。我们用额外的交叉熵来约束联合训练的说话人模块用来优化声学模型。我们从相同分布p(z)中采样两个向量z1、z2分别用于训练声学模型和说话人分类模块。
零资源TTS 与 VC:如图3(c)和(d)所示,推理时,说话人编码器从任意目标说话人的语音中提取说话人身份s_tgt,这可以被视为我们模型中的说话人约束。在zero-shot TTS的推断时,利用s_tgt作为条件约束,生成包含目标说话人信息的采样的z。在zero-shot VC的推理时,flow的正向变换对源说话人s_src进行条件处理,以生成与说话人无关的语言先验分布p(c),从而消除源说话人信息。然后将p(c)与目标说话人条件s_tgt一起送进flow-decoder的反向变换,生成目标采样的z_tgt。这样,可以实现zero-shot TTS和VC,以生成任意说话人的语音。
实验数据:我们在两个开源数据集VCTK和LibriTTS上进行了实验。VCTK语料库包含109名英语说话人,其中我们保留了3名男性和3名女性作为未见说话人进行测试。对于LibriTTS语料库,我们使用来自train-clean-360和train-clean-100子集的1151个说话人来作为训练数据集,来自test clean子集的39个说话人被视为未见说话人作为测试集。
对比模型:
GlowTTS-HiFiGAN:它包含一个基于多说话人flow的声学模型和基于GAN的声码器来重建mel谱图,利用说话人ID作为声学模型的说话人条件;
VITS:以端到端的方式进行多说话人合成,利用说话人ID作为声学模型的说话人条件;
Glow-WaveGAN: 具有明确说话人标签的基础Glow-WaveGAN,利用说话人ID作为声学模型的说话人条件;
Glow-WaveGAN2-joint:具有联合训练说话人编码器的Glow-WaveGAN 2;
Glow-WaveGAN2-pre:具有预训练说话人编码器的Glow-WaveGAN 2。
说话人相似度评估: 表1为不同模型的说话人余弦相似度分数结果。可以注意到GlowTTS-HiFiGAN、VITS和Glow-WaveGAN系统采用显式说话人标签来建模说话人身份,因此它们只能对见过的说话人进行语音合成和语音转换。对于训练集中见过的说话人的TTS和VC结果,我们发现VITS与Glow-WaveGAN模型比GlowTTS-HiFiGAN模型具有更高的相似性,尤其是在LibriTTS数据集中。所以总体而言,Glow-WaveGAN系列的说话人相似度略优于VITS。zero-shot TTS和any-to-any VC的结果表明,Glow-WaveGAN2-pre比Glow-WaveGAN2-joint在未见过的说话人数据上表现更好。
表1 说话人编码器余弦相似度分数
说话人表征可视化: 为了进一步研究本文提出的方法在不同数据集上合成语音的说话人相似度,如图4,我们通过t-SNE对生成语音的说话人嵌入进行了可视化。对于TTS和VC任务上的见过(绿点和红点)和没见过(蓝点和黄点)的说话人,我们提出的两种方法中,每个说话人的生成音频和相应的参考语音可以形成一个不同的聚类,这表明所提出的方法可以有效地建模和控制说话人身份。与Glow-WaveGAN2-pre模型中由真实语音和合成语音形成的不可区分的说话人簇相比,Glow-WaveGAN2-joint模型中的一些说话人仍然存在生成和真实音频之间的边界,尤其是对于较小的训练语料库,即VCTK,在图4中说话人的名字以“p”开头。
图4 合成语音与真实语音的说话人可视化结果
语音自然度评估: 为了评估生成语音的自然度和质量,我们进行了MOS打分,如表2所示。总体而言,VCTK的MOS分数优于LibriTTS,因为其真实数据的质量更好。训练数据中见过的说话人的TTS和VC的MOS结果表明,Glow-WaveGAN系列和VITS模型的得分明显高于GlowTTS-HiFiGAN,这源于我们之前提到的真实和预测特征不匹配问题。对于未见过的说话人,提出的两种模型都可以获得与见过的说话人相似的MOS分数,这表明了我们提出的模型可以在zeor-shot TTS和VC中生成高质量的语音。
表2 不同系统的MOS评分
跨数据集评估: 表3为跨数据集的SECS和MOS测试结果。对于说话人相似性,我们发现在LibriTTS语料库上训练的模型,在跨数据集评估中具有较高的SECS分数,因为它可以从更多说话人学到更丰富的说话人空间。关于主观评价,Glow-WaveGAN2-joint生成的语音质量优于Glow-WaveGAN2-pre生成的语音质量。推测原因是说话人约束s和目标z都来自语音分布p(z),这意味着它们可能包含语音的通道信息,从而在训练和推理中影响生成语音的质量。
表3 跨数据集的说话人相似度和MOS评分结果
本文在前期Glow-WaveGAN的基础上提出了Glow-WaveGAN 2。该模型旨在利用说话人表征空间在zero-shot TTS与any-to-any VC任务中生成高质量的语音。具体来说,本文利用一个通用WaveGAN构建了一个鲁棒的特征提取器和高质量的通用声码器;利用一个基于flow的多说话人声学模型,在说话人约束条件下对语音的潜在分布进行建模。我们探讨了两种不同的说话人建模策略。结果表明,所提出的方法能够在zero-shot TTS and VC任务中生成高质量的语音。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。