Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

rome rome编辑

3秒克隆你的声音,微软推出DALL-E表亲VALL-E

DALL-E 已经能够很好地从文本生成图像,那么如何高效地实现语音合成呢?本文带你看微软最新推出的语音合成模型 ——VALL-E,它的效果将惊掉你的下巴。

近十年间随着神经网络和端到端建模的发展,语音合成技术取得了巨大突破。级联的文本到语音(TTS)系统通常利用声学模型 pipeline 和梅尔频谱作为中间表示的声码器。先进的 TTS 系统可以从单个或多个 speaker 合成高质量的语音,但仍需要高质量的 “干净” 数据。从网络上抓取的大规模数据无法满足要求,并且会导致性能下降。

由于训练数据相对较少,目前的 TTS 系统仍存在泛化能力差的问题。在零样本场景中,speaker 的相似性和语音自然度对于未知的 speaker 来说会急剧下降。为了解决零场景 TTS 问题,现有的工作利用 speaker 自适应和 speaker 编码法,但需要额外的微调、复杂的预设计功能或重型结构工程。

最终的解决方案不是为该问题设计一个复杂而具体的网络,而是在文本合成领域取得成功的推动下,尽可能地训练具有大量和多样化数据的模型。近年来,文本语言模型的数据增加显著提高了性能,从 16GB 的未压缩文本增加到 160GB,再到 570GB,最后增加到 1TB 左右。

为把文本合成领域的成功引入到语音合成领域,微软的研究者们提出了 VALL-E,它是第一个利用大量、多样化和多 speaker 语音数据的基于语言模型的 TTS 框架。如下图 1 所示,为了合成个性化语音(如零样本 TTS),VALL-E 以 3 秒 enrolled 录音的声学 token 和音素 prompt 为条件生成相应的声学 token,这也对 speaker 和内容信息做了约束。最后,使用生成的声学 token 与相应的神经编解码器合成最终波形。从音频编解码器模型导出的离散声学 token 能够将 TTS 视为条件编解码器语言建模,并且基于高级 prompt 的大型模型技术(如 GPT)可以用于 TTS 任务。声学 token 还允许通过在推理过程中使用不同的采样策略在 TTS 中生成不同的合成结果。

研究者使用 LibriLight 训练 VALL-E,LibriLight 包含由 7000 多名不同 speaker 做的 6 万小时的英语演讲组成的语料库。原始数据为音频,研究者使用语音识别模型获得对应的文字。

与以前的 TTS 训练数据集(比如 LibriTTS)相比,研究者使用的数据集虽然包含噪声以及不准确的文本数据,但却包含大量不同的 speaker 语音。研究者坚信所提出的方法对噪声具有鲁棒性,并由于使用了大量数据因而表现出很好的泛化能力。值得注意的是,现有的 TTS 系统通知会使用数十小时的单 speaker 数据或数百小时的多 speaker 数据进行训练,这比 VALL-E 使用的数据要小数百倍。
 
下表 1 总结了 VALL-E 的新颖性,VALL-E 是用于 TTS 的语言模型方法,使用音频编解码器代码作为中间表示,利用大量多样的数据,从而实现强大的上下文学习能力。

评估结果表明,VALL-E 在 LibriSpeech 和 VCTK 上明显优于 SOTA 零样本 TTS 系统。

  • 论文地址:https://arxiv.org/pdf/2301.02111.pdf
  • 语音 Demo 地址:https://valle-demo.github.io/

背景:语音量化

在论文中,研究者遵循 AudioLM 利用神经编解码器模型来表示离散 token 中的语音。为了压缩网络传输的音频,编解码器能够将波形转码为离散的声学编码并重建高质量的波形,即使是训练数据中没见过的 speaker 数据。

与传统的音频编解码器方法相比,基于神经网络编解码器在低比特率下明显更好。通过实验,研究者坚定量化的 token 包含足够的关于 speaker 和录音条件的信息。与其他量化方法相比,音频编解码器具有以下优点:

  • 它包含丰富的 speaker 信息和声学信息,与 HuBERT 编码相比,可以在重构中保持 speaker 特征一致。
  • 有现成的编解码器,可以将离散 token 转换为波形,而无需像在频谱上运行的基于 VQ 的方法那样对声码器训练做额外的工作。
  • 它能减少时间步长,提高效率,解决 µ-law 转换中的问题。

研究者采用预训练神经音频编码模型 EnCodec 作为 tokenizer。EnCodec 是卷积编码器 - 解码器模型,输入和输出均为可变比特率的 24 kHz 音频,编码器为 24kHz 的输入波形产生 75Hz 的嵌入,采样率降低了 320 倍。每个嵌入都通过残差矢量量化 (RVQ) 建模,研究者选用八层量化器,每层有 1024 个 entries,如下图 2 所示。该配置对应于 6K 比特率的 EnCodec,用于 24 kHz 音频重构


VALL-E 方法概览

问题表述:将 TTS 视为条件编解码器语言建模

给定数据集 D = {x_i , y_i},其中 y 是音频样本,x = {x_0, x-1, . . . , x_L} 是其对应的音素转录。研究者使用预训练神经编解码器模型将每个音频样本编码为离散的声学编码,记为 Encodec (y) = C^T ×8,其中 C 表示二维声学编码矩阵,T 表示下采样的发声长度。
 
零样本 TTS 需要模型为看不见的 speaker 合成高质量的语音。在该工作中,研究者将零样本 TTS 看作条件编解码器语言建模任务。他们通过训练神经语言模型,以生成以音素序列x和声学 prompt 矩阵为条件的声学编码矩阵 C,优化目标为

研究者期望神经语言模型学习分别从音素序列和声学 prompt 中提取内容和 speaker 信息。在推理过程中,给定音素序列和 speaker 的 3 秒 enrolled 录音,首先通过训练好的语言模型估计具有相应内容和 speaker 声音的声学编码矩阵,然后神经编解码器合成高质量语音。

训练:条件编解码语言建模

神经语音编解码器模型允许对离散音频表示进行操作。由于神经编解码器模型中的残差量化,token 具有分层结构:来自先前量化器的 token 恢复声学特性,如 speaker 特征,而连续量化器学习更精细的声音细节。每个量化器被训练为对来自先前量化器的残差进行建模。受此启发,研究者以分层方式设计了两个条件语言模型

对于来自第一个量化器 c_:,1 的离散 token,研究者训练了一个自回归 (AR) 解码器专用语言模型。它建立在音素序列 x 和声音 prompt 条件基础上,并如下公式(1)所示。


对于从第二个到最后一个量化器的离散 token 记为,这样就训练了一个非自回归(NAR)语言模型

AR 模型和 NAR 模型的结合在语音质量和推理速度之间达到了良好的平衡。这种情况下,AR 模型是更自然的选择,它具有声学序列长度预测的灵活性。总体而言,C 的预测可以建模为:


自回归编解码语言建模

自回归语言模型从第一个量化器生成 token。它包括音素嵌入 W_x、声学嵌入 W_a、transformer 解码器和预测层。为了生成特定内容的语音,研究者使用音素序列作为语言模型的音素 prompt。因此,模型输入是 x 和 c_:,1 的串联,并在它们之后附加了两个特殊的 token。研究者分别计算了 prompt 和输入 token 的正弦位置嵌入。对于因果 transformer 模型,每个 c_t,1 都可以参与 (x, c_≤t,1) ,如下图 3 左侧所示。
 
该模型经过优化以最大化第一个 codebook 中下一个 token 的概率。研究者将输出映射层的参数与声学嵌入 W_a 的参数共享。


非自回归编解码语言建模

当通过 AR 模型获得第一个量化器编码时,使用非自回归(NAR)模型来生成其他七个量化器的编码。NAR 模型具有与 AR 模型相似的架构,不同之处在于它包含八个单独的声学嵌入层。在每个训练步骤中,随机抽取训练阶段 i ϵ [2, 8]。该模型被训练为最大化来自第 i 个量化器的 codebook 的声学 token。第 1 阶段至第 i−1 阶段的声学 token 被嵌入并汇总为模型输入:


推理:通过 prompting 进行 in-context 学习

In-context 学习是基于文本语言模型的一种令人惊讶的能力,它能够预测未见过输入的标签,而无需额外的参数更新。对于 TTS,如果该模型可以在没有微调的情况下为未见过 speaker 合成高质量的语音,则该模型被认为具有 in-context 学习能力。


对于语言模型,prompt 对于在零样本场景中启用 in-context 学习是必要的。研究者设计 prompt 和推理是按照接下来的步骤进行的:首先将文本转换为音素序列,并将语音编码为声学矩阵,形成音素 prompt 和声学 prompt。此外,基于采样方法可以显著增加输出的多样性。对于 NAR 模型,研究者使用贪心解码来选择概率最高的 token,最后使用神经编解码器来生成基于八个编码序列的波形。


  • VALL-E:研究者的主要兴趣是为未见过的 speaker 生成给定的内容,需要给该模型一个文本句子、一段 enrolled 语音及其对应的转录。
  • VALL-E-continual:在此设置中,研究者使用整个转录和语音的前 3 秒分别作为音素和声音 prompt,并要求模型生成后续部分。

实验结果

研究者在 LibriSpeech 和 VCTK 数据集上评估 VALL-E,在这些数据集中,所有测试 speaker 都在训练语料库中是未见过的。

LibriSpeech 评估

研究者首先使用 LibriSpeech 进行零样本 TTS 评估,并计算 WER 分数和真实语音的 speaker 相似度分数作为上限。与 YourTTS 基线相比,研究者建立的模型在鲁棒性和 speaker 相似性方面都明显更好,表明研究者生成的语音高度忠实于给定的文本和给定的 enrolled 语音。此外,在 VALL-E-continual 设置中可以进一步降低单词错误率。


研究者还将其鲁棒性与其他基于 speech-to-speech LM 的生成模型 GSLM 和 AudioLM 进行了比较。实验结果表明,VALL-E 在鲁棒性方面明显更好。


在 LibriSpeech 测试中,研究者为每个 speaker 随机抽取一段语音进行人工评估,产生 40 个测试用例。

下表 3 显示了人工评估结果。VALL-E 在 SMOS 方面非常接近真实情况,表明合成语音与测试中给定的未见过 speaker 相似。它以 + 0.93 SMOS 显著优于基线,证明了 VALL-E 在零样本场景中的有效性。关于自然度,VALL-E 以 + 0.12 CMOS 优于基线,表明所提出的方法可以根据基线合成更自然、更真实的语音。


VCTK 评估

研究者在由 108 个 speaker 组成的 VCTK 上评估了模型,所有 speaker 均是在训练时没有见过的。

研究者首先使用上述的 speaker 验证指标评估 YourTTS 和 VALL-E 两个模型。从下表 6 中可以看出,即使 YourTTS 在训练时已经用到 97 个 speaker 的语音,VALL-E 也优于 YourTTS,表明 VALL-E 能够合成与 speaker 相似度更高的语音。当两个模型同时使用训练中未见过的 11 个 speaker 语音进行比较时,性能差距变得更大,尤其是当只有 3 秒 prompt 可用时。

表 6

研究者抽取 60 位 speaker 进行人工评估,每人一段语音,其中 11 位未见过,49 位在 YourTTS 的训练集中。VALL-E 未见过 60 个 speaker 的任何数据。在模型合成过程中,每个 speaker 都录一段 3 秒语音。下表 7 显示了研究者的方法与 YourTTS 及 GroundTruth 的比较。
 
SMOS 的比较表明,VALL-E 合成的语音比 YourTTS 更接近 speaker。side-by-side CMOS 评估显示 VALL-E 比 YourTTS 高出 +0.23,表明在自然度方面表现明显更好。此外,VALL-E 比 GroundTruth 高出 + 0.04 CMOS,表明与该数据集上的人类录音没有统计学上的显著差异。


定性分析

由于 VALL-E 使用基于采样的方法生成离散 token,因此推理具有随机性,对于相同的输入文本,其输出是不同的。给定一个句子和一个 enrolled 录音,运行两次推理过程,并在下图 4 中可视化其波形。


更多技术细节请参阅原论文。
理论语言模型微软TTS
相关数据
重构技术

代码重构(英语:Code refactoring)指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。 软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

语料库技术

语料库一词在语言学上意指大量的文本,通常经过整理,具有既定格式与标记;事实上,语料库英文 "text corpus" 的涵意即为"body of text"。

矢量量化技术

矢量量化是70年代后期发展起来的一种数据压缩技术基本思想:将若干个标量数据组构成一个矢量,然后在矢量空间给以整体量化,从而压缩了数据而不损失多少信息。它是一种数据压缩技=术,指从N维实空间RN到RN中L个离散矢量的映射,也可称为分组量化,标量量化是矢量量化在维数为1时的特例。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

神经语言模型技术

语言模型是估计单词序列的联合概率函数,比如给一个长度为m的单词序列,通过使用语言模型,可以获得这m个单词分布的概率P(W1,...,Wm)。对于许多的自然语言处理的应用,可以估计不同短语的概率是极具应用价值的。语言模型可以应用于语音识别,机器翻译,语音标记,解析,手写识别,信息检索等领域。

Audi机构

奥迪是一间德国跨国豪华汽车制造商,主要从事豪华和高性能汽车制造业。总部位于德国巴伐利亚州的英戈尔施塔特。是大众集团的成员。奥迪与德国品牌宝马和梅赛德斯-奔驰一起,是世界上最畅销的豪华汽车品牌之一。

http://www.audi.com/
语言模型技术

统计式的语言模型是借由一个几率分布,而指派几率给字词所组成的字串。语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。

语音合成技术

语音合成是通过机械的、电子的方法产生人造语音的技术。TTS技术(又称文语转换技术)隶属于语音合成,它是将计算机自己产生的、或外部输入的文字信息转变为可以听得懂的、流利的汉语口语输出的技术。

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

推荐文章
暂无评论
暂无评论~