正在显示
3 个修改的文件
包含
14 行增加
和
11 行删除
| @@ -77,20 +77,13 @@ class MainActivity : AppCompatActivity() { | @@ -77,20 +77,13 @@ class MainActivity : AppCompatActivity() { | ||
| 77 | return | 77 | return |
| 78 | } | 78 | } |
| 79 | 79 | ||
| 80 | - Toast.makeText(applicationContext, "Generating...Please wait", Toast.LENGTH_LONG).show() | 80 | + play.isEnabled = false; |
| 81 | val audio = tts.generate(text = textStr, sid = sidInt, speed = speedFloat) | 81 | val audio = tts.generate(text = textStr, sid = sidInt, speed = speedFloat) |
| 82 | 82 | ||
| 83 | val filename = application.filesDir.absolutePath + "/generated.wav" | 83 | val filename = application.filesDir.absolutePath + "/generated.wav" |
| 84 | val ok = audio.samples.size > 0 && audio.save(filename) | 84 | val ok = audio.samples.size > 0 && audio.save(filename) |
| 85 | if (ok) { | 85 | if (ok) { |
| 86 | play.isEnabled = true | 86 | play.isEnabled = true |
| 87 | - Toast.makeText( | ||
| 88 | - applicationContext, | ||
| 89 | - "Generated! Please click play to listen to it", | ||
| 90 | - Toast.LENGTH_LONG | ||
| 91 | - ).show() | ||
| 92 | - } else { | ||
| 93 | - play.isEnabled = false | ||
| 94 | } | 87 | } |
| 95 | } | 88 | } |
| 96 | 89 |
| @@ -129,10 +129,12 @@ std::vector<int64_t> Lexicon::ConvertTextToTokenIds( | @@ -129,10 +129,12 @@ std::vector<int64_t> Lexicon::ConvertTextToTokenIds( | ||
| 129 | switch (language_) { | 129 | switch (language_) { |
| 130 | case Language::kEnglish: | 130 | case Language::kEnglish: |
| 131 | return ConvertTextToTokenIdsEnglish(text); | 131 | return ConvertTextToTokenIdsEnglish(text); |
| 132 | + case Language::kGerman: | ||
| 133 | + return ConvertTextToTokenIdsGerman(text); | ||
| 132 | case Language::kChinese: | 134 | case Language::kChinese: |
| 133 | return ConvertTextToTokenIdsChinese(text); | 135 | return ConvertTextToTokenIdsChinese(text); |
| 134 | default: | 136 | default: |
| 135 | - SHERPA_ONNX_LOGE("Unknonw language: %d", static_cast<int32_t>(language_)); | 137 | + SHERPA_ONNX_LOGE("Unknown language: %d", static_cast<int32_t>(language_)); |
| 136 | exit(-1); | 138 | exit(-1); |
| 137 | } | 139 | } |
| 138 | 140 | ||
| @@ -246,6 +248,8 @@ void Lexicon::InitLanguage(const std::string &_lang) { | @@ -246,6 +248,8 @@ void Lexicon::InitLanguage(const std::string &_lang) { | ||
| 246 | ToLowerCase(&lang); | 248 | ToLowerCase(&lang); |
| 247 | if (lang == "english") { | 249 | if (lang == "english") { |
| 248 | language_ = Language::kEnglish; | 250 | language_ = Language::kEnglish; |
| 251 | + } else if (lang == "german") { | ||
| 252 | + language_ = Language::kGerman; | ||
| 249 | } else if (lang == "chinese") { | 253 | } else if (lang == "chinese") { |
| 250 | language_ = Language::kChinese; | 254 | language_ = Language::kChinese; |
| 251 | } else { | 255 | } else { |
| @@ -269,8 +273,8 @@ void Lexicon::InitLexicon(std::istream &is) { | @@ -269,8 +273,8 @@ void Lexicon::InitLexicon(std::istream &is) { | ||
| 269 | ToLowerCase(&word); | 273 | ToLowerCase(&word); |
| 270 | 274 | ||
| 271 | if (word2ids_.count(word)) { | 275 | if (word2ids_.count(word)) { |
| 272 | - SHERPA_ONNX_LOGE("Duplicated word: %s", word.c_str()); | ||
| 273 | - return; | 276 | + SHERPA_ONNX_LOGE("Duplicated word: %s. Ignore it.", word.c_str()); |
| 277 | + continue; | ||
| 274 | } | 278 | } |
| 275 | 279 | ||
| 276 | while (iss >> phone) { | 280 | while (iss >> phone) { |
| @@ -36,6 +36,11 @@ class Lexicon { | @@ -36,6 +36,11 @@ class Lexicon { | ||
| 36 | std::vector<int64_t> ConvertTextToTokenIds(const std::string &text) const; | 36 | std::vector<int64_t> ConvertTextToTokenIds(const std::string &text) const; |
| 37 | 37 | ||
| 38 | private: | 38 | private: |
| 39 | + std::vector<int64_t> ConvertTextToTokenIdsGerman( | ||
| 40 | + const std::string &text) const { | ||
| 41 | + return ConvertTextToTokenIdsEnglish(text); | ||
| 42 | + } | ||
| 43 | + | ||
| 39 | std::vector<int64_t> ConvertTextToTokenIdsEnglish( | 44 | std::vector<int64_t> ConvertTextToTokenIdsEnglish( |
| 40 | const std::string &text) const; | 45 | const std::string &text) const; |
| 41 | 46 | ||
| @@ -50,6 +55,7 @@ class Lexicon { | @@ -50,6 +55,7 @@ class Lexicon { | ||
| 50 | private: | 55 | private: |
| 51 | enum class Language { | 56 | enum class Language { |
| 52 | kEnglish, | 57 | kEnglish, |
| 58 | + kGerman, | ||
| 53 | kChinese, | 59 | kChinese, |
| 54 | kUnknown, | 60 | kUnknown, |
| 55 | }; | 61 | }; |
-
请 注册 或 登录 后发表评论