Kokoro TTS — Android
Kokoro-82M एक हल्का, non-autoregressive टेक्स्ट-टू-स्पीच मॉडल है जो ONNX Runtime के माध्यम से Android पर चलता है। यह 7 भाषाओं में 50 preset voices के साथ natural 24 kHz speech उत्पन्न करता है।
समर्थित भाषाएँ
| भाषा | कोड | उदाहरण Voices |
|---|---|---|
| अंग्रेज़ी (US) | en | af_heart, am_adam, af_sky |
| अंग्रेज़ी (UK) | en | bf_emma, bm_george |
| स्पेनिश | es | ef_dora |
| फ़्रेंच | fr | ff_siwis |
| हिन्दी | hi | hf_alpha, hm_omega |
| इटालियन | it | if_sara |
| जापानी | ja | jf_alpha, jm_omega |
| पुर्तगाली | pt | pf_dora |
| चीनी | zh | zf_xiaobei, zm_yunjian |
कुल 50 preset voices। Voice नामकरण convention: [language][gender]_[name] — जैसे, af_heart = American Female "Heart"।
मॉडल फ़ाइलें
| फ़ाइल | आकार |
|---|---|
kokoro-model-int8.onnx | ~89 MB |
voices.bin | Voice embeddings |
| Phoneme शब्दकोश | भाषा-विशिष्ट उच्चारण डेटा |
HuggingFace: aufklarer/Kokoro-82M-ONNX
परफ़ॉर्मेंस
| मेट्रिक | मान |
|---|---|
| पैरामीटर | 82M |
| इन्फ़रेंस बैकएंड | ONNX Runtime |
| आउटपुट sample rate | 24 kHz |
Phonemizer
Text को भाषा-विशिष्ट समर्थन के साथ dictionary-आधारित phonemizer का उपयोग करके phoneme tokens में कन्वर्ट किया जाता है। Android कार्यान्वयन में अंग्रेज़ी, फ़्रेंच, स्पेनिश, इटालियन, पुर्तगाली, हिन्दी, जापानी, और चीनी के लिए phonemizers शामिल हैं।
पाइपलाइन इंटीग्रेशन
Android पर, Kokoro TTS SpeechPipeline का हिस्सा है। STT द्वारा speech ट्रांसक्राइब करने के बाद, text को phonemize किया जाता है और वापस ऑडियो में synthesize किया जाता है। पाइपलाइन पूरे VAD → STT → TTS flow को स्वचालित रूप से मैनेज करती है।
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