Traducere automată · Originalul în engleză
Kokoro TTS — Android
Kokoro-82M este un model de text-la-discurs ușor, non-autoregresiv, care rulează pe Android via ONNX Runtime. Produce vorbire naturală de 24 kHz cu 50 de voci prestabilite în 8 limbi.
Limbi acceptate
| Limba | Cod | Exemplu Voci |
|---|---|---|
| Engleză (SUA) | to | af_heart, am_adam, af_sky |
| Engleză (UK) | to | bf_emma, bm_ George |
| Spaniolă | es | ef_dora |
| Franceză | f | ff_siwis |
| Hindi | Bună. | hf_alfa, hm_omega |
| Italiană | - Da. | if_sara |
| Japoneză | da | jf_alfa, jm_omega |
| Portugheză | pt | pf_dora |
| Chineză | Zh | zf_xiaobei, zm_yunjian |
| Germană | de | dm_martin, df_victoria (pachete vocale) |
50 a stabilit vocile în total. [language][gender]_[name] De exemplu, af_heart = American Feminin "Heart."
Pachete vocale germane
Germana nu este o voce a pachetului multilingv de mai sus: cele două voci germane sunt kikiri-ts fine-tunes de Kokoro-82M, fiecare un set separat de 162 MB de greutate instruit numai pe telefoane germane. Alege una cu KokoroPack atunci când descărcați, apoi sintetizați cu language = "de". Fiecare pachet trăiește în propria sa cache, astfel încât limba engleză și germană rămâne instalată cot la cot.
| Ambalaj | Voce | Descărcare |
|---|---|---|
KokoroPack.GERMAN_MARTIN | dm_martin (masculin) | soniqo/Kokoro-82M-German-Martin-ONNX (~170 MB) |
KokoroPack.GERMAN_VICTORIA | df_victoria (femeie) | 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") Numerele, ordinalele, datele, orele, sumele valutare, unitățile și abrevierile comune sunt scrise pe dispozitiv; cuvintele provin dintr-un dicționar german cu 50k-words cu inflexiune, compus și Fallback-uri bazate pe reguli. Sistemul TTS motor (SpeechTextToSpeechService) oferă vocea Martin ca de-DE lângă en-US.
Model de fișiere
| Fișier | Dimensiune |
|---|---|
kokoro-e2e.onnx + .onnx.data | ~330 MO |
voices.bin | Încrucișări vocale |
| Dictionarele telefonice | Date de pronunţie specifice limbii |
HuggingFace: soniqo/Kokoro-82M-ONNX
Performanță
| Metrică | Valoare |
|---|---|
| Parametrii | 82M |
| Suport de inferență | ONNX Runtime |
| Rata eșantionului de ieșire | 24 kHz |
Telefonizator
Textul este convertit în jetoane telefonice folosind un telefonmizer bazat pe dicționar cu suport specific limbii. Implementarea Android include telefoane pentru limba engleză, franceză, spaniolă, italiană, portugheză, hindi, japoneză și chineză.
Integrarea conductelor
La Android, Kokoro TTS face parte din SpeechPipeline. După discursul transcribilor STT, textul este telefonizat și sintetizat înapoi în audio. Conducta gestionează fluxul complet VAD → STT → TTS automat.
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
Codul sursă: github.com/soniqo/speech-android