Automatische vertaling · Engels origineel

Kokoro TTS — Android

Kokoro-82M is een lichtgewicht, niet-autoregressief tekst-naar-spraakmodel dat draait op Android via ONNX Runtime. Het produceert natuurlijke 24 kHz spraak met 50 vooraf ingestelde stemmen in 8 talen.

Ondersteunde talen

Taal Rubriek Voorbeeld Stemmen
Engels (US) nl af_heart, am_adam, af_sky
Engels (UK) nlbf_emma, bm_george
Spaansesef_dora
Fransfrff_siwis
HindiHallo.hf_alpha,hm_omega
Italiaans hetif_sara
Japansjajf_alpha, jm_omega
Portugeesptpf_dora
Chineeszhzf_xiaobei, zm_yunjian
Duitsdedm_martin, df_victoria (voice packs)

50 vooraf ingestelde stemmen totaal. Voicename conventie: [language][gender]_[name] . Bijvoorbeeld, af_heart = American Female "Hart."

Duitse spraakpakketten

Duits is geen stem van de meertalige bundel hierboven: de twee Duitse stemmen zijn kikiri-tts fijne tinten van Kokoro-82M, elk een aparte 162 MB-gewichtsset die alleen op Duitse fonemen is getraind. Kies er één met KokoroPack bij het downloaden, dan synthetiseren met language = "de". Elke verpakking leeft in zijn eigen cache, zodat Engels en Duits naast elkaar blijven zitten.

Verpakking Stem Downloaden
KokoroPack.GERMAN_MARTINdm_martin (mannelijk)soniqo/Kokoro-82M-German-Martin-ONNX (~170 MB)
KokoroPack.GERMAN_VICTORIAdf_victoria (vrouwelijk)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")

Getallen, ordinals, data, tijden, valutabedragen, eenheden en gemeenschappelijke afkortingen worden op het apparaat gespeld; woorden komen van een Duits woordenboek met 50k-woorden met flexie, samengestelde en regelgebaseerde fallbacks. Het systeem TTS engine (SpeechTextToSpeechService) biedt de Martin-stem als de-DE naast en-US.

Modelbestanden

Bestand Grootte
kokoro-e2e.onnx + .onnx.data~330 MB
voices.binVoice-inbeddingen
Woordenboeken van de telefoonTaalspecifieke uitspraaksgegevens

HuggingFace: soniqo/Kokoro-82M-ONNX

Prestaties

Metrisch Waarde
Parameters82M
InferentiebackendONNX Runtime
Uitvoermonstersnelheid24 kHz

Telefoonmizer

Tekst wordt omgezet naar fome tokens met behulp van een woordenboek-gebaseerde phonemizer met taalspecifieke ondersteuning. De implementatie van Android omvat phonemizers voor Engels, Frans, Spaans, Italiaans, Portugees, Hindi, Japans en Chinees.

Integratie van pijpleidingen

Op Android, Kokoro TTS maakt deel uit van de SpeechPipeline. Na STT-transcribes wordt de tekst gephonemized en weer gesynthetiseerd in audio. De pijplijn beheert de volledige VAD → STT → TTS stroom automatisch.

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

Broncode: github.com/soniqo/speech-android