Kokoro TTS — Android
Kokoro-82M เป็นโมเดลสังเคราะห์เสียงพูดจากข้อความขนาดเล็ก ไม่ใช่ autoregressive ที่รันบน Android ผ่าน ONNX Runtime ผลิตเสียงพูดธรรมชาติ 24 kHz ด้วย 50 เสียง preset ใน 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 เสียง preset ทั้งหมด แบบแผนการตั้งชื่อเสียง: [language][gender]_[name] — เช่น af_heart = หญิงอเมริกัน "Heart"
ไฟล์โมเดล
| ไฟล์ | ขนาด |
|---|---|
kokoro-model-int8.onnx | ~89 MB |
voices.bin | Embedding เสียง |
| พจนานุกรมหน่วยเสียง | ข้อมูลการออกเสียงเฉพาะภาษา |
HuggingFace: aufklarer/Kokoro-82M-ONNX
ประสิทธิภาพ
| ตัวชี้วัด | ค่า |
|---|---|
| พารามิเตอร์ | 82M |
| Backend การประมวลผล | ONNX Runtime |
| อัตราการสุ่มเอาต์พุต | 24 kHz |
Phonemizer
ข้อความถูกแปลงเป็นโทเค็นหน่วยเสียงโดยใช้ phonemizer ที่อิงพจนานุกรมพร้อมรองรับเฉพาะภาษา การ implement บน Android รวม phonemizer สำหรับภาษาอังกฤษ ฝรั่งเศส สเปน อิตาลี โปรตุเกส ฮินดี ญี่ปุ่น และจีน
การผสาน pipeline
บน Android, Kokoro TTS เป็นส่วนหนึ่งของ SpeechPipeline หลังจาก STT ถอดเสียงพูด ข้อความจะถูกแปลงเป็นหน่วยเสียงแล้วสังเคราะห์กลับเป็นเสียง pipeline จัดการกระแสทั้งหมด 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