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)toaf_heart, am_adam, af_sky
Engleză (UK)tobf_emma, bm_ George
Spaniolăesef_dora
Francezăfff_siwis
Hindi Bună.hf_alfa, hm_omega
Italiană- Da.if_sara
Japonezădajf_alfa, jm_omega
Portughezăptpf_dora
ChinezăZhzf_xiaobei, zm_yunjian
Germanădedm_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.

AmbalajVoce Descărcare
KokoroPack.GERMAN_MARTINdm_martin (masculin)soniqo/Kokoro-82M-German-Martin-ONNX (~170 MB)
KokoroPack.GERMAN_VICTORIAdf_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șierDimensiune
kokoro-e2e.onnx + .onnx.data~330 MO
voices.bin Încrucișări vocale
Dictionarele telefoniceDate de pronunţie specifice limbii

HuggingFace: soniqo/Kokoro-82M-ONNX

Performanță

Metrică Valoare
Parametrii82M
Suport de inferențăONNX Runtime
Rata eșantionului de ieșire24 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