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

SpracheCodeBeispielstimmen
Englisch (US)enaf_heart, am_adam, af_sky
Englisch (UK)enbf_emma, bm_george
Spanischesef_dora
Französischfrff_siwis
Hindihihf_alpha, hm_omega
Italienischitif_sara
Japanischjajf_alpha, jm_omega
Portugiesischptpf_dora
Chinesischzhzf_xiaobei, zm_yunjian

50 voreingestellte Stimmen insgesamt. Benennungskonvention für Stimmen: [language][gender]_[name] — z. B. af_heart = American Female "Heart".

Modell-Dateien

DateiGröße
kokoro-model-int8.onnx~89 MB
voices.binStimm-Embeddings
Phonem-WörterbücherSprachspezifische Aussprachedaten

HuggingFace: aufklarer/Kokoro-82M-ONNX

Leistung

MetrikWert
Parameter82M
Inferenz-BackendONNX Runtime
Ausgabe-Abtastrate24 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