Kokoro TTS — Android
Kokoro-82M e um modelo de texto para fala leve e nao autoregressivo rodando em Android via ONNX Runtime. Produz fala natural a 24 kHz com 50 vozes pre-definidas em 7 idiomas.
Idiomas suportados
| Idioma | Codigo | Vozes de exemplo |
|---|---|---|
| Ingles (EUA) | en | af_heart, am_adam, af_sky |
| Ingles (Reino Unido) | en | bf_emma, bm_george |
| Espanhol | es | ef_dora |
| Frances | fr | ff_siwis |
| Hindi | hi | hf_alpha, hm_omega |
| Italiano | it | if_sara |
| Japones | ja | jf_alpha, jm_omega |
| Portugues | pt | pf_dora |
| Chines | zh | zf_xiaobei, zm_yunjian |
50 vozes pre-definidas no total. Convencao de nome de voz: [idioma][genero]_[nome] — por exemplo, af_heart = American Female "Heart".
Arquivos do modelo
| Arquivo | Tamanho |
|---|---|
kokoro-model-int8.onnx | ~89 MB |
voices.bin | Embeddings de vozes |
| Dicionarios de fonemas | Dados de pronuncia especificos por idioma |
HuggingFace: aufklarer/Kokoro-82M-ONNX
Desempenho
| Metrica | Valor |
|---|---|
| Parametros | 82M |
| Backend de inferencia | ONNX Runtime |
| Taxa de amostragem de saida | 24 kHz |
Fonemizador
O texto e convertido em tokens de fonemas usando um fonemizador baseado em dicionario com suporte especifico por idioma. A implementacao Android inclui fonemizadores para ingles, frances, espanhol, italiano, portugues, hindi, japones e chines.
Integracao de pipeline
No Android, o Kokoro TTS e parte do SpeechPipeline. Depois que o STT transcreve a fala, o texto e fonemizado e sintetizado de volta em audio. O pipeline gerencia o fluxo completo VAD → STT → TTS automaticamente.
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
Codigo-fonte: github.com/soniqo/speech-android