SuperAPI AI 工具集

Confucius4-TTS

Confucius4-TTS 是由网易有道开源的多语言与跨语言零样本语音合成(TTS)系统,基于“语音编码器 + 大语言模型(LLM)”架构,在合成高质量语音的同时保持说话人音色跨语言的一致性。它支持中文、英语、日语、韩语、德语、法语、西班牙语、印尼语、意大利语、泰语、葡萄牙语、俄语、马来语和越南语共14种语言,并可在语言间无缝切换。该项目具备无约束语音克隆(无需参考文本转录)、跨语言音色迁移(合成无口音语音)、零样本音色迁移(无需额外训练即可克隆音色)、情感迁移(克隆语气与情感)等能力,并在真实多语言场景下表现出较强泛化能力。使用方式包括示例脚本、Python API、vLLM 加速后端、Gradio 网页界面以及 FastAPI 服务端,支持非流式与流式生成。代码与模型托管于 GitHub,并提供在线演示。

访问官网

工具介绍

Confucius4-TTS 是网易有道开源的一个高级基于 LLM 的文本转语音(TTS)系统,专注于多语言与跨语言语音合成。项目口号为“One voice. Any language.”(一个声音,任意语言)。

用途

该系统主要用于多语言和跨语言的语音合成,能够在保持说话人音色身份一致的前提下,实现跨语言的语音生成,适用于需要在不同语言间复用同一音色的场景。官方提供了在线演示地址:https://confucius4-tts.youdao.com/gradio 。

主要能力

  • 支持14种语言:中文、英语、日语、韩语、德语、法语、西班牙语、印尼语、意大利语、泰语、葡萄牙语、俄语、马来语和越南语,并称后续将支持更多语言。
  • 无约束语音克隆(Unconstrained Voice Cloning):不需要参考文本转录。
  • 跨语言音色迁移(Cross-Lingual Voice Transfer):在14种语言间合成无口音语音。
  • 零样本音色迁移(Zero-Shot Voice Transfer):无需额外训练即可克隆声音。
  • 无缝情感迁移(Seamless Emotion Transfer):不只克隆音色,还能克隆情感。
  • 稳健泛化(Robust Generalization):在真实多语言场景下性能稳定。

使用方式

  1. 基础运行流程:
    • 克隆代码仓库。
    • 创建并激活 conda 环境。
    • 安装依赖。
    • 若所在环境访问 HuggingFace 受限,可在运行前设置镜像端点。
    • 使用提供的 example.py 脚本进行零样本 TTS 合成。
    • 也可直接使用 Python API。
  2. 加速后端:
    • 基础路径使用 HuggingFace Transformers 运行 Text2Semantic(T2S)自回归阶段。
    • 若希望加快 T2S 生成,可切换到 vLLM 后端(example_vllm.py),利用 PagedAttention 加速 LLM 阶段。
    • 目前支持 vLLM 0.16.0(V1 引擎)。旧版本未经过测试,可能无法运行,因为模型注册和 GPUModelRunner monkey-patch 针对的是 v1 引擎内部实现。
    • 注意:vLLM 对 GPU 架构、驱动、CUDA 有特定要求,可能无法在您的硬件上运行,且将其安装进基础环境可能破坏其他包。建议从基础环境克隆一个单独的 conda 环境,然后只安装 vLLM 附加依赖。
  3. 流式生成:
    • 通过 --stream 标志同时支持非流式和流式生成。
  4. Gradio 网页界面:
    • 提供用于浏览器中交互式零样本语音克隆的 Gradio Web UI。上传参考音频、输入文本、选择语言,点击 Generate 即可。
    • 启动后可在浏览器打开 http://<server-ip>:7860。参考音频通过 HTTP 上传到服务器,因此客户端浏览器无需与服务器共享文件系统。
  5. FastAPI 服务端:
    • 若需程序化访问(例如从另一个服务/机器调用 TTS),可使用 FastAPI 服务器。它同时暴露非流式与流式端点,并接受参考音频作为 HTTP 文件上传,因此客户端和服务器无需位于同一主机。
    • 请求表单字段:text、lang(例如 zh、en、ja)、reference(音频文件上传)。

训练流程

Confucius4-TTS 采用“语音编码器 + LLM”架构,训练管线覆盖两个模块:

  • Text2Semantic(T2S):根据文本和说话人条件生成语义 token 序列。
  • Semantic2Acoustic(S2A):一个流匹配(flow-matching)模型,将语义 token 转换为梅尔频谱图。

训练步骤:

  1. 准备预训练模型:下载两个外部模型,下载后目录结构需符合要求。
  2. 准备训练数据:训练数据以 TSV 文件提供(制表符分隔、无表头),包含 5 列。
  3. 在 config/train_t2s.yaml 中配置训练/验证路径。
  4. 启动 T2S 训练:在 config/train_t2s.yaml 中设置预训练 T2S 检查点路径,然后单节点训练。
  5. 启动 S2A 训练:在 config/train_s2a.yaml 中设置检查点路径。t2s_checkpoint 指向冻结的 T2S 主干;s2a_checkpoint 可选,用于从预训练 S2A 模型恢复。S2A 训练期间,T2S 模型、说话人编码器(Wav2Vec2-BERT)和风格编码器(CAMPPlus)均被冻结,仅训练流匹配 S2A 模型。

评测与适用场景

Confucius4-TTS 在多语言和跨语言零样本 TTS 基准上取得了有竞争力的结果,在多种语言中具有较强可懂度和说话人相似度。评测指标中 WER/CER 越低越好(↓),SIM 越高越好(↑)。涉及 CV3-eval 跨语言、X-Voice Benchmark、MiniMax-MLS-Test 等评测。

限制与依赖

  • 目前支持14种语言,更多语言称即将推出。
  • vLLM 后端有硬件与驱动要求,可能无法在部分环境中运行,并可能影响基础环境中的其他包,建议使用独立 conda 环境。
  • 仅 vLLM 0.16.0(V1 引擎)经过测试,旧版本可能不可用。

致谢

Confucius4-TTS 建立在以下开源项目之上:Qwen3-TTS(说话人编码器 ECAPA-TDNN 与文本嵌入投影器架构)、CosyVoice(文本归一化管线)、Amphion / MaskGCT(语义编解码器实现)、w2v-BERT 2.0(语义特征提取与说话人条件)、Seed-VC(流匹配架构参考)、BigVGAN(用于梅尔频谱到波形合成的高保真神经声码器)。如在研究或项目中使用了 Confucius4-TTS,官方建议引用该项目。