Kokoro TTS — Android
Kokoro-82M ist ein leichtgewichtiges, nicht-autoregressives Text-zu-Sprache-Modell, das auf Android über ONNX Runtime läuft. Es erzeugt natürliche 24-kHz-Sprache mit 50 voreingestellten Stimmen in 7 Sprachen.
Unterstützte Sprachen
| Sprache | Code | Beispielstimmen |
|---|---|---|
| Englisch (US) | en | af_heart, am_adam, af_sky |
| Englisch (UK) | en | bf_emma, bm_george |
| Spanisch | es | ef_dora |
| Französisch | fr | ff_siwis |
| Hindi | hi | hf_alpha, hm_omega |
| Italienisch | it | if_sara |
| Japanisch | ja | jf_alpha, jm_omega |
| Portugiesisch | pt | pf_dora |
| Chinesisch | zh | zf_xiaobei, zm_yunjian |
50 voreingestellte Stimmen insgesamt. Benennungskonvention für Stimmen: [language][gender]_[name] — z. B. af_heart = American Female "Heart".
Modell-Dateien
| Datei | Größe |
|---|---|
kokoro-model-int8.onnx | ~89 MB |
voices.bin | Stimm-Embeddings |
| Phonem-Wörterbücher | Sprachspezifische Aussprachedaten |
HuggingFace: aufklarer/Kokoro-82M-ONNX
Leistung
| Metrik | Wert |
|---|---|
| Parameter | 82M |
| Inferenz-Backend | ONNX Runtime |
| Ausgabe-Abtastrate | 24 kHz |
Phonemizer
Text wird über einen wörterbuchbasierten Phonemizer mit sprachspezifischer Unterstützung in Phonem-Tokens umgewandelt. Die Android-Implementierung enthält Phonemizer für Englisch, Französisch, Spanisch, Italienisch, Portugiesisch, Hindi, Japanisch und Chinesisch.
Pipeline-Integration
Auf Android ist Kokoro TTS Teil der SpeechPipeline. Nachdem STT Sprache transkribiert hat, wird der Text phonemisiert und wieder zu Audio synthetisiert. Die Pipeline steuert den vollständigen VAD → STT → TTS-Ablauf automatisch.
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) // 16 kHz Mono float32
Quellcode: github.com/soniqo/speech-android