AUTOVC: Zero-Shot Voice Style Transfer with Only Autoencoder Loss笔记


论文:AUTOVC: Zero-Shot Voice Style Transfer with Only Autoencoder Loss

代码:github地址

AutoVC在传统的非平行数据的多对多语音转换任务中表现较好,而且可以实现Zero-shot语音转换(转换为没有听过的语音风格)。

整个转换过程分为三步(1)音频->Mel谱图(2)使用AutoVC模型转换Mel谱图(3)使用WaveNet将Mel谱图转换为音频

网络结构

目前现有的常用的两种VC方法:GAN和VAE,但是GAN较难训练,而VAE并不能保证分布匹配,而且经常出现转换输出过平滑的问题。本文期待结合GAN和VAE两者的优点。AutoVC遵循自编码框架,只针对自编码损耗进行训练,但它引入了精心调整的降维和时间下采样来约束信息流。

整个网络包括三个模块:

内容编码器Ec:产生语音内容

说话人编码器Es:产生说话人风格

解码器D:由Ec和Es的输出产生语音

转换时,将原语音Mel图送入Ec,将目标说话人的任一语音Mel图送入Es,从D中即可得到转换后的语音Mel图

在训练期间,将源语音输入到Ec。将同一个说话人另一个语音输入到Es。使得内容编码器和解码器使自重构误差最小化即可。在整个论文中,假定Es是预训练好的,我们所指的训练指的是训练Ec和D。内容编码器的输入为是X1,但是风格编码器的输入变成了来自同一说话者U1的不同的话语Z1‘,记作X1’。训练时最小化损失函数,即自重构误差和内容码重构误差的加权组合。
minEc(),D(,)L=Lrecon +λLcontent  \min _{E_{c}(\cdot), D(\cdot, \cdot)} L=L_{\text {recon }}+\lambda L_{\text {content }}

Lrecon =E[X^11X122] L_{\text {recon }}=\mathbb{E}\left[\left\|\hat{X}_{1 \rightarrow 1}-X_{1}\right\|_{2}^{2}\right]

Lcontent =E[Ec(X^11)C11] L_{\text {content }}=\mathbb{E}\left[\left\|E_{c}\left(\hat{X}_{1 \rightarrow 1}\right)-C_{1}\right\|_{1}\right]

说话人编码器

Es由两个单元大小为768的LSTM层堆叠而成。只选择上次的输出,并将其投影到具有完全连接层的256维。最终得到的说话人风格是一个256×1的向量。对说话者编码器进行GE2E损耗预训练,最大限度地提高了同一说话者不同话语之间的嵌入相似性,最大限度地降低了不同说话者之间的相似性。

实验中Es是在VoxCeleb1和Librispeech数据集上预训练好的。

内容编码器

Ec的输入X1是80维mel谱图,在每个时间步长上串联扬声器嵌入Es(X1)。将连接后的特征输入到3个5×1卷积层中,每层依次进行批处理归一化和ReLU激活。通道数为512。然后输出传递到两个双向LSTM层的堆栈。向前和向后单元格的维度都是32,因此它们的组合维度是64。

解码器

将Es和Ec的输出进行上采样,以恢复到原始的时间分辨率。形式上,表示上采样特征分别为形式上,表示上采样特征分别为U→和U←
U(:,t)=C1(:,/32)U(:,t)=C1(:,t/32) \begin{aligned} &U_{\rightarrow}(:, t)=C_{1 \rightarrow}(:,\lfloor/ 32\rfloor)\\ &U_{\leftarrow}(:, t)=C_{1 \leftarrow}(:,\lfloor t / 32\rfloor) \end{aligned}
然后,将上采样得到的特征连接并送入3个5×1卷积层,每个卷积层有512个通道,每个通道依次进行批量归一化和ReLU,然后是3个LSTM层,单元尺寸为1024。接着将LSTM层的输出送到维度80,1×1的卷积层中。

声码器

将得到的Mel图转换为语音

使用预训练的WaveNet网络,包含4个反卷积层,实验中mel图的帧速率为62.5 Hz,语音波形的采样速率为16 kHz。因此反卷积层将对Mel图进行上采样,以匹配语音波形的采样率。然后,利用标准的40层的WaveNet对上采样谱图进行出来,生成语音波形。

实验

论文中实现了两种AutoVC,一种是由Es产生的说话人风格向量,另一种AutoVC-one-hot,使用的每个说话人的one-hot编码作为说话人风格向量。

MOS结果表明,AUTOVC在自然度方面优于现有的非并行转换系统。在相似性方面,AUTOVC也优于Baseline。注意,对于Baseline,从同性转换到跨性别转换有显着的下降,但是AUTOVC算法没有显示这种下降。最后,AUTOVC与AUTOVC- one - hot之间没有显着的差异,说明AUTOVC的性能增益并不是由于说话人编码器的使用而得到的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章