Text-to-Speech On-Device AI Benchmark Kokoro Piper Matcha Kitten Nano Offline TTS Android iOS

离线 TTS 基准测试:在 Android/iOS 上评测 18 个模型

Akinori Nakajima - VoicePing 3 分钟阅读
离线 TTS 基准测试:在 Android/iOS 上评测 18 个模型

涵盖 Kokoro、Piper、Matcha、Kitten 和 VITS 在内的 Android/iOS 端侧 18 个 TTS 模型综合基准测试

源代码:

摘要

我们在 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 S10Exynos 98208 GBAndroid 12 (API 31)
iPad Pro 第三代A12X Bionic4 GBiPadOS 17+

Android 结果

设备: Samsung Galaxy S10, Android 12, API 31, 4 线程

Android TTS 推理速度 — 每秒 Token 数

模型引擎中位数合成时间 (ms)中位数 tok/s中位数 RTF状态
Android System TTSandroid_system_tts44042.480.058PASS
Piper (ryan-low)sherpa-onnx47839.140.077PASS
Piper (amy-low)sherpa-onnx52433.390.076PASS
Matcha-Icefall (LJSpeech + HiFiGAN)sherpa-onnx1,10416.370.135PASS
Kitten Nano (en v0.2 fp16)sherpa-onnx3,5265.180.387PASS
Kokoro (en v0.19)sherpa-onnx8,2262.371.133PASS
Kokoro Int8 (multi-lang v1.1)sherpa-onnx15,3431.252.423PASS

全部 7 个模型 PASS — 8GB 设备上无崩溃或 OOM。

Android 速度观察

Android System TTS 和 Piper VITS 模型速度最快(33~42 tok/s)。Kokoro 模型合成速度低于实时(RTF > 1.0),但其设计目标是更高的音质。Matcha-Icefall 以 16 tok/s 居中。注意:本基准仅测量速度和资源使用,未进行正式听感测试(MOS),因此质量比较基于模型的公开特性。

Android TTS 实时系数

iOS 结果

设备: iPad Pro 第三代, A12X Bionic, 4 GB RAM

iOS TTS 综合评分

模型引擎综合评分速度分中位数 tok/s中位数 RTF内存 (MB)
AVSpeech (System)native100.00151.3421
Matcha (LJSpeech) + Vocossherpa-onnx87.7794.3925.680.084211
Kitten Nano EN (v0.2 fp16)sherpa-onnx59.7275.455.140.368193
Kitten Nano (en v0.1 fp16)sherpa-onnx58.9072.865.610.407108
Kokoro EN (v0.19)sherpa-onnx43.5958.604.010.621833
Kitten Mini EN (v0.1 fp16)sherpa-onnx24.5724.301.631.135427
VITS LJS (Int8)sherpa-onnx21.410.001.202.023140
VITS VCTK (Int8)sherpa-onnx20.980.001.432.062122
VITS Melo (ZH+EN, Int8)sherpa-onnx20.070.000.832.874211
Kokoro Int8 (Multi-lang v1.0)sherpa-onnx17.060.001.401.822515
Kokoro Multi-lang INT8 (v1.1)sherpa-onnx16.910.001.711.569588

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,为本基准中最大。
  • VITSKokoro 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 工作负载在内存受限的边缘设备上共存。

参考资料

我们的仓库:

模型:

  • 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 模型)
分享这篇文章

免费试用 VoicePing

借助 AI 翻译跨越语言障碍。立即开始使用免费计划。

免费开始