Add Android demo for Kokoro TTS 1.0 (#1799)

This commit is contained in:
Fangjun Kuang
2025-02-07 13:07:30 +08:00
committed by GitHub
parent 4372a7a7b0
commit a52b819fb5
8 changed files with 80 additions and 6 deletions

View File

@@ -281,6 +281,16 @@ class MainActivity : AppCompatActivity() {
// voices = "voices.bin"
// dataDir = "kokoro-en-v0_19/espeak-ng-data"
// Example 10
// kokoro-multi-lang-v1_0
// modelDir = "kokoro-multi-lang-v1_0"
// modelName = "model.onnx"
// voices = "voices.bin"
// dataDir = "kokoro-multi-lang-v1_0/espeak-ng-data"
// dictDir = "kokoro-multi-lang-v1_0/dict"
// lexicon = "kokoro-multi-lang-v1_0/lexicon-us-en.txt,kokoro-multi-lang-v1_0/lexicon-zh.txt"
// ruleFsts = "$modelDir/phone-zh.fst,$modelDir/date-zh.fst,$modelDir/number-zh.fst"
if (dataDir != null) {
val newDir = copyDataDir(dataDir!!)
dataDir = "$newDir/$dataDir"
@@ -289,7 +299,9 @@ class MainActivity : AppCompatActivity() {
if (dictDir != null) {
val newDir = copyDataDir(dictDir!!)
dictDir = "$newDir/$dictDir"
ruleFsts = "$modelDir/phone.fst,$modelDir/date.fst,$modelDir/number.fst"
if (ruleFsts == null) {
ruleFsts = "$modelDir/phone.fst,$modelDir/date.fst,$modelDir/number.fst"
}
}
val config = getOfflineTtsConfig(

View File

@@ -152,6 +152,20 @@ object TtsEngine {
// voices = "voices.bin"
// dataDir = "kokoro-en-v0_19/espeak-ng-data"
// lang = "eng"
// Example 10
// kokoro-multi-lang-v1_0
// modelDir = "kokoro-multi-lang-v1_0"
// modelName = "model.onnx"
// voices = "voices.bin"
// dataDir = "kokoro-multi-lang-v1_0/espeak-ng-data"
// dictDir = "kokoro-multi-lang-v1_0/dict"
// lexicon = "kokoro-multi-lang-v1_0/lexicon-us-en.txt,kokoro-multi-lang-v1_0/lexicon-zh.txt"
// lang = "eng"
// ruleFsts = "$modelDir/phone-zh.fst,$modelDir/date-zh.fst,$modelDir/number-zh.fst"
//
// This model supports many languages, e.g., English, Chinese, etc.
// We set lang to eng here.
}
fun createTts(context: Context) {
@@ -172,7 +186,9 @@ object TtsEngine {
if (dictDir != null) {
val newDir = copyDataDir(context, dictDir!!)
dictDir = "$newDir/$dictDir"
ruleFsts = "$modelDir/phone.fst,$modelDir/date.fst,$modelDir/number.fst"
if (ruleFsts == null) {
ruleFsts = "$modelDir/phone.fst,$modelDir/date.fst,$modelDir/number.fst"
}
}
val config = getOfflineTtsConfig(