Kokoro TTS — Android
Kokoro-82M — это лёгкая неавторегрессивная модель синтеза речи, работающая на Android через ONNX Runtime. Она производит естественную речь 24 кГц с 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 = American Female «Heart».
Файлы модели
| Файл | Размер |
|---|---|
kokoro-model-int8.onnx | ~89 МБ |
voices.bin | Эмбеддинги голосов |
| Словари фонем | Языкозависимые данные произношения |
HuggingFace: aufklarer/Kokoro-82M-ONNX
Производительность
| Метрика | Значение |
|---|---|
| Параметры | 82M |
| Бэкенд инференса | ONNX Runtime |
| Частота дискретизации на выходе | 24 кГц |
Фонемизатор
Текст преобразуется в фонемные токены через фонемизатор на основе словарей с поддержкой конкретных языков. 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) // 16 кГц моно float32
Исходный код: github.com/soniqo/speech-android