Skip to content

配音渠道:F5-TTS / Spark-TTS / Index-TTS / Dia-TTS / VoxCPM / Confucius-TTS

v3.68 起,这些 TTS 服务共享同一个设置界面,只需填写对应 TTS 服务启动后的 WebUI 地址(默认通常是 http://127.0.0.1:7860),然后在主界面「配音渠道」下拉列表中选择对应服务即可。

本文档涵盖 6 个开源 TTS 服务的部署与对接方法。它们都通过 Gradio WebUI 提供 API,配置方式基本一致。


一、各渠道简介

渠道开发者支持语言默认地址官方项目
F5-TTS上海交通大学中文、英文(可扩展其他语言)http://127.0.0.1:7860https://github.com/SWivid/F5-TTS
Spark-TTSSparkAudio中文、英文http://127.0.0.1:7860https://github.com/SparkAudio/Spark-TTS
Index-TTSB站开源中文、英文http://127.0.0.1:7860https://github.com/index-tts/index-tts
Dia-TTSnari-labs仅英文http://127.0.0.1:7860https://github.com/nari-labs/dia
VoxCPM-TTS面壁智能30+ 种语言http://127.0.0.1:7860https://github.com/OpenBMB/VoxCPM
Confucius-TTS网易有道14 种语言http://127.0.0.1:7860https://github.com/netease-youdao/Confucius4-TTS

所有渠道的对接流程相同:启动 WebUI → 在 pyVideoTrans 中填写地址 → 选择渠道 → 配置参考音频 → 使用。


二、前置条件

在使用这些 TTS 服务之前,请确保满足以下条件:

  1. pyVideoTrans 版本:v3.68 或更高版本
  2. 硬件要求:建议有 NVIDIA 显卡(GPU 加速),部分服务也支持 CPU 运行(速度较慢)
  3. 网络环境:首次启动可能需要从 HuggingFace 下载模型,国内用户可能需要科学上网或配置镜像
  4. Python 环境:如果选择源码部署,需要 Python 3.9+ 和 Git

三、F5-TTS

什么是 F5-TTS

F5-TTS 是上海交通大学开源的 TTS 服务,支持中英文语音合成和声音克隆。默认支持中文和英文,其他语言需手动修改配置文件。

部署方式

方式一:Windows 整合包(推荐新手)

下载后解压,双击启动脚本即可。

方式二:源码部署

请参照官方项目说明文档部署:https://github.com/SWivid/F5-TTS

启动 WebUI

启动后默认地址是 http://127.0.0.1:7860,在浏览器中打开该地址可以测试语音合成效果。

在 pyVideoTrans 中配置

  1. 打开软件,点击菜单 → TTS设置 → F5-TTS/Spark-TTS/index-TTS/Dia-TTS
  2. 在「WebUI 地址」文本框中填写:http://127.0.0.1:7860
  3. 点击「测试」按钮,若无报错则配置成功
  4. 在主界面「配音渠道」下拉列表中选择「F5-TTS」

四、Index-TTS

什么是 Index-TTS

Index-TTS 是 B站开源的 TTS 服务,支持中文和英文语音克隆,音质效果优秀。

部署方式

Windows 整合包

源码部署

请参照官方项目说明文档:https://github.com/index-tts/index-tts

启动 WebUI

启动后默认地址是 http://127.0.0.1:7860,配置方法与 F5-TTS 完全一致。

注意:仅对接 Index-TTS 官方 WebUI。如果你使用了第三方整合包,请用官方源码中的 webui.py 覆盖三方包的 webui.py,否则可能无法使用。


五、VoxCPM-TTS

什么是 VoxCPM-TTS

VoxCPM-TTS 是面壁智能开源的 TTS 服务,支持 30 多种语言,包括中文多种方言。

支持的语言

  • 国际语言(30+):阿拉伯语、缅甸语、中文、丹麦语、荷兰语、英语、芬兰语、法语、德语、希腊语、希伯来语、印地语、印尼语、意大利语、日语、高棉语、韩语、老挝语、马来语、挪威语、波兰语、葡萄牙语、俄语、西班牙语、斯瓦希里语、瑞典语、他加禄语、泰语、土耳其语、越南语
  • 中文方言:普通话、四川话、粤语、吴语、东北话、河南话、陕西话、山东话、天津话、闽南话

部署方式

请源码部署,参照官方项目说明文档:https://github.com/OpenBMB/VoxCPM

启动 WebUI 后默认地址是 http://127.0.0.1:7860,配置方法与 F5-TTS 一致。


六、Spark-TTS

什么是 Spark-TTS

Spark-TTS 是 SparkAudio 开源的 TTS 服务,支持中文和英文语音克隆。

部署方式

请源码部署,参照官方项目说明文档:https://github.com/SparkAudio/Spark-TTS

启动 WebUI 后默认地址是 http://127.0.0.1:7860,配置方法与 F5-TTS 一致。


七、Dia-TTS

什么是 Dia-TTS

Dia-TTS 是 nari-labs 开源的 TTS 服务,仅支持英文

部署方式

请源码部署,参照官方项目说明文档:https://github.com/nari-labs/dia.git

启动 WebUI 后默认地址是 http://127.0.0.1:7860,配置方法与 F5-TTS 一致。


八、Confucius-TTS

什么是 Confucius-TTS

Confucius-TTS 是网易有道开源的 TTS 服务,支持 14 种语言。

支持的语言

中文、英文、日语、韩语、德语、法语、西班牙语、印尼语、意大利语、泰语、葡萄牙语、俄语、马来语、越南语

部署方式

Windows 整合包

整合包可直接双击 启动webui.bat 使用。

源码部署(需额外操作)

官方源码不含有 WebUI 和 API,无法直接对接本软件。源码部署后需额外操作:

  1. 下载 webui.py 文件
  2. webui.py 放在官方源码目录下
  3. 安装 gradio 模块:pip install gradio
  4. 启动:python webui.py

启动后默认地址是 http://127.0.0.1:7860,配置方法与 F5-TTS 一致。


九、配置参考音频

参考音频统一在菜单 → TTS设置 → 设置参考音频中处理。

操作步骤

  1. 打开「参考音频」设置界面
  2. 在「参考音频」文本框中填写以下格式的内容:
音频文件名#该音频文件中对应的文字
  1. 将参考音频文件放置在 pyVideoTrans 项目根目录下的 f5-tts 文件夹内(如该文件夹不存在请手动创建)

示例

假设你有一个音频文件 nverguo.wav,音频内容是「女儿国王说话」,则填写:

nverguo.wav#女儿国王说话

参考音频放到pyVideotrans软件内的f5-tts文件夹内,别搞错

参考音频和参考音频内文字

参考音频要求

项目要求
格式WAV 格式(推荐),MP3 等格式也可
时长3~12 秒(F5-TTS 最长 12 秒,超长自动截断)
内容发音清晰,无背景噪音
文字必须与音频内容一致

十、F5-TTS 增加其他语言

默认情况下,F5-TTS 配置的是官方的中文和英文模型。如需使用其他语言,需修改 F5-TTS 项目目录下的 src/f5_tts/infer/infer_gradio.py 文件。

修改方法

找到大约第 59 行的代码:

python
DEFAULT_TTS_MODEL_CFG = [
    "hf://SWivid/F5-TTS/F5TTS_v1_Base/model_1250000.safetensors",
    "hf://SWivid/F5-TTS/F5TTS_v1_Base/vocab.txt",
    json.dumps(dict(dim=1024, depth=22, heads=16, ff_mult=2, text_dim=512, conv_layers=4)),
]

代码位置示意图:

将上述代码替换为对应语言的模型配置(见下方),修改完成后重启 F5-TTS。

重要提示:修改后需确保已配置科学上网环境,程序会在线下载新的语言模型。下载成功后,先通过 WebUI 测试一次,确认正常后再通过 pyVideoTrans 使用。同时确保 pyVideoTrans 中的配音文字语言与 F5-TTS 中选择的模型语言一致。

各语言模型配置

法语:

python
DEFAULT_TTS_MODEL_CFG = [
    "hf://RASPIAUDIO/F5-French-MixedSpeakers-reduced/model_last_reduced.pt",
    "hf://RASPIAUDIO/F5-French-MixedSpeakers-reduced/vocab.txt",
    json.dumps({"dim": 1024, "depth": 22, "heads": 16, "ff_mult": 2, "text_dim": 512, "text_mask_padding": False, "conv_layers": 4, "pe_attn_head": 1}),
]

印地语:

python
DEFAULT_TTS_MODEL_CFG = [
    "hf://SPRINGLab/F5-Hindi-24KHz/model_2500000.safetensors",
    "hf://SPRINGLab/F5-Hindi-24KHz/vocab.txt",
    json.dumps({"dim": 768, "depth": 18, "heads": 12, "ff_mult": 2, "text_dim": 512, "text_mask_padding": False, "conv_layers": 4, "pe_attn_head": 1})
]

意大利语:

python
DEFAULT_TTS_MODEL_CFG = [
    "hf://alien79/F5-TTS-italian/model_159600.safetensors",
    "hf://alien79/F5-TTS-italian/vocab.txt",
    json.dumps({"dim": 1024, "depth": 22, "heads": 16, "ff_mult": 2, "text_dim": 512, "text_mask_padding": False, "conv_layers": 4, "pe_attn_head": 1})
]

日语:

python
DEFAULT_TTS_MODEL_CFG = [
    "hf://Jmica/F5TTS/JA_25498980/model_25498980.pt",
    "hf://Jmica/F5TTS/JA_25498980/vocab_updated.txt",
    json.dumps({"dim": 1024, "depth": 22, "heads": 16, "ff_mult": 2, "text_dim": 512, "text_mask_padding": False, "conv_layers": 4, "pe_attn_head": 1})
]

俄语:

python
DEFAULT_TTS_MODEL_CFG = [
    "hf://hotstone228/F5-TTS-Russian/model_last.safetensors",
    "hf://hotstone228/F5-TTS-Russian/vocab.txt",
    json.dumps({"dim": 1024, "depth": 22, "heads": 16, "ff_mult": 2, "text_dim": 512, "text_mask_padding": False, "conv_layers": 4, "pe_attn_head": 1})
]

西班牙语:

python
DEFAULT_TTS_MODEL_CFG = [
    "hf://jpgallegoar/F5-Spanish/model_last.safetensors",
    "hf://jpgallegoar/F5-Spanish/vocab.txt",
    json.dumps({"dim": 1024, "depth": 22, "heads": 16, "ff_mult": 2, "text_dim": 512, "conv_layers": 4})
]

芬兰语:

python
DEFAULT_TTS_MODEL_CFG = [
    "hf://AsmoKoskinen/F5-TTS_Finnish_Model/model_common_voice_fi_vox_populi_fi_20241206.safetensors",
    "hf://AsmoKoskinen/F5-TTS_Finnish_Model/vocab.txt",
    json.dumps({"dim": 1024, "depth": 22, "heads": 16, "ff_mult": 2, "text_dim": 512, "text_mask_padding": False, "conv_layers": 4, "pe_attn_head": 1})
]

可关注官方更新,其他语言可使用类似方式增加,地址:https://github.com/SWivid/F5-TTS/blob/main/src/f5_tts/infer/SHARED.md


十一、常见错误和注意事项

1. 不能关闭终端窗口

API 使用过程中,可以关闭浏览器中的 WebUI 界面,但不能关闭启动 TTS 服务的终端窗口

这个界面不可关闭,否则api无法调用

2. 不能动态切换模型

不可以动态切换 F5-TTS 中的模型。需要手动修改代码,然后重启 WebUI。

3. HuggingFace 连接超时

如果出现类似以下错误:

requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded

这是网络问题,需要配置科学上网环境,确保能访问 huggingface.co。

4. 各渠道 API 端点说明

渠道Gradio API 端点
F5-TTS/basic_tts
Spark-TTS/voice_clone
Index-TTS/gen_single
Dia-TTS/generate_audio
VoxCPM-TTS/generate
Confucius-TTS/_clone_fn

这些端点由软件内部自动调用,用户无需手动配置。

5. 参考音频时长限制

  • F5-TTS:最长 12 秒,超长自动截断
  • 其他渠道:通常建议 3~10 秒

6. 版本兼容性

  • 确保 pyVideoTrans 版本 ≥ v3.68
  • 各 TTS 服务需使用官方 WebUI(第三方包可能 API 不兼容)