🎙️ MaskGCT: 探索零样本文本到语音转换的未来


🎯 概述

在文本到语音(TTS)领域,MaskGCTMasked Generative Codec Transformer)带来了革命性的创新。它是一个完全非自回归的TTS模型,不再依赖文本和语音的显式对齐信息,也不需要进行音素级的时长预测。简而言之,MaskGCT是一个两阶段模型:第一阶段从文本预测语义令牌,这些令牌来自于一个自监督学习(SSL)语音模型;第二阶段,模型根据这些语义令牌预测声学令牌。

友情链接:ACEJoy

MaskGCT遵循“掩码与预测”的学习范式,训练时预测被掩码的语义或声学令牌,推理时则并行生成指定长度的令牌。最令人兴奋的是,MaskGCT在100,000小时的自然语音数据集上进行训练,实验证明其在质量、相似性和可理解性方面超越了当前的零样本TTS技术。音频示例可以在演示页面体验。


📰 最新动态

  • 2024/10/19:发布MaskGCT,训练于Emilia数据集,达到零样本TTS的最先进性能(SOTA)。

🚀 快速开始

要运行MaskGCT模型,您可以按照以下步骤进行操作:

  1. 克隆仓库并安装环境:您可以选择部分克隆(partial clone)或完整克隆(full clone)。
  2. 运行Jupyter Notebook / Gradio演示 / 推理脚本

部分克隆

由于Amphion仓库较大,您可以使用稀疏检出(sparse-checkout)只下载所需的代码:

# 下载元信息
git clone --no-checkout --filter=blob:none https://github.com/open-mmlab/Amphion.git

# 进入仓库目录
cd Amphion

# 设置稀疏检出
git sparse-checkout init --cone
git sparse-checkout set models/tts/maskgct

# 下载所需代码
git checkout main
git sparse-checkout add models/codec utils

完整克隆

如果您希望下载整个仓库,您可以使用以下命令:

git clone https://github.com/open-mmlab/Amphion.git

# 进入仓库目录
cd Amphion

安装环境

确保您在Amphion目录下。如果不在,请使用cd命令切换到该目录。由于我们使用phonemizer将文本转换为音素,您需要先安装espeak-ng

# 对于Debian类发行版(如 Ubuntu、Mint 等)
sudo apt-get install espeak-ng

# 对于RedHat类发行版(如 CentOS、Fedora 等) 
sudo yum install espeak-ng

# 对于Windows用户,请访问 https://github.com/espeak-ng/espeak-ng/releases 下载.msi安装程序

然后,使用conda配置环境:

conda create -n maskgct python=3.10
conda activate maskgct

pip install -r models/tts/maskgct/requirements.txt

🧑‍🏫 模型介绍

MaskGCT提供了以下预训练模型:

模型名称描述
Semantic Codec将语音转换为语义令牌。
Acoustic Codec将语音转换为声学令牌并从中重构波形。
MaskGCT-T2S使用文本和语义令牌预测语义令牌。
MaskGCT-S2A根据语义令牌预测声学令牌。

所有预训练模型均可从HuggingFace下载,您也可以使用HuggingFace的API:

from huggingface_hub import hf_hub_download

# 下载semantic codec模型
semantic_code_ckpt = hf_hub_download("amphion/MaskGCT", filename="semantic_codec/model.safetensors")

🎧 模型评估结果

MaskGCT在多个数据集上进行了评估,结果展示了其在多个指标上优越的表现:

系统SIM-O↑WER↓FSD↓SMOS↑CMOS↑
LibriSpeech test-clean
Ground Truth0.681.944.05±0.120.00
VALL-E0.505.903.47 ±0.26-0.52±0.22
VoiceBox0.642.030.7623.80±0.17-0.41±0.13
NaturalSpeech 30.671.940.7864.26±0.100.16±0.14
MaskGCT0.687(0.723)2.634(1.976)0.8864.27±0.140.10±0.16

这些结果表明,MaskGCT在LibriSpeech等主流数据集上表现优异,特别是在相似性和语音质量方面显示出显著提升。


⚙️ 训练数据集

MaskGCT的训练数据集是Emilia,这是一个多语言、多样化的自然语音数据集,专为大规模语音合成任务设计。在这项工作中,使用了Emilia中的英语和中文数据,总量达100,000小时。


📚 参考文献

如果您在研究中使用了MaskGCT,请引用以下文献:

@article{wang2024maskgct,
  title={MaskGCT: Zero-Shot Text-to-Speech with Masked Generative Codec Transformer},
  author={Wang, Yuancheng and Zhan, Haoyue and Liu, Liwei and Zeng, Ruihong and others},
  journal={arXiv preprint arXiv:2409.00750},
  year={2024}
}

🎬 结语

MaskGCT不仅仅是一个TTS模型,它代表了一个全新的研究方向。通过打破传统的自回归生成框架,MaskGCT真正实现了高效的并行推理,尤其在零样本学习场景中展现了强大的潜力。无论您是研究者还是开发者,MaskGCT都能为更自然、更智能的语音合成提供支持。

发表评论