-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Description
论文:
paper reading:
- https://mp.weixin.qq.com/s/eoviPIPkmd4cI9nEXdxrhA
- https://zhuanlan.zhihu.com/p/419883319
- 举世无双语音合成系统 VITS 发展历程
复现:
- 官方:https://github.com/jaywalnut310/vits
- espnet:https://github.com/espnet/espnet/blob/master/egs2/csmsc/tts1/conf/tuning/train_vits.yaml
https://github.com/espnet/espnet/blob/master/egs2/csmsc/tts1/conf/tuning/train_full_band_vits.yaml - coqui tts:https://github.com/coqui-ai/TTS/blob/main/TTS/tts/models/vits.py
- coqui tts:https://github.com/Edresson/YourTTS/ (基于 VITS 的 zero shot 的多说话人和多语言模型)
参考文献:
- 变分自编码器(一):原来是这么一回事
- VAE变分自编码机详解——原理篇
- 细水长flow之NICE:流模型的基本概念与实现
- 细水长flow之RealNVP与Glow:流模型的传承与升华
- 细水长flow之f-VAEs:Glow与VAEs的联姻
- 当VAE遇到TTS——基于VAE的语音风格迁移
2-Stage 语音合成面临的挑战
- 声学模型 + 声码器有可能需要用 GTA mel finetune 声码器,如果声码器是 HiFiGAN、MB MelGAN 这种输入不带 noise 的 GAN Vocoder,不 finetune 可能合成的音频会有明显的金属感,这导致训练过程很复杂
a. 训练声学模型(不考虑 MFA 训练的话)
b. 训练声码器
c. 用训练好的声学模型生成的 GTA mel finetune 声码器 - 使用 mel 频谱等特征作为中间特征,限制了语音合成效果的进一步提升,直接一步到位可能更好
- 推理时间长、部署复杂
FastSpeech2s
- text2wav 面临的挑战
a. wav 含有相位信息,text2mel 比 text2wav 面临的 gap 更大
b. 由于 GPU 内存的限制,输入只能是 clip of audio,part of text,这损害的输入文本之间的相关性,使得文本 embedding 更难学习 - 解决办法:
a. wav decoder,对抗性训练 ,结构是类似于 WaveNet 的结构,判别器用的是 PWGAN 的判别器
b. mel-spectrogram decoder来辅助文本特征表示的学习 - 效果,原论文的 MOS 值是 fastspeech2s < fastspeech2 + pwgan
VITS
- Posterior encoder
非因果 WaveNet 残差模块 - Prior encoder (self.text_encoder 和 self.flow)
包括文本编码器和提升先验分布多样性的标准化流, 标准化流模块包含若干 WaveNet 的残差块 - Decoder
与 HiFi-GAN V1 的生成器结构相同 - Discriminator
与 HiFI-GAN 中的多周期判别器结构相同 - Stochastic duration predictor
与 Glow-TTS 相似的单调对齐搜索 (Monotonic Alignment Search, MAS)
LifeIsStrange
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Done