跳转到内容

TTS 引擎对比

TomoriBot 支持多种本地语音合成边车(sidecar),各自适合不同的语言、硬件配置与延迟要求。

本页给出在同一套测试环境、使用同一份语音克隆参考的条件下录制的实测基准结果、合成耗时与音频对比片段。

  • 标准文本用于 Chatterbox Standard/Turbo/Nano、MOSS-TTS、CosyVoice 3、VoxCPM2、Qwen3-TTS):

    “Pain and pleasure are two sides of the same coin. Go on now… flip it. Either way, I’ll let you feel all of me.”

  • Fish Audio S2 Pro 文本测试时带方括号表达标签):

    “Pain and pleasure are two sides of the same coin. [laughs] Go on now… flip it. [whispers] Either way, I’ll let you feel all of me.”

耗时同时给出完整生成时间(从发出请求到音频生成完毕的总实际秒数)和实时率(RTF),后者的定义是生成时间除以音频时长:

  • RTF < 1.0(加粗):引擎生成语音的速度快于实时(例如 0.50× RTF 表示一个 10 秒的片段用 5 秒生成完)。只有这些引擎有可能跟上实时语音通话,而 TomoriBot 目前并没有实现这个功能。
  • RTF > 1.0:生成所需的时间比说出来的音频更长。TomoriBot 把每条语音消息作为完整文件发送,所以 RTF 更高只意味着等得更久。
引擎Windows 原生(1)
(RTX 4070 Ti SUPER)
Linux / WSL2macOS
(Apple Silicon)
音频样本
Fish Audio S2 Pro约 8-10 分钟(2)
(约 65× RTF)
未测试未测试
Chatterbox(Turbo,默认)约 5.0 秒 (8.7 秒片段)
0.57× RTF
未测试未测试
Chatterbox(Nano)约 3.0 秒 (8.0 秒片段)
0.38× RTF
未测试未测试
Chatterbox(Standard)约 6.0 秒 (7.8 秒片段)
0.77× RTF
未测试未测试
MOSS-TTS约 12.0 秒 (8.8 秒片段)
1.36× RTF
未测试未测试
CosyVoice 3约 6.0 秒 (13.9 秒片段)
0.43× RTF
未测试未测试
VoxCPM2约 8.0 秒 (7.4 秒片段)
1.09× RTF
未测试未测试
Qwen3-TTS约 10.0 秒 (9.2 秒片段)
1.09× RTF
未测试未测试
  • (1) 测试环境:Windows 11(原生运行)上的 NVIDIA GeForce RTX 4070 Ti SUPER(16 GB GDDR6X、Ada Lovelace),使用一段 26.6 秒、24 kHz 的单声道参考音频样本,并配有逐字对应的参考文本。
  • (2) Fish Audio S2 Pro:在 Windows 上以未编译的 eager 模式运行(约 65× RTF),原因是每个 token 都要经过 76 层求值,CUDA kernel 启动延迟累积起来很可观。建议在 Linux 或 WSL2 上配合 OpenAI Triton 的编译器融合(torch.compile)运行,以避免这种调度停顿。

「そんな顔して……ほんとは私にやられたいんでしょ?ざぁこざぁこ~♡」

引擎Windows 原生(1)
(RTX 4070 Ti SUPER)
Linux / WSL2macOS
(Apple Silicon)
音频样本
IrodoriTTS约 4.0 秒 (8.5 秒片段)
0.47× RTF
未测试未测试
  • (1) 在同一个 RTX 4070 Ti SUPER、Windows 11 测试环境中测得。

  • 如果你想要尽可能高的声音保真度、细粒度、富有表现力的方括号标签([whisper][laughs][sigh]),并且能用上可开启 Triton 编译器融合的 Linux 或 WSL2,那就Fish Audio S2 Pro
  • 想做显存占用小的英语语音克隆,就Chatterbox(Turbo / Nano / Standard)。Nano(约 3.0 秒,0.38× RTF)在 CPU/GPU 上速度最快,Turbo(约 5.0 秒,0.57× RTF)支持副语言事件标签([laughter][sigh]),Standard(约 6.0 秒,0.77× RTF)则可以灵活调节 CFG 引导与情绪夸张程度。
  • 想做试验性的多模态语音克隆,以及用文字描述的英语与中文语音生成,就MOSS-TTS
  • 如果你需要高质量的多语言零样本克隆,并能用自然语言给出表达方式指令("Speak in English with excitement"),那就CosyVoice 3
  • 如果你需要覆盖面足够广的多语言支持(30 种语言)、参考文本辅助的 Ultimate Cloning 以及自然的语音设计,那就VoxCPM2
  • 如果你想要干净的多语言克隆、灵活的语音设计以及稳定的提示词遵循度,那就Qwen3-TTS
  • 如果你的 bot 说日语,那就IrodoriTTS。它是唯一被实测的纯日语引擎(Windows 上约 4 秒,0.47× RTF),并且能原生解析 Unicode emoji(😊😢😡)来调节角色情绪。

目前 TomoriBot 的所有边车(sidecar)都向 bot 返回一个完整的 WAV 文件。「流式路径」是指上游模型或单独的推理后端具备流式输出,并不表示已经实现了 Discord 语音通话的流式传输。体积指的是模型参数量,不是显存占用或下载体积,16 GB 那一列只是配置建议,不是实测峰值。速度那一列描述的是各引擎的设计取舍;上面的实测耗时来自同一台 Windows 机器,不能用来给各引擎在 Linux 上的表现排名。

引擎模型体积;16 GB GPU语言语音来源与控制方式速度 / 流式路径适合场景
Chatterbox350M Turbo(默认)、110M Nano 或 500M Standard;可以,Nano 能用 CPU英语参考音频克隆,受支持的事件标签;标准模型提供 CFG 与夸张程度主打快速与轻量;封装程序返回完整 WAV小体积的英语克隆搭建,或在 CPU 上做实验
Qwen3-TTS每种模式 1.7B;可以,模型会切换10 种,含英语与日语克隆,或用文字描述的 VoiceDesign主打质量;上游支持流式,封装程序会缓冲通用多语言克隆与日语 VoiceDesign
MOSS-TTS4B 克隆模型加约 1.7B 设计模型,二者会切换;16 GB 只是试验目标,未经验证;8B 旗舰模型大概跑不动克隆:31 种,含日语;设计:英语与中文克隆,或用文字描述的 VoiceGenerator;克隆支持语言标签试验性;本地克隆有上游流式后端,封装程序会缓冲对比 MOSS 的克隆质量,或做英语与中文语音设计
IrodoriTTS当前 v4.1 Small 约 0.8B;一次本地运行中观察到约 3-4 GB 显存仅日语克隆或 VoiceDesign;emoji 风格提示用采样步数在质量与速度之间取舍;封装程序会缓冲小体积的日语语音,以及由 emoji 驱动的表达方式
Fish S2 Pro4B;默认官方 BF16(约 16-18 GB),16 GB 可选 INT8上游声称 83 种参考音频克隆(需要参考文本),自由格式的方括号表达标签重型 Dual-AR 模型;想快速合成需要 Linux/WSL2 加 Triton(Windows eager 模式下约 65× RTF)细粒度、富有表现力的克隆;请留意研究许可条款
VoxCPM22B;上游报告 BF16 约 8 GB30 种克隆、语音设计、参考文本辅助的 Ultimate Cloning、表达方式指令上游 RTX 4090 上约 0.30 RTF;上游支持流式,封装程序会缓冲一个多语言模型,提供最丰富的语音来源控制方式
CosyVoice 3核心 0.5B;16 GB 够用,下载体积与运行时占用更大9 种,含日语,另有中文方言克隆、跨语言克隆、自然语言表达方式主打低延迟;上游原生支持文本与音频流式,封装程序会缓冲将来做流式传输的候选方案,支持跨语言克隆

模型体积与语言数量来自 ChatterboxQwen3-TTSMOSSIrodoriFish S2 ProVoxCPM2CosyVoice 3 的上游页面。操作系统、驱动、许可、模型版本和内存等细节请查看各篇指南。16 GB 显卡不一定能同时跑一个语音合成模型和一个大型本地 LLM。

Irodori 的显存数字只是一次本地观察,不是官方公布的最低要求,也不是跨引擎基准。内存占用会随运行时、精度、脚本长度和其他 GPU 负载变化。

Qwen3-TTS 自动端点的第一次请求包含模型加载时间。MOSS 会在安装时预先下载两个模型,默认还会在启动时预热克隆模型,但切换到另一种模式后,这两个自动服务器都仍需加载另一个模型。对每个完整响应,TomoriBot 最多等待 TTS_SYNTHESIZE_TIMEOUT_MS(默认 240000 毫秒)。