[论文解读] AdaSpeech: Adaptive Text to Speech for Custom Voice
AdaSpeech 通过在句子级和音素级建模声学条件,并使用条件层归一化来保持自适应参数较小,从而用少量自适应数据将源 TTS 模型适配到新的声音。
Custom voice, a specific text to speech (TTS) service in commercial speech platforms, aims to adapt a source TTS model to synthesize personal voice for a target speaker using few speech data. Custom voice presents two unique challenges for TTS adaptation: 1) to support diverse customers, the adaptation model needs to handle diverse acoustic conditions that could be very different from source speech data, and 2) to support a large number of customers, the adaptation parameters need to be small enough for each target speaker to reduce memory usage while maintaining high voice quality. In this work, we propose AdaSpeech, an adaptive TTS system for high-quality and efficient customization of new voices. We design several techniques in AdaSpeech to address the two challenges in custom voice: 1) To handle different acoustic conditions, we use two acoustic encoders to extract an utterance-level vector and a sequence of phoneme-level vectors from the target speech during training; in inference, we extract the utterance-level vector from a reference speech and use an acoustic predictor to predict the phoneme-level vectors. 2) To better trade off the adaptation parameters and voice quality, we introduce conditional layer normalization in the mel-spectrogram decoder of AdaSpeech, and fine-tune this part in addition to speaker embedding for adaptation. We pre-train the source TTS model on LibriTTS datasets and fine-tune it on VCTK and LJSpeech datasets (with different acoustic conditions from LibriTTS) with few adaptation data, e.g., 20 sentences, about 1 minute speech. Experiment results show that AdaSpeech achieves much better adaptation quality than baseline methods, with only about 5K specific parameters for each speaker, which demonstrates its effectiveness for custom voice. Audio samples are available at https://speechresearch.github.io/adaspeech/.
研究动机与目标
- 解决自定义语音的挑战:(1) 处理来自不同说话人和环境的自适应数据中的多样声学条件;(2) 在每位说话人参数有限的情况下实现可扩展的自适应,以服务于大量用户;(3) 用少量自适应样本实现高自然度和说话人相似度。
提出的方法
- 采用 FastSpeech 2 作为骨干网络,并加入两个声学条件编码器:一个句子级编码器和一个音素级编码器,以在预训练和微调期间捕捉全局和局部声学条件。
- 推理阶段,基于参考语音推导句子级条件,并通过音素级声学预测器预测音素级条件。
- 在梅尔频谱解码器中引入条件层归一化,缩放和偏置向量由一个小型的说话人条件网络生成,从而实现仅对少量参数进行微调。
- 在自适应过程中仅对条件层归一化参数和说话人嵌入进行微调,保持其他组件固定。
- 在 LibriTTS 上预训练,在 VCTK 和 LJSpeech 上进行少量自适应数据微调(例如大约 20 句)。
- 声码器:MelGAN,从生成的梅尔谱合成波形。
实验结果
研究问题
- RQ1在有限的自适应数据条件下,TTS 如何适应新声音并处理多样的声学条件?
- RQ2在多粒度建模声学条件是否能提升跨领域的语音自适应质量?
- RQ3条件层归一化是否在显著比全量微调参数更少的参数下实现高质量自适应?
- RQ4在 AdaSpeech 中自适应数据大小与声音质量之间的权衡是什么?
主要发现
- 在从 LibriTTS 迁移到 LibriTTS、LJSpeech、VCTK 的自适应场景中,AdaSpeech 取得比基线更高的自适应质量(MOS 和 SMOS),每个语音大约使用 1.2M 共享参数 + 4.9K 说话人特定参数。
- AdaSpeech 在仅微调说话人嵌入以及微调整个解码器的基线中表现更好,同时使用远少的自适应参数。
- 消融研究表明,移除句子级或音素级声学条件,或排除条件层归一化会降低语音质量,证实了每个组件的有效性。
- 在跨域自适应(LibriTTS -> LJSpeech 或 VCTK)中,AdaSpeech 相对于领域内自适应表现出更大的 MOS/SMOS 差距,突出跨域声学错配的挑战。
- 自适应流程(预训练、对 CLN 参数和说话人嵌入的微调、使用预测的音素级向量进行推断)实现了低内存开销的实际部署。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。