Maskinöversättning · Engelskt original
Kokoro TTS — Android
Kokoro-82M är en lätt, icke-autoregressiv text-till-tal-modell som körs på Android via ONNX Runtime. Den producerar naturligt 24 kHz-tal med 50 förinställda röster på 8 språk.
Stödda språk
| Språkspråk | Kodkod | Exempelröster |
|---|---|---|
| Engelska (USA) | En | af_heart, am_adam, af_sky |
| Engelska (Storbritannien) | En | bf_emma, bm_george |
| Spanska spanska | ess | ef_dora |
| Franska franska | FR FRÅN FRÅF | ff_siwis |
| Hindi | Hej Hej Hehej | hf_alpha, hm_omega |
| Italienska Italien | Det är | if_sara |
| Japansk Japansk Japan Japansk | Ja ja ja ja ja | jf_alpha, jm_omega |
| Portugisiska | Pt | Pf_dora |
| Kinesiska kinesiska | zh | zf_xiaobei, zm_yunjian |
| Tyska tyska | De | dm_martin, df_victoria (röstpaket) |
50 förinställda röster totalt. Voice naming convention: [language][gender]_[name] — t.ex. af_heart = American Female "Heart".
Tyska röstpaket
Tyska är inte en röst av den flerspråkiga bunten ovan: de två tyska rösterna är kikiri-tts finjusteringar av Kokoro-82M, var och en separat 162 MB-vikt som endast är utbildad på tyska telefoner. Välj en med KokoroPack när du laddar ner, syntetisera med language = "de". paket bor i sin egen cache, så engelska och installerad sida av tyska.
| Förpackning Pack | Röst | Ladda ner |
|---|---|---|
KokoroPack.GERMAN_MARTIN | dm_martin (manlig) | soniqo/Kokoro-82M-German-Martin-ONNX (~170 MB) |
KokoroPack.GERMAN_VICTORIA | df_victoria (kvinnlig) | soniqo/Kokoro-82M-German-Victoria-ONNX (~170 MB) |
val modelDir = ModelManager.ensureTtsModels(
context,
ttsModel = TtsModel.KOKORO_SHORT_TURN,
kokoroPack = KokoroPack.GERMAN_MARTIN, // or GERMAN_VICTORIA
)
val tts = SpeechSynthesizer(SpeechSynthesizerConfig(modelDir = modelDir))
val audio = tts.synthesize("Am 3. Oktober um 18:30 Uhr kostet es 12,80 €.", "de")Numbers, ordinals, datum, tider, valutabelopp, enheter och gemensamma förkortningar stavas på enheten; ord kommer från en 50k-ord tysk ordbok med böjning, förening och regelbaserade nedgångar. Systemet TTS motor (SpeechTextToSpeechService) erbjuder Martin rösten som de-DE bredvid en-US
Modellfiler
| Fil | Storlek |
|---|---|
kokoro-e2e.onnx + .onnx.data | ~330 MB |
voices.bin | Voice inbäddningar |
| Phoneme ordböcker | Språkspecifika uttalsdata |
HuggingFace: soniqo/Kokoro-82M-ONNX
Prestanda
| Metric | Värde |
|---|---|
| Parametrar | 82M |
| Inference backend | ONNX Runtime |
| Output sample rate | 24 kHz |
Phonemizer
Text konverteras till telefonme tokens med hjälp av en ordboksbaserad telefonmizer med språkspecifikt stöd. Android implementering inkluderar telefonmizers för engelska, franska, spanska, italienska, portugisiska, hindi, japanska och kinesiska.
Pipeline Integration
På Android är Kokoro TTS en del av SpeechPipelineEfter STT transkriberar tal, är texten telefonmiserad och syntetiseras tillbaka till ljud. Rörledningen hanterar hela VAD → STT → TTS-flödet automatiskt.
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