VALLE:Neural Codec Language Models areZero-Shot Text to Speech Synthesizers---TTS论文阅读

笔记地址:https://flowus.cn/share/a94730c1-6ae8-4955-82fb-812aff78f638
【FlowUs 息流】VALLE

论文地址:

Neural Codec Language Models are Zero-Shot Text to Speech Synthesizers

Abstract

VALLE:Neural Codec Language Models areZero-Shot Text to Speech Synthesizers---TTS论文阅读_第1张图片

这里介绍的是一种新的语言建模方法来完成文本到语音的合成。这种方法不同于传统的直接从文本转换到语音信号的方法,借助核心VALL-E来完成。

VALL-E:项目中使用了一种称为VALL-E的神经编解码器语言模型。VALL-E利用了从现成的神经音频编解码器模型中得到的离散编码。

与以往的工作将TTS视为连续信号回归的方法不同,VALL-E将TTS视为一种条件语言建模任务。这意味着它在处理文本到语音的转换时,更注重于理解和生成语言的结构,而不仅仅是将文本直接转换为声音。

本项目具有的能力:

扩大训练数据规模:在预训练阶段,研究团队将TTS训练数据扩大到了60,000小时的英语语音,这比现有系统的数据量大数百倍。这样庞大的数据量有助于模型更好地学习和理解不同的语音和发音特征。

上下文学习能力:VALL-E展现了在上下文中的学习能力。这意味着它能够根据上下文中的信息来调整和改善其语音合成的输出。

高质量个性化语音合成:VALL-E可以仅使用一个未见过的说话者的3秒钟录音(作为声学提示)来合成高质量的个性化语音。这表明VALL-E在模仿和生成特定说话者的声音方面具有很高的准确性。

性能优于现有技术:实验结果显示,VALL-E在语音自然性和说话者相似度方面显著优于当前最先进的零样本TTS系统。

情感和声学环境的保留:VALL-E能够在合成中保留说话者的情感和声学提示中的声学环境。这意味着它不仅可以复制说话者的声音,还可以复制其语音中的情感和背景声音。

1.Introduction

语音合成发展的背景和局限性:

过去十年里,借助神经网络和端到端建模,语音合成技术取得了显著进步。目前的级联TTS系统通常使用声学模型和声码器,以梅尔频谱作为中间表示。

局限:尽管先进的TTS系统可以从单个或多个说话者合成高质量语音,但这通常需要高质量、干净的录音室数据。从互联网上获取的大规模数据无法满足要求,会导致性能下降。由于训练数据相对较少,现有TTS系统在泛化能力上仍有不足,特别是在零样本(未见过的说话者)场景下,说话者相似性和语音自然性会大幅下降。

解决零样本TTS问题的现有方法:

现有工作通过使用说话者适应和说话者编码方法来解决零样本TTS问题,但这些方法需要额外的微调、复杂的预设计特征或重型结构工程。

VALL-E的创新之处:

VALL-E采用了与文本合成成功案例相同的思路,即使用尽可能大且多样化的数据进行训练。VALL-E是第一个基于语言模型的TTS框架,它利用大量、多样化、多说话者的语音数据。

VALL-E通过将TTS视为条件编解码语言建模任务,使用从音频编解码器模型得到的离散声学token作为中间表示。

VALL-E的数据和训练:

VALL-E使用LibriLight数据集进行训练,该数据集包含60,000小时的英语语音,超过7000名独特的说话者。

与以前的TTS训练数据集相比,VALL-E的数据包含更多噪声和不准确的转录,但提供了更多样化的说话者和韵律。

VALL-E的性能和应用:

VALL-E在LibriSpeech和VCTK数据集上进行评估,所有测试说话者在训练语料中都未出现过。

在零样本场景下,VALL-E在语音自然性和说话者相似度方面显著优于现有的最先进零样本TTS系统。

VALLE:Neural Codec Language Models areZero-Shot Text to Speech Synthesizers---TTS论文阅读_第2张图片

VALL-E能够合成不同的输出,保留声学环境和说话者的情感。

VALL-E的主要贡献:

提出了一种强大的上下文学习能力的TTS框架,将TTS视为一种语言模型任务。

利用大量半监督数据建立了一个在说话者维度上通用的TTS系统。

能够生成具有相同输入文本的多样化输出,并保留声学环境和说话者情感。

在零样本场景下,VALL-E能够合成具有高说话者相似度的自然语音。

2.Related Work

这一部分介绍了零样本文本到语音合成相关研究(Zero-Shot TTS)

零样本语音合成目前方法主要分为两种:级联法和端到端法。级联TTS通常使用声学模型和声码器,mel频谱作中间表示。端到端法意在优化声学模型和声码器

对零样本多说话者TTS技术的兴趣增长:在真实场景中,希望能将TTS系统定制到任意具有少量录音的声音上。大部分工作集中在级联TTS系统的背景下。

说话者适应和编码方法:Arik等人提出了说话者适应和编码方法。在说话者适应方面,后续工作尝试使用更少的目标说话者数据和特定参数来提高适应效率。同时,基于说话者编码的方法近年来也取得了很大进展。

零样本TTS的其他探索:扩散模型基础上的TTS也被扩展到零样本TTS并取得了良好结果。与之前的工作相比,作者的工作遵循级联TTS的思路,但首次使用音频编解码器代码作为中间表示。

除此之外还介绍了口语生成的预训练模型:自监督学习在语音理解和语音到语音生成领域广泛研究。在语音到语音生成方面,一个热门话题是如何在无文本环境下合成语音。AudioLM能够基于音频编解码器合成语音,无需额外训练如HifiGAN这样的声码器。

预训练在神经TTS中的应用

Chung等人通过自回归梅尔频谱预测预训练语音解码器。SpeechT5是一个统一的模态编解码器框架,能够利用未标记的语音和文本数据预训练TTS模型的所有组件。Bai等人提出了梅尔频谱的掩码和重建,并在语音编辑和合成上展现出更好的性能。

VALL-E与先前工作的比较:之前的TTS预训练工作利用的数据不足1千小时,而VALL-E使用了60千小时的数据预训练。VALL-E是第一个使用音频编解码器代码作为中间表示,并在零样本TTS中展现出上下文学习能力的模型。

VALLE:Neural Codec Language Models areZero-Shot Text to Speech Synthesizers---TTS论文阅读_第3张图片

3.Background:Speech Quantization

VALL-E中使用的是离散的音频编码作为中间表示,涉及到音频量化。这段内容详细介绍了在语音合成模型中对原始音频数据进行压缩和表示的方法,以及如何通过这些方法提高语音合成的效率和质量。

原始音频的存储和挑战

音频通常以16位整数值序列存储,意味着每个时间步可能有2^16(即65,536)种可能的值。

由于音频采样率通常超过一万,因此序列长度非常长,这使得原始音频的合成变得更加棘手。

音频量化的需求

为了压缩整数值和序列长度,需要对语音进行量化。

µ-law变换能将每个时间步量化为256个值,并能重建高质量的原始音频。

WaveNet及其限制

WaveNet等语音生成模型广泛使用了µ-law变换,但由于序列长度没有减少,推理速度仍然很慢。

向量量化和自监督模型

向量量化在自监督语音模型中用于特征提取非常普遍,例如vq-wav2vec和HuBERT。

这些自监督模型的代码也能够重建内容,并且比WaveNet的推理速度更快。

AudioLM模型

AudioLM在自监督模型生成的k-means token和神经编解码器模型生成的声学token上训练语音到语音的语言模型。

这导致了高质量的语音到语音生成。

本文的方法

本文遵循AudioLM的方法,利用神经编解码器模型将语音表示为离散token。

编解码器模型能够编码波形为离散声学码,并能够重建高质量的波形,即使说话者在训练中未出现过。神经编解码器的优势体现在与传统的音频编解码方法相比,基于神经网络的编解码器在低比特率下表现更好。量化token包含有关说话者和录音条件的足够信息。相较于其他量化方法,音频编解码器保留了丰富的说话者信息和声学信息。

神经编码器EnCodec模型

作者采用了预训练的神经音频编解码器模型EnCodec作为分词器。

EnCodec是一个卷积编解码器模型,输入和输出均为24 kHz的音频,支持不同的比特率。

编码器将24 kHz输入波形以75 Hz的频率产生嵌入,实现了320倍的采样率降低。

Encodec编码出的token是具有层级结构的

每个嵌入通过RVQ模型化,选择了8个层级的量化器,每个量化器有1024个条目。

第一层token往往包含了speaker音色等相关的声学特征,而第二到第八层token学习到的是更加细节的东西。鉴于此,VALL-E也设计了两层的结构:自回归模型(用于预测第一层token);非自回归模型(用于预测第二层到第八层token)。RVQ结构见figure2

这种配置对应于6K比特率的24 kHz音频重建。

离散表示和波形重建

在此设置下,给定10秒的波形,离散表示是一个包含750×8条目的矩阵。

更大的比特率对应于更多的量化器和更好的重建质量。

使用所有量化器的离散码,EnCodec的卷积解码器产生实值嵌入并以24 kHz重建波形。

4.VALL-E

4.1 Problem Formulation: Regarding TTS as Conditional Codec Language Modeling

把TTS视为条件编解码器语言建模任务的方法

问题定义

  • 给定一组数据集 D={(xi​,yi​)},其中 y 是一个音频样本,x={x0​,x1​,…,xL​} 是对应的音素转录。
  • 使用预训练的神经编解码器模型将每个音频样本编码为离散声学码,记为 Encodec(y)=CT×8​,其中 C 表示二维声学码矩阵,T 是降采样后的话语长度。
  • 每个声学码矩阵的行向量 ct,:​ 代表时间帧 t 的八个码,列向量 c:,j​ 代表来自第 j 个码本的码序列,j 的取值范围是 1 到 8。

零样本TTS的需求

  • 零样本TTS要求模型能为未见过的说话者合成高质量的语音。
  • 在这项工作中,将零样本TTS视为一个条件编解码器语言建模任务。

训练语言模型

  • 训练一个神经语言模型,以在给定的音素序列 x 和声学提示矩阵 C~T0​×8​ 的条件下生成声学码矩阵 C。
  • 这里的 C~ 是通过相同的神经编解码器得到的,输入是已注册录音。
  • 期望神经语言模型能从音素序列和声学提示中分别提取内容和说话者信息。

推理过程

  • 在推理阶段,给定一个音素序列和一个未见过的说话者的3秒钟已注册录音,首先由训练过的语言模型估计出与相应内容和说话者声音相匹配的声学码矩阵。
  • 然后,神经编解码器解码器合成高质量的语音。

这种方法的关键是使用声学码矩阵来代替原始音频数据,从而降低了处理的复杂性和计算量,同时使模型能够有效地学习如何从一个小的、已知的声音样本(声学提示)中生成新的说话者的声音。这样的系统设计使得零样本TTS成为可能,即使是对于那些在训练数据中从未出现过的说话者,系统也能合成相似的声音。

4.2 Training: Conditional Codec Language Modeling

训练过程中的条件编解码器语言建模,具体用于文本到语音合成(TTS)

离散音频表示

  • 神经语音编解码器模型使我们能够操作离散的音频表示。
  • 由于神经编解码器中的残差量化,令牌具有分层结构:先前量化器的令牌恢复诸如说话者身份之类的声学特性,而连续的量化器学习精细的声学细节。

分层的条件语言模型设计

  • 每个量化器被训练来建模前一个量化器的残差。
  • 因此,作者设计了两个分层的条件语言模型。第一层为自回归,二到八层为非自回归
  • VALLE:Neural Codec Language Models areZero-Shot Text to Speech Synthesizers---TTS论文阅读_第4张图片

自回归(AR)解码器模型

  • 对于第一个量化器的离散令牌 c:,1​,训练一个自回归(AR)的仅解码器语言模型。
  • 它以音素序列 x 和声学提示 C~:,1​ 为条件,公式为

 VALLE:Neural Codec Language Models areZero-Shot Text to Speech Synthesizers---TTS论文阅读_第5张图片

  • 在VALL-E中,这个模型是一个仅解码器的语言模型,c~:,1​ 和 c:,1​ 的连结是一个整体序列,并且在训练时不区分它们或插入特定的令牌。在推理时,只预测 c:,1​ 而前缀 c~:,1​ 是已知的。

非自回归(NAR)语言模型

  • 对于第二到最后一个量化器的离散令牌 c:,j​(其中 j∈[2,8]),训练一个非自回归(NAR)语言模型。
  • 由于在NAR模型中令牌不能相互访问,为了限制说话者身份,使用声学提示矩阵 C~。
  • 因此,模型以音素序列 x,声学提示 C~ 和属于之前码本的预测声学令牌 C:,

AR模型和NAR模型的结合

  • AR模型与NAR模型的结合在语音质量和推理速度之间提供了一个很好的折衷方案。
  • 一方面,生成的语音速率应与已录制的录音一致,对不同说话者训练长度预测器是困难的,因为他们的说话速度可能非常多样。
  • 在这种情况下,AR模型以其对声学序列长度预测的灵活性是一个更自然的选择。
  • 另一方面,对于连续阶段,由于输出插槽的数量遵循第一阶段的序列长度,NAR可以将时间复杂度从 O(T) 降低到 O(1)。

C的预测模型

  • 总体来说,C 的预测可以建模为 p(C∣x,C~;θ),它是AR模型和NAR模型各自预测的乘积。 
4.2.1Autoregressive Codec Language Modeling

作用

The autoregressive language model generates the tokens from the first quantizer

模型组成

  • 包含音素嵌入(Wx​),声学嵌入(Wa​),一个Transformer解码器,以及一个预测层。

具体内容的语音生成

  • 使用音素序列作为语言模型的音素提示,以生成具有特定内容的语音。
  • 模型输入是 x 和 c:,1​ 的连结,每个序列后都附加了两个特殊的结束符()。
  • 对提示和输入令牌分别计算正弦位置嵌入。
  • 在因果Transformer模型中,每个令牌 ct,1​ 可以参考(x,c≤t,1​)。
  • 模型优化目标是最大化第一个码本中下一个令牌的概率。
  • 输出投影层的参数与声学嵌入 Wa​ 的参数共享。

训练过程

  • 在AR模型训练中,不显式地提取音频剪辑作为训练提示。
  • 任何前缀序列 c
  • 在推理过程中,给定一个已注册的录音,应将已注册录音的音素序列和合成的音素序列连结在一起。
  • 已注册录音的声学令牌序列在AR解码中用作前缀,如公式1所示。 VALLE:Neural Codec Language Models areZero-Shot Text to Speech Synthesizers---TTS论文阅读_第6张图片
4.2.2 Non-Autoregressive Codec Language Modeling

作用

we employ a non-autoregressive (NAR) model to generate codes of the other seven quantizers

NAR模型架构

  • NAR模型的架构与AR模型相似,但包含八个独立的声学嵌入层。

训练过程

  • 每个训练步骤中,随机选择一个训练阶段 i(其中 i∈[2,8])。
  • 模型被训练来最大化第 i 个量化器码本的声学令牌。

声学令牌的嵌入和输入

  • 第1到第 i−1 阶段的声学令牌被嵌入并累加起来,作为模型输入。
  • 声学嵌入是通过将阶段 j 的声学令牌 ct,j​ 通过嵌入层 Waj​​ 转换而成。

VALLE:Neural Codec Language Models areZero-Shot Text to Speech Synthesizers---TTS论文阅读_第7张图片

语音提示和位置嵌入

  • 音素序列作为语言模型的提示。
  • 为了模仿给定说话者的独特声音,已注册语音的声学令牌被用作声学提示。
  • 位置嵌入分别为提示和声学序列计算。

Transformer模型的输入

  • 为了预测第 i 个码本的声学令牌,Transformer模型的输入是音素嵌入、声学提示嵌入和前 i−1 个码本的声学令牌嵌入的连结。

自适应层归一化

  • 当前阶段 i 通过自适应层归一化(Adaptive Layer Normalization, AdaLN)操作注入到网络中,这影响了中间激活 h。
  • ai​ 和 bi​ 是从阶段嵌入的线性投影获得的,用来调整网络的行为以适应不同的训练阶段。

参数共享

  • NAR模型中声学嵌入层和输出预测层的参数是共享的,这意味着第 j 个预测层的权重与第 j+1 个声学嵌入层的权重相同。

4.3 Inference: In-Context Learning

文本到语音合成(TTS)系统中的在上下文中学习(in-context learning)能力以及提示(prompting)的使用

在上下文中学习的能力

  • 文本基础的语言模型具有的一种能力,能够在不需要额外参数更新的情况下预测未见输入的标签。
  • 对于TTS来说,如果模型能够在没有微调的情况下为未见过的说话者合成高质量的语音,那么模型被认为具有在上下文中学习的能力。

现有TTS系统的局限性

  • 现有的TTS系统在上下文中学习的能力不强,因为它们要么需要额外的微调,要么在面对未见过的说话者时性能会显著下降。

提示在零样本场景中的作用

  • 对于语言模型,提示是使在零样本场景中能够进行在上下文中学习的必要条件。
  • 设计提示和推理的方法如下:首先将文本转换为音素序列,并将注册录音编码为声学矩阵,形成音素提示和声学提示。这两种提示都用于AR和NAR模型。

AR模型的解码方法

  • 在AR模型中,使用基于采样的解码方法,并以提示为条件,因为观察到使用束搜索(beam search)可能导致语言模型进入无限循环。
  • 采样方法能够显著增加输出的多样性。

NAR模型的解码方法

  • 在NAR模型中,使用贪婪解码来选择概率最高的令牌。

生成波形

  • 使用神经编解码器解码器根据八个码序列生成波形。
  • 声学提示可能与要合成的语音在语义上相关或不相关,导致两种情况。

VALL-E的应用场景

  • 主要兴趣在于为未见过的说话者生成给定内容的语音。模型给出了一个文本句子,一个注册的语音片段及其对应的转录。
  • 将注册语音的转录音素前置到给定句子的音素序列作为音素提示,并使用注册语音的第一层声学令牌 c~:,1​ 作为声学前缀。
  • 有了音素提示和声学前缀,VALL-E生成给定文本的声学令牌,克隆了这位说话者的声音。

VALL-E-连续场景

  • 在这种设置中,使用整个转录和话语的前3秒作为音素和声学提示,并让模型生成续集。
  • 推理过程与VALL-E设置相同,除了注册的语音和生成的语音在语义上是连续的。

6.Conclusion, Limitations, and Future Work

VALL-E的介绍

  • VALL-E是一种用于文本到语音合成(TTS)的语言模型方法,以音频编解码器代码作为中间表示。
  • 使用60K小时的语音数据进行预训练,并在零样本场景中展示了在上下文中学习的能力。
  • 在LibriSpeech和VCTK数据集上实现了最新的零样本TTS结果。

VALL-E的特点

  • VALL-E能够在合成中保留声学环境和说话者的情绪,并且在不同的基于采样的解码过程中提供多样化的输出。

存在的问题

  • 合成鲁棒性:观察到在语音合成中,一些单词可能不清晰、遗漏或重复。
  • 这主要是因为音素到声学的语言部分是一个自回归模型,在其中存在无序的注意力对齐,并且没有约束来解决这个问题。
  • 这种现象也在基于Transformer的TTS中观察到,通过应用非自回归模型或修改建模中的注意力机制来解决。

数据覆盖

  • 即使使用了60K小时的数据进行训练,仍然不能覆盖每个人的声音,特别是口音说话者。
  • 在VCTK上的结果比LibriSpeech差也暗示了口音说话者的覆盖不足。
  • 此外,说话风格的多样性不足,因为LibriLight是一个有声书数据集,大多数话语都是朗读风格的。
  • 未来,将进一步扩大训练数据以提高模型在韵律、说话风格和说话者相似性方面的性能。

模型结构

  • 目前,使用两个模型来预测不同量化器的代码。
  • 一个有前途的方向是使用一个大型通用模型来预测它们。
  • 另一个有趣的方向是使用全非自回归模型来加快框架中的模型推理速度。

更广泛的影响

  • 由于VALL-E能够合成保持说话者身份的语音,它可能会带来在模型误用方面的潜在风险,例如欺骗声音识别或模仿特定说话者。
  • 为了减轻这些风险,有可能建立一个检测模型来区分音频剪辑是否由VALL-E合成。
  • 在进一步开发模型时,也将实践微软AI原则。

你可能感兴趣的:(语言模型,论文阅读,人工智能,VALLE,语音合成,音频)