MetaVoice-1B 是一个面向类人、富有表现力的文本转语音(TTS)的基础模型,参数量为 12 亿,训练数据为 10 万小时语音。该项目由 metavoiceio 在 GitHub 上开源。
【主要用途】 MetaVoice-1B 用于将文本合成为语音,重点优化英语的情感语音节奏与语调。它适合需要自然、富有表现力的英语 TTS 场景,也支持语音克隆相关应用。
【主要能力】
- 英语情感语音节奏与语调:模型在构建时以英语情感语音节奏和语调为优先方向。
- 零样本克隆:对于美式和英式口音,仅需 30 秒参考音频即可进行零样本克隆。
- 跨语言语音克隆与微调:支持通过微调进行(跨语言)语音克隆,文档提到在印度说话人上使用少至 1 分钟训练数据即已取得成功。
- 任意长度文本合成:支持合成任意长度的文本。
- 许可证:以 Apache 2.0 许可证发布,可以不受限制地使用。
- 推理性能:在 Ampere、Ada-Lovelace 和 Hopper 架构 GPU 上,模型经过 torch.compile 编译后,synthesise() API 的运行速度快于实时,实时因子(RTF)小于 1.0。启动脚本需要 30 至 90 秒(取决于硬件)。
- 支持 KV 缓存(通过 Flash Decoding)和批处理(包括不同长度的文本)。
【使用方式】 前提条件:GPU 显存 >= 12GB;Python >= 3.10 且 < 3.12;需要 pipx。环境搭建与项目依赖安装可以使用 pip/conda 或 poetry(README 默认使用 poetry;遇到问题时作者会要求先尝试 poetry)。 项目提供了参考实现,可下载后在任意环境(包括本地)使用;可部署到任意云(AWS/GCP/Azure),使用其推理服务器或 Web UI;也可通过 Hugging Face 使用,并提供了 Google Colab 演示。 微调:支持对第一阶段 LLM 进行微调,需要提供以 "|" 分隔的 CSV 数据集,格式按文档要求。注意项目不进行数据集重叠检查,需确保训练集与验证集不相交。样本数据集可用于试用;训练完成后可通过相应命令进行推理。超参数(如学习率、冻结哪些层等)可编辑 finetune_params.py 文件。项目还提供与 W&B 的轻量可选集成,通过设置 wandb_log = True 并安装相应依赖启用。
【架构说明】 模型从文本和说话人信息预测 EnCodec 令牌,然后扩散到波形级别,并进行后处理以清理音频。使用因果 GPT 预测前两个层级的 EnCodec 令牌;文本和音频构成 LLM 上下文;说话人信息通过令牌嵌入层的条件传递,该条件来自单独训练的说话人验证网络。两个层级以“扁平交错”方式预测:先预测第一层级第一个令牌,再预测第二层级第一个令牌,然后第一层级第二个令牌,依此类推。使用无条件下采样(condition-free sampling)增强克隆能力。文本使用自定义训练的 512 令牌 BPE 分词器。文档指出跳过了其他工作中预测语义令牌的步骤,因为发现并非严格必要。 使用非因果(编码器式)transformer 从前两个层级预测其余 6 个层级。这是一个很小的模型(约 1000 万参数),对尝试过的大多数说话人具有广泛的零样本泛化能力。由于是非因果的,可以并行预测所有时间步。 使用多频带扩散(multi-band diffusion)从 EnCodec 令牌生成波形。文档提到,与使用原始 RVQ 解码器或 VOCOS 相比,语音更清晰。但波形级别的扩散会留下一些背景伪影,听感相当不悦,因此在下一步清理。使用 DeepFilterNet 清除多频带扩散引入的伪影。
【适用场景】 适合英语 TTS 与语音克隆的研究、开发与部署;需要富有表现力、带情感节奏的英语语音合成;需要零样本美式/英式口音克隆;以及通过微调进行跨语言语音克隆的场景。
【限制】 需要 GPU 显存 >= 12GB,Python 版本需 >= 3.10 且 < 3.12。脚本启动需要 30 至 90 秒(取决于硬件)。微调时不执行数据集重叠检查,需自行确保训练与验证集不相交。波形级别扩散会引入背景伪影,需由 DeepFilterNet 清理。关于其他语言支持、收费、价格、平台、效果等更多信息,资料中暂未提供。