Kokoro TTS — Android

Kokoro-82M 是一个轻量级、非自回归的文本转语音模型,通过 ONNX Runtime 运行于 Android。它提供 7 种语言中 50 种预设音色的自然 24 kHz 语音。

支持的语言

语言代码示例音色
英文(美国)enaf_heart, am_adam, af_sky
英文(英国)enbf_emma, bm_george
西班牙文esef_dora
法文frff_siwis
印地文hihf_alpha, hm_omega
意大利文itif_sara
日文jajf_alpha, jm_omega
葡萄牙文ptpf_dora
中文zhzf_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

源代码:github.com/soniqo/speech-android