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ęzyk | Kod | Przykład Głosy |
|---|---|---|
| Angielski (USA) | en | af _ heart, am _ adam, af _ sky |
| Angielski (UK) | en | bf _ emma, bm _ george |
| Hiszpański | e | ef _ dora |
| Francuski | fr | ff _ siwis |
| Hindi | Cześć. | hf _ alpha, hm _ omega |
| Włoski | to | if _ sara |
| Japoński | ja | jf _ alpha, jm _ omega |
| Portugalski | pt | pf _ dora |
| Chiński | zh | zf _ xiaobei, zm _ yunjian |
| Niemiecki | de | dm _ 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.
| Opakowanie | Głos | Pobieranie |
|---|---|---|
KokoroPack.GERMAN_MARTIN | dm_martin (mężczyzna) | soniqo/Kokoro-82M-German-Martin-ONNX 170 MB) |
KokoroPack.GERMAN_VICTORIA | df_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
| Plik | Rozmiar |
|---|---|
kokoro-e2e.onnx + .onnx.data | - 330 MB |
voices.bin | Wpisy głosowe |
| Słowniki foneme | Dane dotyczące wymowy specyficznej dla języka |
HuggingFace: soniqo/Kokoro-82M-ONNX
Wydajność
| Metric | Wartość |
|---|---|
| Parametry | 82M |
| Pokrycie wniosku | ONNX Runtime |
| Szybkość próbkowania wyjściowego | 24 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