Tłumaczenie automatyczne · Oryginał angielski

Kokoro TTS — Android

Kokoro-82M jest lekkim, nieautoregresywnym modelem tekstu-to- mowy działającym na Android za pośrednictwem ONNX Runtime. Wytwarza on naturalną mowę 24 kHz z ustawionymi głosami 50 w językach 8

Obsługiwane języki

JęzykKodPrzykład Głosy
Angielski (USA)enaf _ heart, am _ adam, af _ sky
Angielski (UK)enbf _ emma, bm _ george
Hiszpańskieef _ dora
Francuskifrff _ siwis
HindiCześć.hf _ alpha, hm _ omega
Włoskitoif _ sara
Japońskijajf _ alpha, jm _ omega
Portugalskiptpf _ dora
Chińskizhzf _ xiaobei, zm _ yunjian
Niemieckidedm _ martin, df _ victoria (voice packs)

50 ustawione głosy ogółem. [language][gender]_[name] - np., af_heart = American Kobieta "Heart".

Niemieckie zestawy głosowe

Niemiecki nie jest głosem wielojęzycznego pakietu powyżej: dwa niemieckie głosy są kikiri- tts fine- melodie Kokoro-82M, każdy oddzielny zestaw ciężarów 162 MB wyszkolony tylko na niemieckich fonemach. Wybierz jeden z KokoroPack podczas pobierania, a następnie syntetyzować z language = "de". Każde opakowanie mieszka w swoim własnym cache, więc angielski i niemiecki pobyt zainstalowany obok siebie.

OpakowanieGłosPobieranie
KokoroPack.GERMAN_MARTINdm_martin (mężczyzna)soniqo/Kokoro-82M-German-Martin-ONNX 170 MB)
KokoroPack.GERMAN_VICTORIAdf_victoria (samica)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")

Liczby, ordinals, daty, czasy, kwoty walut, jednostki i wspólne skróty są wypisane na urządzeniu; słowa pochodzą z 50k- słownika niemieckiego z defektem, mieszanka i rule- oparte na wadach. System TTS silnika (SpeechTextToSpeechService) oferuje głos Martina jako de-DE obok en-US.

Pliki modelu

PlikRozmiar
kokoro-e2e.onnx + .onnx.data- 330 MB
voices.binWpisy głosowe
Słowniki fonemeDane dotyczące wymowy specyficznej dla języka

HuggingFace: soniqo/Kokoro-82M-ONNX

Wydajność

MetricWartość
Parametry82M
Pokrycie wnioskuONNX Runtime
Szybkość próbkowania wyjściowego24 kHz

Fonemizer

Tekst jest przekształcany do foneme tokens za pomocą słownego phonemizer z językoszczelnego wsparcia. Wdrożenie Android obejmuje phonemizers dla angielskiego, francuskiego, hiszpańskiego, włoskiego, portugalskiego, hindi, japońskiego i chińskiego.

Integracja rurociągów

Na Android, Kokoro TTS jest częścią SpeechPipeline. Po STT transkrypcji mowy, tekst jest fonemizowane i syntetyzowane z powrotem do audio. Gazociąg zarządza pełną VAD → STT → TTS przepływu automatycznie.

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

Kod źródła: github.com /soniqo/speech-android