Kokoro TTS — Android

Kokoro-82M là mô hình tổng hợp giọng nói nhẹ, không tự hồi quy chạy trên Android qua ONNX Runtime. Nó tạo ra giọng nói tự nhiên 24 kHz với 50 giọng dựng sẵn trên 7 ngôn ngữ.

Ngôn ngữ được hỗ trợ

Ngôn ngữGiọng ví dụ
Tiếng Anh (Mỹ)enaf_heart, am_adam, af_sky
Tiếng Anh (Anh)enbf_emma, bm_george
Tiếng Tây Ban Nhaesef_dora
Tiếng Phápfrff_siwis
Tiếng Hindihihf_alpha, hm_omega
Tiếng Ýitif_sara
Tiếng Nhậtjajf_alpha, jm_omega
Tiếng Bồ Đào Nhaptpf_dora
Tiếng Trungzhzf_xiaobei, zm_yunjian

Tổng cộng 50 giọng dựng sẵn. Quy ước đặt tên giọng: [language][gender]_[name] — ví dụ, af_heart = nữ Mỹ "Heart".

File mô hình

FileKích thước
kokoro-model-int8.onnx~89 MB
voices.binEmbedding giọng
Từ điển âm vịDữ liệu phát âm theo từng ngôn ngữ

HuggingFace: aufklarer/Kokoro-82M-ONNX

Hiệu năng

Chỉ sốGiá trị
Tham số82M
Backend suy luậnONNX Runtime
Tần số lấy mẫu đầu ra24 kHz

Phonemizer

Văn bản được chuyển thành token âm vị bằng một phonemizer dựa trên từ điển với hỗ trợ theo từng ngôn ngữ. Bản triển khai Android bao gồm phonemizer cho tiếng Anh, tiếng Pháp, tiếng Tây Ban Nha, tiếng Ý, tiếng Bồ Đào Nha, tiếng Hindi, tiếng Nhật và tiếng Trung.

Tích hợp pipeline

Trên Android, Kokoro TTS là một phần của SpeechPipeline. Sau khi STT chuyển giọng nói thành văn bản, văn bản được chuyển sang âm vị rồi tổng hợp trở lại thành âm thanh. Pipeline tự động quản lý toàn bộ luồng 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

Mã nguồn: github.com/soniqo/speech-android