
涵盖 Kokoro、Piper、Matcha、Kitten 和 VITS 在内的 Android/iOS 端侧 18 个 TTS 模型综合基准测试
源代码:
- android-offline-tts-eval — 搭载 7 个模型的 Android TTS 基准测试应用(sherpa-onnx 和系统 TTS)
- ios-offline-tts-eval — 搭载 11 个模型的 iOS TTS 基准测试应用(含 AVSpeech)
摘要
我们在 Android(7 个模型)和 iOS(11 个模型)上对 18 个端侧 TTS 模型进行了基准测试,覆盖 2 个推理引擎,测量合成速度(tok/s)、实时系数(RTF)和内存使用量。所有测试均使用英文文本提示。结果显示,Android System TTS 和 Piper VITS 合成速度最快(Android 上 33~42 tok/s),而 Kokoro 在两个平台上均未达到实时速度。iOS 上 Apple 内置的 AVSpeechSynthesizer 凭借极低的内存开销获得最高综合评分,但在开源模型中,Matcha + Vocos 在速度和资源效率之间提供了最佳平衡。本基准未进行正式的听感测试(MOS/ABX),仅测量速度和资源使用情况,不评估感知音质。
研究动机
在移动和边缘应用中集成 TTS 的开发者面临三重权衡:合成延迟(能否跟上实时交互?)、内存占用(能否与 ASR 等其他 AI 模型在内存受限的设备上共存?)和音质(输出对于应用场景是否可接受?)。TTS 模型的速度从 440ms 的系统 TTS 到 15 秒的 Kokoro 相差 35 倍,内存则从 21MB 到 833MB 不等。
现有 TTS 对比通常在服务器硬件上评估质量(MOS 分数),但端侧部署的瓶颈不仅是质量,更是速度和内存。音质再好但每句话需要 15 秒合成的模型,在交互式应用中是不可用的。本基准为开发者提供做出用户体验权衡决策所需的速度和内存数据。
方法论
两个平台使用相同的 12 条英文文本提示标准集,长度和复杂度各异。本基准的所有结果仅反映英文合成性能,未在其他语言上评估多语言模型。每个模型在热启动模式(1 次预热)下评估,以测量稳态性能。
测量指标:
- tok/s:每秒合成的输出 token(单词)数(越高越快)
- RTF:实时系数——合成时间与音频时长的比率(低于 1.0 = 快于实时)
- 综合评分:复合指标(仅 iOS,0~100 分制)= 速度分(tok/s 归一化 + RTF 惩罚)与内存分(内存使用量的倒数)的加权组合。RTF > 1.5 的模型速度分为 0。完整公式见 ios-offline-tts-eval 源码。该分数不包含音质——未进行正式听感测试(MOS/ABX)。
测试设备:
| 设备 | 芯片 | 内存 | 操作系统 |
|---|---|---|---|
| Samsung Galaxy S10 | Exynos 9820 | 8 GB | Android 12 (API 31) |
| iPad Pro 第三代 | A12X Bionic | 4 GB | iPadOS 17+ |
Android 结果
设备: Samsung Galaxy S10, Android 12, API 31, 4 线程
| 模型 | 引擎 | 中位数合成时间 (ms) | 中位数 tok/s | 中位数 RTF | 状态 |
|---|---|---|---|---|---|
| Android System TTS | android_system_tts | 440 | 42.48 | 0.058 | PASS |
| Piper (ryan-low) | sherpa-onnx | 478 | 39.14 | 0.077 | PASS |
| Piper (amy-low) | sherpa-onnx | 524 | 33.39 | 0.076 | PASS |
| Matcha-Icefall (LJSpeech + HiFiGAN) | sherpa-onnx | 1,104 | 16.37 | 0.135 | PASS |
| Kitten Nano (en v0.2 fp16) | sherpa-onnx | 3,526 | 5.18 | 0.387 | PASS |
| Kokoro (en v0.19) | sherpa-onnx | 8,226 | 2.37 | 1.133 | PASS |
| Kokoro Int8 (multi-lang v1.1) | sherpa-onnx | 15,343 | 1.25 | 2.423 | PASS |
全部 7 个模型 PASS — 8GB 设备上无崩溃或 OOM。
Android 速度观察
Android System TTS 和 Piper VITS 模型速度最快(33~42 tok/s)。Kokoro 模型合成速度低于实时(RTF > 1.0),但其设计目标是更高的音质。Matcha-Icefall 以 16 tok/s 居中。注意:本基准仅测量速度和资源使用,未进行正式听感测试(MOS),因此质量比较基于模型的公开特性。
iOS 结果
设备: iPad Pro 第三代, A12X Bionic, 4 GB RAM
| 模型 | 引擎 | 综合评分 | 速度分 | 中位数 tok/s | 中位数 RTF | 内存 (MB) |
|---|---|---|---|---|---|---|
| AVSpeech (System) | native | 100.00 | — | 151.34 | — | 21 |
| Matcha (LJSpeech) + Vocos | sherpa-onnx | 87.77 | 94.39 | 25.68 | 0.084 | 211 |
| Kitten Nano EN (v0.2 fp16) | sherpa-onnx | 59.72 | 75.45 | 5.14 | 0.368 | 193 |
| Kitten Nano (en v0.1 fp16) | sherpa-onnx | 58.90 | 72.86 | 5.61 | 0.407 | 108 |
| Kokoro EN (v0.19) | sherpa-onnx | 43.59 | 58.60 | 4.01 | 0.621 | 833 |
| Kitten Mini EN (v0.1 fp16) | sherpa-onnx | 24.57 | 24.30 | 1.63 | 1.135 | 427 |
| VITS LJS (Int8) | sherpa-onnx | 21.41 | 0.00 | 1.20 | 2.023 | 140 |
| VITS VCTK (Int8) | sherpa-onnx | 20.98 | 0.00 | 1.43 | 2.062 | 122 |
| VITS Melo (ZH+EN, Int8) | sherpa-onnx | 20.07 | 0.00 | 0.83 | 2.874 | 211 |
| Kokoro Int8 (Multi-lang v1.0) | sherpa-onnx | 17.06 | 0.00 | 1.40 | 1.822 | 515 |
| Kokoro Multi-lang INT8 (v1.1) | sherpa-onnx | 16.91 | 0.00 | 1.71 | 1.569 | 588 |
iOS 观察
- AVSpeech 凭借极低的内存使用(21MB,而开源模型为 100~800MB)和快速合成获得最高综合评分,但音质仅限于 Apple 内置语音。
- Matcha + Vocos 是 iOS 上最佳的开源选择——速度快(RTF 0.08)、综合评分高(87.8)、内存适中(211MB)。
- Kitten Nano 模型表现均衡——RTF 低于 0.5,内存合理(108~193 MB)。
- Kokoro EN (v0.19) 综合评分 43.6,RTF 0.62,快于实时但内存占用 833MB,为本基准中最大。
- VITS 和 Kokoro Int8 各变体在 iPad 上均低于实时速度(RTF > 1.0),不适合交互式使用。
局限性
- 未评估音质:不包含感知质量指标(MOS、ABX 或听感测试)。质量比较仅参考模型的公开特性。
- 仅测试英文:所有提示均为英文。未在其他支持语言上评估多语言模型(Kokoro multi-lang、VITS Melo ZH+EN)。
- 每个平台仅一台设备:结果来自一台 Android 和一台 iOS 设备,其他芯片组上的性能可能不同。
- 综合评分不含质量:iOS 复合评分仅反映速度和内存效率——得分高的模型未必音质最好。
未来研究方向
- 感知质量研究:通过人工评审进行 MOS/ABX 听感测试,验证速度/内存指标之外的质量表现。
- 多语言提示集:不仅限于英文,评估多语言模型在其他语言上的合成质量和速度。
- 韵律和风格控制:针对对话和助手场景,基准测试可控性(情感、语速、标点敏感度)。
- 流式 TTS 延迟:测量交互式助手的首音频时间和块级延迟。
- 压缩与移动端适配:在严格的移动端内存限制下对比 INT8/INT4 和语音克隆变体。
结论
端侧 TTS 在 Android 和 iOS 上均可行,但模型选择高度依赖使用场景。对于实时交互应用,Android System TTS / Piper(Android)或 Matcha + Vocos(iOS)可提供远低于 RTF 1.0 的快速合成。对于延迟可接受的预生成音频或非交互用途,Kokoro 以更长的合成时间和更大的内存为代价提供更丰富的音质。系统 TTS 引擎仍具竞争力——Android 内置 TTS 是最快选项(42 tok/s),Apple 的 AVSpeechSynthesizer 凭借最小的资源占用(21 MB)在 iOS 上获得最高评分。
iOS 上的内存消耗差异巨大——从 108 MB(Kitten Nano)到 833 MB(Kokoro EN)——这直接影响模型能否与其他 AI 工作负载在内存受限的边缘设备上共存。
参考资料
我们的仓库:
- android-offline-tts-eval — Android TTS 基准测试应用(Apache 2.0)
- ios-offline-tts-eval — iOS TTS 基准测试应用(Apache 2.0)
模型:
- Kokoro — 基于 StyleTTS2 的高质量多语言 TTS
- Piper — 支持多种音色的快速 VITS 基础 TTS
- Matcha-TTS — 搭配 Vocos 声码器的 Flow-matching TTS
- Kitten Nano/Mini — 轻量级神经 TTS
- MMS-TTS — Meta 的超多语言 TTS(1,100+ 种语言)
推理引擎:
- sherpa-onnx — Next-gen Kaldi ONNX Runtime(支持 TTS 模型)


