Kokoro TTS — Android
Kokoro-82M نموذج خفيف وغير انحداري لتحويل النص إلى كلام، يعمل على Android عبر ONNX Runtime. يُنتج كلاماً طبيعياً بمعدل 24 kHz مع 50 صوتاً جاهزاً عبر 7 لغات.
اللغات المدعومة
| اللغة | الرمز | أمثلة على الأصوات |
|---|---|---|
| الإنجليزية (الولايات المتحدة) | en | af_heart, am_adam, af_sky |
| الإنجليزية (المملكة المتحدة) | 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 صوتاً جاهزاً بالمجمل. اصطلاح تسمية الأصوات: [language][gender]_[name] — مثلاً af_heart = أنثى أمريكية "Heart".
ملفات النموذج
| الملف | الحجم |
|---|---|
kokoro-model-int8.onnx | ~89 MB |
voices.bin | تضمينات الأصوات |
| قواميس الفونيمات | بيانات نطق خاصّة بكل لغة |
HuggingFace: aufklarer/Kokoro-82M-ONNX
الأداء
| المقياس | القيمة |
|---|---|
| المعاملات | 82M |
| خلفية الاستنتاج | ONNX Runtime |
| معدل أخذ عيّنات الخرج | 24 kHz |
مُفَوْنِم النص
يُحوَّل النص إلى رموز فونيمات باستخدام مُفَوْنِم قائم على القواميس مع دعم خاصّ بكل لغة. تتضمّن نسخة Android مُفَوْنِمات للإنجليزية والفرنسية والإسبانية والإيطالية والبرتغالية والهندية واليابانية والصينية.
التكامل مع خط الأنابيب
على Android، يُعدّ Kokoro TTS جزءاً من SpeechPipeline. بعد أن يفرّغ STT الكلام، يُفَوْنَم النص ويُركَّب صوتاً من جديد. ويُدير خط الأنابيب تدفّق VAD → STT → TTS كاملاً بصورة تلقائية.
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