Skip to content

Commit 57ddf3d

Browse files
committed
first working version
1 parent 2e1857f commit 57ddf3d

9 files changed

Lines changed: 464 additions & 11 deletions

sherpa-onnx/csrc/kokoro-multi-lang-lexicon.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ class KokoroMultiLangLexicon::Impl {
260260

261261
std::vector<std::vector<int32_t>> ConvertTextToTokenIDsWithEspeak(
262262
const std::string &text, const std::string &voice) const {
263-
auto temp = ConvertTextToTokenIdsKokoro(
263+
auto temp = ConvertTextToTokenIdsKokoroOrKitten(
264264
phoneme2id_, meta_data_.max_token_len, text, voice);
265265
std::vector<std::vector<int32_t>> ans;
266266
ans.reserve(temp.size());

sherpa-onnx/csrc/offline-tts-frontend.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ class OfflineTtsFrontend {
5959
void InitEspeak(const std::string &data_dir);
6060

6161
// implementation in ./piper-phonemize-lexicon.cc
62-
std::vector<TokenIDs> ConvertTextToTokenIdsKokoro(
62+
std::vector<TokenIDs> ConvertTextToTokenIdsKokoroOrKitten(
6363
const std::unordered_map<char32_t, int32_t> &token2id,
6464
int32_t max_token_len, const std::string &text,
6565
const std::string &voice = "");

sherpa-onnx/csrc/offline-tts-impl.cc

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#include "rawfile/raw_file_manager.h"
1717
#endif
1818

19+
#include "sherpa-onnx/csrc/offline-tts-kitten-impl.h"
1920
#include "sherpa-onnx/csrc/offline-tts-kokoro-impl.h"
2021
#include "sherpa-onnx/csrc/offline-tts-matcha-impl.h"
2122
#include "sherpa-onnx/csrc/offline-tts-vits-impl.h"
@@ -40,9 +41,15 @@ std::unique_ptr<OfflineTtsImpl> OfflineTtsImpl::Create(
4041
return std::make_unique<OfflineTtsVitsImpl>(config);
4142
} else if (!config.model.matcha.acoustic_model.empty()) {
4243
return std::make_unique<OfflineTtsMatchaImpl>(config);
44+
} else if (!config.model.kokoro.model.empty()) {
45+
return std::make_unique<OfflineTtsKokoroImpl>(config);
46+
} else if (!config.model.kitten.model.empty()) {
47+
return std::make_unique<OfflineTtsKittenImpl>(config);
4348
}
4449

45-
return std::make_unique<OfflineTtsKokoroImpl>(config);
50+
SHERPA_ONNX_LOGE("Please provide a tts model.");
51+
52+
return {};
4653
}
4754

4855
template <typename Manager>
@@ -52,9 +59,14 @@ std::unique_ptr<OfflineTtsImpl> OfflineTtsImpl::Create(
5259
return std::make_unique<OfflineTtsVitsImpl>(mgr, config);
5360
} else if (!config.model.matcha.acoustic_model.empty()) {
5461
return std::make_unique<OfflineTtsMatchaImpl>(mgr, config);
62+
} else if (!config.model.kokoro.model.empty()) {
63+
return std::make_unique<OfflineTtsKokoroImpl>(mgr, config);
64+
} else if (!config.model.kitten.model.empty()) {
65+
return std::make_unique<OfflineTtsKittenImpl>(mgr, config);
5566
}
5667

57-
return std::make_unique<OfflineTtsKokoroImpl>(mgr, config);
68+
SHERPA_ONNX_LOGE("Please provide a tts model.");
69+
return {};
5870
}
5971

6072
#if __ANDROID_API__ >= 9

0 commit comments

Comments
 (0)