AIREITER

Kokoro 82M TTS:本地 CPU 测试、音色与成本

最后更新: 2026-09-28 01:30:09

如果你想生成自然的人声旁白,又不希望每句话都发送给付费 API,Kokoro 82M TTS 值得优先尝试。先说结论:所谓“82M”并不意味着它能全面替代 ElevenLabs。Kokoro 更适合使用预设音色、制作干净利落的旁白,以及执行本地批处理任务;而声音克隆、戏剧化表达和托管服务的稳定性,则是其他方案更擅长的领域。

先给结论:它适合谁

Kokoro-82M 是一款开放权重的文本转语音模型,拥有 8200 万参数。Hugging Face 当前的模型卡显示,v1.0 发布于 2025 年 1 月 27 日,支持八种语言和 54 种音色,模型权重采用 Apache 2.0 许可:官方模型卡。官方推理库是 hexgrad/kokoro。

如果你需要私密或离线旁白、能够接受预设音色,而且任务规模已经大到 API 费用不可忽视,Kokoro 是合适的选择。如果你需要声音克隆、托管式工作室,或更具表现力的商业交付,应该考虑 ElevenLabs。如果多语言覆盖和声音克隆比模型体积更重要,可以选择 Qwen3-TTS。

本地安装:真正容易跑通的路径

官方示例使用 Python、kokoro、soundfile、PyTorch 和 espeak-ng,输出音频采样率为 24 kHz。在 Linux 上,基础安装命令如下:

pip install -q "kokoro>=0.9.4" soundfile
sudo apt-get install espeak-ng

最小化的英文示例:

from kokoro import KPipeline
import soundfile as sf

pipeline = KPipeline(lang_code="a")
text = "Kokoro is a small local text to speech model."

for index, (_, _, audio) in enumerate(
    pipeline(text, voice="af_heart", speed=1)
):
    sf.write(f"kokoro-{index}.wav", audio, 24000)

仓库中列出了美国英语、英国英语、西班牙语、法语、印地语、意大利语、日语、巴西葡萄牙语和普通话对应的语言代码。日语和普通话需要安装相应的 Misaki 扩展。语言代码必须与音色匹配。

Windows 并不是一条命令就能完成安装:项目 README 会引导用户下载 espeak-ng 的 MSI 版本。Apple Silicon 用户可以配合 PYTORCH_ENABLE_MPS_FALLBACK=1 尝试使用 PyTorch MPS。首次运行遇到问题时,这些环境细节往往比模型参数量更关键。

CPU、GPU 与实时速度:哪些数据可以当真

Kokoro 支持 CPU 推理,但官方模型卡和官方库都没有给出适用于所有设备的统一实时率。实际速度取决于运行环境、处理器、语言、文本切分方式,以及首次运行是否包含模型加载时间。

社区测试也说明了为什么不能轻易下结论。在一次较为详细的对比中,@analogalok 报告称,在其测试环境下,GPU 生成 21 秒音频大约需要 0.7 秒,显存占用约为 0.9 GB。这能证明 Kokoro 可以走低显存 GPU 路径,但不能代表每台笔记本电脑都能达到同样表现。

“我可以很轻松地用 CPU 运行它,生成的音频听起来也非常舒服。”——@rasmus1610,X

在自己的硬件上测试时,最好把下面三个数据分开记录:

  1. 从进程启动到生成第一段音频所需的时间。
  2. 模型和音色预热完成后,生成音频所需的时间。
  3. 音频时长除以预热后的生成时间,也就是实际实时率。

对于批量旁白任务,第三个数据决定吞吐量。对于交互式助手,首段音频延迟和流式输出表现更重要。不要把 GPU 测试结果当成 CPU 结果,也不要拿一段 10 秒样音就宣称达到了生产级吞吐量。

音色、语言,以及不能忽略的限制

v1.0 模型卡列出了八种语言和 54 种音色,相比 v0.19 仅支持一种语言和 10 种音色,扩展幅度相当明显。官方库文档中的语言代码包括:

代码语言
a美国英语
b英国英语
e西班牙语
f法语
h印地语
i意大利语
j日语
p巴西葡萄牙语
z普通话

Kokoro 使用的是预设音色,并不是基于参考音频的声音克隆系统。它还依赖 Misaki 的字素到音素处理链,以及 espeak-ng 的回退路径。人名、缩写、数字和混合语言文本,最好在长篇导出前单独测试。

Apache 2.0 模型许可对商业部署很有吸引力,但“模型采用 Apache 2.0”并不等于所有音色样本、数据集和第三方依赖都自动适用同一许可。发布前,应该把模型卡、音色文件和依赖许可都纳入检查清单。

Kokoro、ElevenLabs 与 Qwen3-TTS 怎么选

只有在三套系统使用相同文本、相同音色要求、相同文本规范化方式、相同输出音量和相同评测人员的情况下,盲听对比才有意义。本文不宣称存在经过严格控制的盲听赢家,Kokoro 官方资料也没有发布这类测试。更稳妥的比较方式,是看三者在工作流上的取舍:

决策因素Kokoro-82MElevenLabsQwen3-TTS
部署方式本地运行/开放权重托管 API 和工作室本地运行/开放模型家族
模型许可/源码Apache 2.0 权重服务商条款官方模型卡列出 Apache 2.0
预设音色支持大型托管音色库提供 CustomVoice 等不同版本
声音克隆不支持部分套餐/功能可用基础版本支持参考音频克隆
语言v1.0 列出 8 种取决于模型;官方 API 价格因模型而异列出 10 种语言
最适合的场景私密批量旁白托管式、富有表现力的生产流程多语言或声音克隆实验
主要成本硬件或托管推理按字符数/额度计费硬件或托管服务

ElevenLabs 官方 API 定价页目前列出的价格大约是:Flash/Turbo 每 1,000 个字符 0.05 美元,v2 Multilingual 和 v3 每 1,000 个字符 0.10 美元:API 定价。Qwen3-TTS 官方模型卡列出了中文、英语、日语、韩语、德语、法语、俄语、葡萄牙语、西班牙语和意大利语,并提供面向克隆的版本:Qwen3-TTS 模型卡。

实际结论并不是“Kokoro 音质更好”,而是:Kokoro 可以摆脱持续的 API 依赖,让文本留在自己的机器上;ElevenLabs 换来的是便利性;Qwen3-TTS 则以更大的本地模型体积,换取更广的多语言和声音克隆能力。

批量旁白成本:哪些数字站得住

本地运行 Kokoro 不收取按字符计算的模型费用。你的边际成本来自电费、存储,以及实际执行推理的设备或云实例。如果机器本来就归你所有,新增软件成本基本为零;如果租用 GPU 或 CPU,则应使用服务商的小时费率乘以实际生成所花的时间。

作为 API 对比,Kokoro 模型卡记录了 2025 年 4 月的一些托管示例:每百万输入字符的价格低于 1 美元,其中 Replicate 为 0.65 美元,DeepInfra 为 0.80 美元。这些只是有时间点的参考数据,并不是当前价格保证。在相同文本量下,ElevenLabs 官方费率对应的成本如下:

工作量Kokoro 本地模型费用ElevenLabs Flash/TurboElevenLabs v2 Multilingual/v3
100,000 个字符本地运行 0 美元*5 美元10 美元
1,000,000 个字符本地运行 0 美元*50 美元100 美元
10,000,000 个字符本地运行 0 美元*500 美元1,000 美元

\*不包括电费、硬件、托管服务和工程时间。ElevenLabs 的数字按照官方每 1,000 个字符 0.05/0.10 美元的费率计算,未考虑套餐折扣、额度、税费和超额使用规则。上表用于预算估算,不代表最终账单。

因此,对于字幕、文档、无障碍音频和内部培训片段等可重复的旁白流程,Kokoro 尤其有吸引力。但如果校对发音、拼接音频片段所需的人力成本已经超过 API 费用,它的优势就没有那么明显了。

常见问题

Kokoro 不用 GPU 也能运行吗?

可以。Kokoro 支持 CPU 推理,但官方项目没有承诺一个通用实时率。请在你计划实际部署的 CPU 和语言上测试预热后的吞吐量。

Kokoro 支持声音克隆吗?

不支持。Kokoro 是预设音色系统。如果说话人的身份一致性是核心需求,可以选择支持克隆的模型,例如合适的 Qwen3-TTS 版本。

Kokoro 可以免费商用吗?

Kokoro-82M 模型卡列出的是 Apache 2.0 权重,这是一种较为宽松的许可。但在发布商业产品前,仍应检查具体音色、依赖和分发条款。

Kokoro 支持哪些语言?

v1.0 模型卡列出了八种语言;官方库文档则列出了美国英语和英国英语,以及西班牙语、法语、印地语、意大利语、日语、巴西葡萄牙语和普通话。部分语言可能需要安装专用软件包。

Kokoro 比 ElevenLabs 更好吗?

并非各个方面都更好。Kokoro 更适合本地、私密、使用预设音色的批量旁白;ElevenLabs 则更适合托管基础设施、声音克隆和富有表现力的生产工作流。

实际应该怎么选

如果你的验收标准是:“这台机器能否在保证隐私的前提下,以所需吞吐量和可接受的音色生成干净旁白?”那么可以从 Kokoro 开始。测试时不要只读一两句样文,应该覆盖人名、日期、数字、长段落,以及你实际需要的语言。

如果测试通过,经济账很简单:你用机器时间替代了持续产生的字符费用。如果它在发音、说话人身份或情绪控制上无法满足要求,转向 ElevenLabs 或 Qwen3-TTS 并不意味着质量失败,而是为 Kokoro 有意不优先支持的能力付费。

如果你正在做同一决策中的商业化方案,也可以参考ElevenLabs Eleven v3 API 指南。