Update TTS Engine APK to support multi-lang (#2294)

This commit is contained in:
Fangjun Kuang
2025-06-17 14:16:48 +08:00
committed by GitHub
parent 0c42c06f75
commit 4ae9382bae
5 changed files with 27 additions and 5 deletions

View File

@@ -42,6 +42,7 @@ vocoder={{ tts_model.vocoder }}
voices={{ tts_model.voices }}
lang={{ tts_model.lang }}
lang_iso_639_3={{ tts_model.lang_iso_639_3 }}
lang_iso_639_3_2={{ tts_model.lang_iso_639_3_2 }}
wget -qq https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/$model_dir.tar.bz2
tar xf $model_dir.tar.bz2
@@ -59,6 +60,10 @@ pushd android/SherpaOnnxTtsEngine/app/src/main/java/com/k2fsa/sherpa/onnx/tts/en
sed -i.bak s/"modelDir = null"/"modelDir = \"$model_dir\""/ ./TtsEngine.kt
sed -i.bak s/"lang = null"/"lang = \"$lang_iso_639_3\""/ ./TtsEngine.kt
{% if tts_model.lang2 %}
sed -i.bak s/"lang2 = null"/"lang2 = \"$lang_iso_639_3_2\""/ ./TtsEngine.kt
{% endif %}
{% if tts_model.model_name %}
sed -i.bak s/"modelName = null"/"modelName = \"$model_name\""/ ./TtsEngine.kt
{% endif %}
@@ -109,7 +114,7 @@ if [[ $model_dir == vits-melo-tts-zh_en ]]; then
lang=zh_en
fi
if [[ $model_dir == kokoro-multi-lang-v1_0 ]]; then
if [[ $model_dir == kokoro-multi-lang-v1_0 || $model_dir == kokoro-multi-lang-v1_1 || $model_dir == kokoro-int8-multi-lang-v1_1 ]]; then
lang=zh_en
fi

View File

@@ -108,7 +108,7 @@ if [[ $model_dir == vits-melo-tts-zh_en ]]; then
lang=zh_en
fi
if [[ $model_dir == kokoro-multi-lang-v1_0 ]]; then
if [[ $model_dir == kokoro-multi-lang-v1_0 || $model_dir == kokoro-multi-lang-v1_1 || $model_dir == kokoro-int8-multi-lang-v1_1 ]]; then
lang=zh_en
fi

View File

@@ -35,12 +35,14 @@ class TtsModel:
vocoder: str = "" # for matcha
voices: str = "" # for kokoro
lang: str = "" # en, zh, fr, de, etc.
lang2: str = "" # en, zh, fr, de, etc.
rule_fsts: Optional[List[str]] = None
rule_fars: Optional[List[str]] = None
data_dir: Optional[str] = None
dict_dir: Optional[str] = None
is_char: bool = False
lang_iso_639_3: str = ""
lang_iso_639_3_2: str = ""
lexicon: str = ""
@@ -48,6 +50,8 @@ def convert_lang_to_iso_639_3(models: List[TtsModel]):
for m in models:
if m.lang_iso_639_3 == "":
m.lang_iso_639_3 = Lang(m.lang).pt3
if m.lang2 != "":
m.lang_iso_639_3_2 = Lang(m.lang2).pt3
def get_coqui_models() -> List[TtsModel]:
@@ -322,6 +326,7 @@ def get_vits_models() -> List[TtsModel]:
model_dir="vits-melo-tts-zh_en",
model_name="model.onnx",
lang="zh",
lang2="en",
),
TtsModel(
model_dir="vits-zh-hf-fanchen-C",
@@ -438,16 +443,19 @@ def get_kokoro_models() -> List[TtsModel]:
model_dir="kokoro-multi-lang-v1_0",
model_name="model.onnx",
lang="en",
lang2="zh",
),
TtsModel(
model_dir="kokoro-multi-lang-v1_1",
model_name="model.onnx",
lang="en",
lang2="zh",
),
TtsModel(
model_dir="kokoro-int8-multi-lang-v1_1",
model_name="model.int8.onnx",
lang="en",
lang2="zh",
),
]
for m in multi_lingual_models: