🎯 概述
在文本到语音(TTS)领域,MaskGCT(Masked Generative Codec Transformer)带来了革命性的创新。它是一个完全非自回归的TTS模型,不再依赖文本和语音的显式对齐信息,也不需要进行音素级的时长预测。简而言之,MaskGCT是一个两阶段模型:第一阶段从文本预测语义令牌,这些令牌来自于一个自监督学习(SSL)语音模型;第二阶段,模型根据这些语义令牌预测声学令牌。
友情链接:ACEJoy
MaskGCT遵循“掩码与预测”的学习范式,训练时预测被掩码的语义或声学令牌,推理时则并行生成指定长度的令牌。最令人兴奋的是,MaskGCT在100,000小时的自然语音数据集上进行训练,实验证明其在质量、相似性和可理解性方面超越了当前的零样本TTS技术。音频示例可以在演示页面体验。
📰 最新动态
- 2024/10/19:发布MaskGCT,训练于Emilia数据集,达到零样本TTS的最先进性能(SOTA)。
🚀 快速开始
要运行MaskGCT模型,您可以按照以下步骤进行操作:
- 克隆仓库并安装环境:您可以选择部分克隆(partial clone)或完整克隆(full clone)。
- 运行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 Truth | 0.68 | 1.94 | 4.05±0.12 | 0.00 | |
VALL-E | 0.50 | 5.90 | – | 3.47 ±0.26 | -0.52±0.22 |
VoiceBox | 0.64 | 2.03 | 0.762 | 3.80±0.17 | -0.41±0.13 |
NaturalSpeech 3 | 0.67 | 1.94 | 0.786 | 4.26±0.10 | 0.16±0.14 |
MaskGCT | 0.687(0.723) | 2.634(1.976) | 0.886 | 4.27±0.14 | 0.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都能为更自然、更智能的语音合成提供支持。