Support extra languages in multi-lang kokoro tts (#2303)
This commit is contained in:
@@ -220,8 +220,9 @@ class OfflineTtsKokoroImpl : public OfflineTtsImpl {
|
||||
}
|
||||
}
|
||||
|
||||
std::vector<TokenIDs> token_ids =
|
||||
frontend_->ConvertTextToTokenIds(text, meta_data.voice);
|
||||
std::vector<TokenIDs> token_ids = frontend_->ConvertTextToTokenIds(
|
||||
text, config_.model.kokoro.lang.empty() ? meta_data.voice
|
||||
: config_.model.kokoro.lang);
|
||||
|
||||
if (token_ids.empty() ||
|
||||
(token_ids.size() == 1 && token_ids[0].tokens.empty())) {
|
||||
@@ -335,12 +336,14 @@ class OfflineTtsKokoroImpl : public OfflineTtsImpl {
|
||||
if (meta_data.version >= 2) {
|
||||
// this is a multi-lingual model, we require that you pass lexicon
|
||||
// and dict_dir
|
||||
if (config_.model.kokoro.lexicon.empty() ||
|
||||
if ((config_.model.kokoro.lexicon.empty() &&
|
||||
config_.model.kokoro.lang.empty()) ||
|
||||
config_.model.kokoro.dict_dir.empty()) {
|
||||
SHERPA_ONNX_LOGE("Current model version: '%d'", meta_data.version);
|
||||
SHERPA_ONNX_LOGE(
|
||||
"You are using a multi-lingual Kokoro model (e.g., Kokoro >= "
|
||||
"v1.0). please pass --kokoro-lexicon and --kokoro-dict-dir");
|
||||
"v1.0). Please pass --kokoro-lexicon and --kokoro-dict-dir or "
|
||||
"provide --kokoro-lang and --kokoro-dict-dir");
|
||||
SHERPA_ONNX_EXIT(-1);
|
||||
}
|
||||
|
||||
@@ -362,7 +365,8 @@ class OfflineTtsKokoroImpl : public OfflineTtsImpl {
|
||||
if (meta_data.version >= 2) {
|
||||
// this is a multi-lingual model, we require that you pass lexicon
|
||||
// and dict_dir
|
||||
if (config_.model.kokoro.lexicon.empty() ||
|
||||
if ((config_.model.kokoro.lexicon.empty() &&
|
||||
config_.model.kokoro.lang.empty()) ||
|
||||
config_.model.kokoro.dict_dir.empty()) {
|
||||
SHERPA_ONNX_LOGE("Current model version: '%d'", meta_data.version);
|
||||
SHERPA_ONNX_LOGE(
|
||||
|
||||
Reference in New Issue
Block a user