MARS5-TTS 是 CAMB.AI 发布的英语语音模型(TTS)开源仓库,采用两阶段 AR-NAR 流水线,并具有独特的 NAR 组件。
一、用途 MARS5 专注于韵律复杂和多样化的语音生成场景,例如体育解说、动漫等。仅需约 5 秒的音频和一段文本,即可生成语音。模型在原始音频和字节对编码文本上训练,因此可以通过标点和大小写引导输出韵律:例如在转录文本中添加逗号以插入停顿,或将单词大写以强调该词,从而以较自然的方式引导生成语音的韵律。
二、主要能力
- 语音克隆与合成:通过 2-12 秒的音频参考文件指定说话人身份,长度约 6 秒可获得最佳结果。
- 两种推理模式:浅克隆(shallow clone)无需参考文本,速度快;深克隆(deep clone)需要提供参考文本,速度较慢但通常质量更高,可提升克隆质量和输出效果。
- 韵律控制:通过标点、大小写等方式引导生成语音的韵律。
- 模型检查点:提供 AR fp16 检查点(约 750M 参数)和 NAR fp16 检查点(约 450M 参数),配置嵌入检查点中。字节对编码分词器用于 L0 encodec 码和英语文本,嵌入每个检查点的 'vocab' 键下,格式大致遵循保存的 minbpe 分词器。检查点提供 pytorch .pt 和 safetensors .safetensors 两种格式,torch.hub.load() 默认加载 safetensors 版本,可通过 ckpt_format 参数指定。例如强制 safetensors 格式:torch.hub.load('Camb-ai/mars5-tts', 'mars5_english', ckpt_format='safetensors');强制 pytorch .pt 格式:torch.hub.load('Camb-ai/mars5-tts', 'mars5_english', ckpt_format='pt')。
三、使用方式
- 安装要求:Python >= 3.10、Torch >= 2.0、Torchaudio、Librosa、Vocos、Encodec、safetensors、regex。
- 通过 pip 安装依赖。
- 使用 torch.hub 加载 MARS5 AR 和 NAR 模型,无需克隆仓库。也可从 huggingface 加载模型(需克隆仓库)。
- 选择参考音频,可选提供其转录文本。参考转录文本可选,若希望进行深克隆则需传入。
- 执行合成。默认设置可提供相当好的结果,也可调整推理设置以针对特定用例优化输出,详见 InferenceConfig 代码或演示 notebook。
- 最佳质量提示:确保参考音频干净且介于 1 秒至 12 秒之间;使用深克隆并提供准确的参考转录文本;使用正确的标点——模型可通过正确使用标点和大小写得到更好或更差的结果。
- Docker 部署:可直接从 DockerHub 拉取镜像,也可使用仓库提供的 Dockerfile 自行构建。该镜像应作为基础镜像,在其上添加自定义推理脚本。
- 硬件要求:必须能在 GPU 上存储至少 750M+450M 参数,并进行 750M 活跃参数的推理。若不具备必要硬件要求,可通过 CAMB.AI 的 API 使用 MARS5。如需额外额度测试用例,可联系 help@camb.ai。
- 在线资源:Colab 快速入门、样本页面(含少量困难韵律样本)、在线演示。
四、适用场景 适用于需要高质量、韵律复杂多样的英语语音合成场景,如体育解说、动漫配音等;也可用于语音克隆、多语言 TTS 和配音(CAMBAI 网站提供 140+ 语言的 TTS 和配音服务)。
五、限制
- 目前 MARS5 并非完美,团队正在改进其质量、稳定性和性能。待改进领域包括:推理稳定性和一致性、速度/性能优化、长参考音频时的参考音频选择、标准语音数据集上的基准性能数字、GPU 和 CPU 内存及运行时速度指标分析、将 MPS 不支持的模型操作移植到等效操作以加速苹果 Mac 推理(例如 aten::col2im 在 MPS 后端不支持会回退到 CPU)、在 DDPM 推理代码中干净地添加更高效的 ODE 采样器(即使只是 DPM++2M 也很好)、制作演示/用户界面程序以快速收集两个音频样本(一个由模型生成,一个为真实样本)之间的人类偏好评分、实现长格式生成方式(例如将长输入文本分块并依次合成代码、拼接后对最终结果进行声码化)、对自回归采样设置进行搜索(如 beam 或 grid)以找到给出最佳质量的设置预设。
- 硬件要求较高,需 GPU 存储至少 750M+450M 参数。
- 模型目前仅提供英语版本。
- 采用 GNU AGPL 3.0 开源许可,商业使用需联系 help@camb.ai 获取闭源版本许可。
六、其他信息
- 2024 年 7 月 5 日发布最新 AR 检查点,输出稳定性更高,重大更新即将到来。
- 贡献格式:在 GitHub 上 fork 主仓库,克隆并设置 upstream,创建新本地分支并修改提交,推送更改,发起 Pull Request 并包含描述。
- 项目鸣谢:AWS 提供计算资源(NVIDIA H100s),以及 TransFusion、Multinomial diffusion、Mistral-src、minbpe、gemelo-ai 的 encodec Vocos、librosa 等代码参考。
- CAMB.AI 团队为全球分布式研究团队,成员包括 Interspeech 发表作者、卡内基梅隆大学、前 Siri 工程师,正在招聘。