ADASPEECH: ADAPTIVE TEXT TO SPEECH FOR CUSTOM VOICE笔记

1 introduce

adaspeech分为三阶段:
1. 预训练:TTS模型在大规模多说话人数据集上进行训练,这可以确保TTS模型覆盖有助于适应的不同文本和说话声音
2. 微调:通过在具有不同声学条件的有限适应数据上微调(的一部分)模型参数,使源TTS模型适应于新的语音。
3. 推理:TTS模型的未适配部分(由所有定制语音共享的参数)和适配部分(每个定制语音具有特定的适配参数)都用于推断请求。
声学条件建模

为了适应不同的声学条件,在预训练和微调阶段对语音和音素两个层次的声学条件进行建模。使用两个声学编码器从目标语音中提取一个话语级矢量和一个音素级矢量序列,作为梅尔谱图解码器的输入,分别表示全局和局部声学条件。在推理中,从参考语音中提取话语级矢量,并使用另一个声学预测器,该预测器是建立在音素编码器上的音素级矢量进行预测。

条件层归一化

为了减少参数并保证语音质量的同时,对层归一化进行了修改。在预训练中在melspectrogram解码器中,通过使用说话人嵌入作为条件信息来生成层归一化中的尺度和偏置向量。在微调中,只调整与条件层归一化相关的参数。这样减少了参数量。

2 adaspeech

基本模型主干由音素编码器、梅尔频谱图解码器和方差适配器组成,方差适配器将包括持续时间、音高和能量的方差信息提供到音素隐藏序列中。

2.1 声学条件建模

在文本到语音中,由于输入文本缺乏足够的声学条件(诸如说话者音色、韵律和记录环境)来预测目标语音,因此模型倾向于记忆和过拟合训练数据。解决这一问题的一种方法是提供相应的声学条件作为输入,使模型学习合理的文本到语音的映射,以实现更好的泛化,而不是记忆。
将声学条件分为三类:

  1. 说话人级:粗粒度声学条件,以捕获说话人的整体特性。一般都是用说话者id获得说话者embeding表征。
  2. 句子级:说话人每次句子中的细粒度声学条件。声学编码器从参考语音中提取向量,然后将其扩展并添加到音素隐藏序列中。训练的时候参考语音用目标语音,推理时随机选择该说话人的语音
  3. 音素级:发音的每个音素中的更细粒度的声学条件,诸如特定音素上的重音、音高、韵律和时间环境噪声。我们使用另一个声学编码器从目标语音中提取一系列音素级矢量,并将其添加到音素隐藏序列中。为了从语音中提取音素级信息,我们首先根据音素与mel-声谱图序列的对齐情况对同一音素对应的语音帧进行平均,将语音帧序列长度转换为音素序列长度,在推断期间,使用另一个音素级声学预测器,其构建在原始音素编码器上以预测音素级向量。
2.2 条件层归一化

使用一个小的条件网络,用对应的说话人特征来确定层归一化中的尺度和偏置向量,之后在适应新的语音时对这个条件网络进行微调。

2.3 ADASPEECH管道

在微调期间,我们仅微调解码器和说话者嵌入Es中的每个条件层归一化中的两个矩阵Wγ c和Wβ c,固定其他模型参数,包括话语级和音素级声学编码器以及音素级声学预测器。在推断期间,我们在每个条件层归一化中不直接使用两个矩阵Wγ c和Wβ c,根据等式在这里插入图片描述
从说话者嵌入Es计算每个尺度和偏置向量γ sc和β sc。

3 实验设置

Datasets

预处理:

  1. 将所有语音数据的采样率转换为16 kHz
  2. 采用12.5ms跳距和50 ms窗口大小提取梅尔谱图
  3. 利用字素到音素转换将文本序列转换成音素序列并将音素作为编码器输入
    训练集:LibriTTS (2456 spaekers,586h)
    测试集:VCTK(108个spaekers,44h), LJspech(单speaker,24h),说话人挑选20句,但是结果表明在10句时已经取得比较好的结果。
Model Configuration

AdaSpeech的模型遵循FastSpeech 2中的基本结构。由音素编码器和melspectrogram解码器的4个前馈变换器块组成。隐维数(包括音素嵌入、说话人嵌入、自我注意中的隐维数、前馈网络的输入输出隐维数)设置为256。attention heads的数量、前馈滤波器大小和核大小分别被设置为2、1024和9。输出线性层将256维隐藏转换为80维mel频谱图。
在这里插入图片描述
话语级声学编码器b由具有滤波器大小、核大小和步长大小为256、5和3的2个卷积层以及用于获得单个向量的池化层组成。
音素级声学编码器c和预测器d共享相同的结构,其由分别具有256和3的滤波器大小和核大小的2个卷积层以及用于将隐藏压缩到4维的线性层组成,使用MFA以提取音素和mel频谱图序列之间的对齐,其用于准备音素级声学编码器的输入。

Training, Adaptation and Inference

首先训练AdaSpeech 60000步,除了音素级声学预测器的参数外,所有模型参数都进行了优化。然后针对剩余的40000个步骤联合训练AdaSpeech和音素级声学预测器,其中音素级声学编码器的输出隐藏被用作标签(停止梯度以防止流回到音素级声学编码器)以训练具有均方误差(MSE)损失的音素级声学预测器。

4 RESULTS

4.1语音质量

在这里插入图片描述
GT:真实值、有效值或标准答案
Baseline:在之前的模型基础上增加了一些组件,并对实验结果进行对照,之前的模型就是Baseline

4.2 方法分析

消融研究证明了AdaSpeech中每个组件(话语级和音素级声学建模以及条件层归一化)的有效性。
在这里插入图片描述
声学条件建模分析:同一说话者的不同话语被聚类在一起,但是在声学条件上具有差异。也有例外,棕色实心圆中的三个点属于不同的说话人,但彼此接近。
在这里插入图片描述
条件层归一化分析:表3所示。可以看出,与条件层归一化相比,这两种设置都导致更差的质量,这验证了其有效性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值