5uck1ess/tts-bench
Speed and samples benchmark: for all types of text to speech (TTS) models on Windows/Linux/Mac.
tts‑bench – 本地文本转语音模型基准测试套件
它是什么 – tts‑bench 是一个基于 Python 的工具,允许你在自己的硬件上运行大量开源 TTS 模型,并从三个维度进行比较:
| 维度 | 测量内容 | 展示方式 |
|---|---|---|
| 速度 | 冷启动和热启动首次音频时间(TTFA)、实时因子(RTFx)和内存使用。支持 CPU、CUDA GPU 和 Apple-Silicon(MPS)。 | 按设备(例如 Ryzen 9 + RTX 5090、Apple M4、RTX 3090)排序的表格。 |
| 聆听 | 每个模型在每个基准提示上的原始音频输出,包括模型内置语音和零样本语音克隆版本。 | 演示站点上的内联 <audio> 播放器;你可以按提示或模型浏览。 |
| 分数 | 客观质量数字:UTMOS(自然度)、WER(可懂度)和 SIM(语音克隆保真度)。 | 交互式可排序表格和 Top-15 图表;默认/克隆切换可让你分别查看两组。 |
该套件目前不提供单一的“整体质量”指标——作者尝试了 NAQ 分数,但由于它与人类偏好不一致而将其移除。
快速开始(来自 README)
- 安装小型包管理器 uv 和 Python 3.11。
- 运行提供的安装脚本(Windows PowerShell 或 Unix shell)。你可以安装所有模型或选择子集,例如:
完整集合占用约 165 GB(仓库中约 39 GB 的虚拟环境文件 + 缓存在./install.sh kokoro piper miso # Linux/macOS .\install.ps1 kokoro,piper,miso # Windows~/.cache/huggingface中的约 125 GB 模型权重)。 - 执行基准测试:
只有虚拟环境文件夹存在的模型才会运行,因此部分安装也可以正常工作。python bench.py - 可选辅助工具:
python speak.py <model>– 播放单个话语。python compare.py "your phrase"– 为两个模型生成并排 A/B 剪辑。- 向
bench.py添加--reference <wav>以使用你自己的语音样本评估克隆模型。
基准测试什么?
该仓库跟踪 75 个模型(包括预定义语音和零样本克隆模型)。一些亮点:
- 高端 GPU 上最快:
Kokoro(67 毫秒热 TTFA,104 倍实时)。 - CPU 上最快:
Piper(Ryzen 9 上约 107 毫秒热 TTFA,59 倍实时)。 - 最佳克隆候选(基于公开的盲测 A/B 投票竞技场):
- OmniVoice – 最佳语音匹配,但可能漏词。
- Echo‑TTS – 紧随其后,干净的 44.1 kHz 输出。
- IndexTTS‑2 – 第三名。
- 聆听维度是决定“最佳音质”的推荐方式,因为客观分数(UTMOS、WER、SIM)只是辅助;人耳是最终标准。
分数如何计算
- UTMOS – 自然度的神经预测器。
- WER – 来自 ASR 模型的词错误率(与
seed‑tts‑eval仓库中使用的方法相同)。 - SIM – 克隆模型的说话人验证相似度。
所有指标都在同一组基准提示上运行;代码位于 scoring 虚拟环境中(在 Linux 上向安装命令添加 scoring 或 scoring_sim)。
社区与可扩展性
- 人类偏好竞技场 – 一个 Hugging Face Spaces 应用(
tts‑arena),任何人都可以对成对的剪辑进行投票。投票结果会反馈到实时 Elo 排行榜,README 中引用了该排行榜来推荐“最佳克隆”。 - 添加模型 – 参见
docs/architecture.md了解运行器协议;你只需在模型表中添加一个新条目,并提供遵循相同 CLI 的小型包装器。 - 已知问题与许可 – 每个模型的详细说明见
docs/known‑issues.md和docs/expressive‑control.md。
谁可能使用这个?
- 研究人员希望在自己的机器上对许多开源 TTS 系统进行可重复的比较。
- 开发者为应用程序选择模型(例如,低延迟设备端合成 vs. 高质量语音克隆)。
- 爱好者喜欢聆听数十种语音并投票。
结论
tts‑bench 是一个真正、相当全面的本地文本转语音模型基准测试套件。它提供速度数据、客观质量指标、轻松聆听每个模型的方式,以及社区驱动的投票系统用于主观排名。该项目文档完善,支持多种硬件后端,并且可以扩展新模型。
相关
- Dispatch
- Dispatch
- 项目
- 项目
- 项目