Maskinoversættelse · Engelsk original

Kokoro TTS — Android

Kokoro-82M er en letvægts, ikke-autoregressiv tekst- to- tale model, der kører på Android via ONNX Runtime. Det producerer naturlig 24 kHz tale med 50 forudindstillet stemmer på tværs af 8 sprog.

Understøttede sprog

SprogKodeEksempel på ord
Engelsk (US)enaf _ heart, am _ adam, af _ sky
Engelsk (UK)enbf _ emma, bm _ george
Spansksef _ dora
Franskfrff _ siwis
Hindihihf _ alpha, hm _ omega
Italienskerif _ sara
Japanskjajf _ alpha, jm _ omega
Portugisiskptpf _ dora
Kinesiskzhzf _ xiaobei, zm _ yunjian
Tyskdedm _ martin, df _ victoria (stemmepakninger)

50 forudindstillet stemmer i alt. Stemmenavngivning konvention: [language][gender]_[name] - f.eks. af_heart = Amerikansk kvinde "Heart".

Tyske stemmepakninger

Tysk er ikke en stemme af flersproget bundt ovenfor: de to tyske stemmer er kikiri- tts fine- tunes af Kokoro-82M, hver en separat 162 MB vægtsæt trænet på tyske phonemes kun. Vælg en med KokoroPack når du downloader, så syntetiserer med language = "de". Hver pakke bor i sin egen cache, så engelsk og tysk ophold installeret side om side.

PakningStemmeDownload
KokoroPack.GERMAN_MARTINdm_martin (mand)soniqo/Kokoro-82M-German-Martin-ONNX (~ 170 MB)
KokoroPack.GERMAN_VICTORIAdf_victoria (kvinde)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")

Tal, ordinaler, datoer, tidspunkter, valutabeløb, enheder og almindelige forkortelser er anført på enheden; ord kommer fra en 50k- ord tysk ordbog med bøjning, sammensatte og rule- baserede fallbacks. Systemet TTS motor (SpeechTextToSpeechService) tilbyder Martin stemme som de-DE ved siden af en-US.

Modelfiler

FilStørrelse
kokoro-e2e.onnx + .onnx.data~ 330 MB
voices.binStemmeindlejringer
Phoneme ordbøgerLanguage-specifikke udtale data

HuggingFace: soniqo/Kokoro-82M-ONNX

Præstation

MetricVærdi
Parametre82M
InferenskomponentONNX Runtime
Udtagningsprøvesats24 kHz

Phonemizer

Tekst konverteres til foneme tokens ved hjælp af en diktary- baseret phonemizer med language- specifik støtte. Android implementering omfatter phonemizers til engelsk, fransk, spansk, italiensk, portugisisk, hindi, japansk og kinesisk.

Integration af rørledninger

På Android indgår Kokoro TTS i SpeechPipeline. Efter STT transcribes tale, er teksten phonemized og syntetiseres tilbage til lyd. Rørledningen styrer den fulde VAD → STT → TTS flow automatisk.

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

Kilde: github.com /soniqo/speech-android