Kokoro TTS — Android

Kokoro-82M เป็นโมเดลสังเคราะห์เสียงพูดจากข้อความขนาดเล็ก ไม่ใช่ autoregressive ที่รันบน Android ผ่าน ONNX Runtime ผลิตเสียงพูดธรรมชาติ 24 kHz ด้วย 50 เสียง preset ใน 7 ภาษา

ภาษาที่รองรับ

ภาษารหัสเสียงตัวอย่าง
อังกฤษ (สหรัฐฯ)enaf_heart, am_adam, af_sky
อังกฤษ (สหราชอาณาจักร)enbf_emma, bm_george
สเปนesef_dora
ฝรั่งเศสfrff_siwis
ฮินดีhihf_alpha, hm_omega
อิตาลีitif_sara
ญี่ปุ่นjajf_alpha, jm_omega
โปรตุเกสptpf_dora
จีนzhzf_xiaobei, zm_yunjian

รวม 50 เสียง preset ทั้งหมด แบบแผนการตั้งชื่อเสียง: [language][gender]_[name] — เช่น af_heart = หญิงอเมริกัน "Heart"

ไฟล์โมเดล

ไฟล์ขนาด
kokoro-model-int8.onnx~89 MB
voices.binEmbedding เสียง
พจนานุกรมหน่วยเสียงข้อมูลการออกเสียงเฉพาะภาษา

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