Kokoro TTS — Android
Kokoro-82M 是一个轻量级、非自回归的文本转语音模型,通过 ONNX Runtime 运行于 Android。它提供 7 种语言中 50 种预设音色的自然 24 kHz 语音。
支持的语言
| 语言 | 代码 | 示例音色 |
|---|---|---|
| 英文(美国) | en | af_heart, am_adam, af_sky |
| 英文(英国) | en | bf_emma, bm_george |
| 西班牙文 | es | ef_dora |
| 法文 | fr | ff_siwis |
| 印地文 | hi | hf_alpha, hm_omega |
| 意大利文 | it | if_sara |
| 日文 | ja | jf_alpha, jm_omega |
| 葡萄牙文 | pt | pf_dora |
| 中文 | zh | zf_xiaobei, zm_yunjian |
共 50 种预设音色。音色命名约定:[language][gender]_[name] — 例如 af_heart = American Female "Heart"。
模型文件
| 文件 | 大小 |
|---|---|
kokoro-model-int8.onnx | ~89 MB |
voices.bin | 音色嵌入 |
| 音素字典 | 语言相关的发音数据 |
HuggingFace:aufklarer/Kokoro-82M-ONNX
性能
| 指标 | 数值 |
|---|---|
| 参数 | 82M |
| 推理后端 | ONNX Runtime |
| 输出采样率 | 24 kHz |
音素化器
文本通过基于字典的音素化器转换为音素 token,并提供特定语言支持。Android 实现包含英文、法文、西班牙文、意大利文、葡萄牙文、印地文、日文和中文的音素化器。
流水线集成
在 Android 上,Kokoro TTS 是 SpeechPipeline 的一部分。STT 转写语音之后,文本会被音素化并合成回音频。流水线自动管理完整的 VAD → STT → TTS 流程。
val modelDir = ModelManager.ensureModels(context)
val pipeline = SpeechPipeline(SpeechConfig(modelDir = modelDir))
pipeline.events.collect { event ->
when (event) {
is SpeechEvent.TranscriptionCompleted -> println(event.text)
else -> {}
}
}
pipeline.start()
pipeline.pushAudio(samples) // 16kHz mono float32