Kokoro TTS — Android

Kokoro-82M, ONNX Runtime aracılığıyla Android üzerinde çalışan hafif ve otoregresif olmayan bir metinden konuşma modelidir. 7 dilde 50 hazır sesle doğal 24 kHz konuşma üretir.

Desteklenen diller

DilKodÖrnek sesler
İngilizce (ABD)enaf_heart, am_adam, af_sky
İngilizce (Birleşik Krallık)enbf_emma, bm_george
İspanyolcaesef_dora
Fransızcafrff_siwis
Hintçehihf_alpha, hm_omega
İtalyancaitif_sara
Japoncajajf_alpha, jm_omega
Portekizceptpf_dora
Çincezhzf_xiaobei, zm_yunjian

Toplam 50 hazır ses. Ses adlandırma kuralı: [language][gender]_[name] — örneğin, af_heart = Amerikan Kadın "Heart".

Model dosyaları

DosyaBoyut
kokoro-model-int8.onnx~89 MB
voices.binSes embedding'leri
Fonem sözlükleriDile özgü telaffuz verileri

HuggingFace: aufklarer/Kokoro-82M-ONNX

Performans

MetrikDeğer
Parametreler82M
Çıkarım arka ucuONNX Runtime
Çıkış örnekleme frekansı24 kHz

Phonemizer

Metin, dile özgü desteğe sahip sözlük tabanlı bir phonemizer ile fonem token'larına dönüştürülür. Android uygulaması İngilizce, Fransızca, İspanyolca, İtalyanca, Portekizce, Hintçe, Japonca ve Çince için phonemizer içerir.

Pipeline entegrasyonu

Android'de Kokoro TTS, SpeechPipeline'ın bir parçasıdır. STT konuşmayı yazıya döktükten sonra, metin fonemize edilir ve tekrar sese sentezlenir. Pipeline, VAD → STT → TTS akışının tamamını otomatik olarak yönetir.

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

Kaynak kodu: github.com/soniqo/speech-android