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
| Dil | Kod | Örnek sesler |
|---|---|---|
| İngilizce (ABD) | en | af_heart, am_adam, af_sky |
| İngilizce (Birleşik Krallık) | en | bf_emma, bm_george |
| İspanyolca | es | ef_dora |
| Fransızca | fr | ff_siwis |
| Hintçe | hi | hf_alpha, hm_omega |
| İtalyanca | it | if_sara |
| Japonca | ja | jf_alpha, jm_omega |
| Portekizce | pt | pf_dora |
| Çince | zh | zf_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ı
| Dosya | Boyut |
|---|---|
kokoro-model-int8.onnx | ~89 MB |
voices.bin | Ses embedding'leri |
| Fonem sözlükleri | Dile özgü telaffuz verileri |
HuggingFace: aufklarer/Kokoro-82M-ONNX
Performans
| Metrik | Değer |
|---|---|
| Parametreler | 82M |
| Çıkarım arka ucu | ONNX 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