Add HarmonyOS support for text-to-speech. (#1584)

This commit is contained in:
Fangjun Kuang
2024-12-01 21:43:34 +08:00
committed by GitHub
parent a3d6e1acc7
commit dc3287f3a8
33 changed files with 333 additions and 133 deletions

View File

@@ -11,16 +11,19 @@
#include <mutex> // NOLINT
#include <sstream>
#include <string>
#include <strstream>
#include <utility>
#include <vector>
#if __ANDROID_API__ >= 9
#include <strstream>
#include "android/asset_manager.h"
#include "android/asset_manager_jni.h"
#endif
#if __OHOS__
#include "rawfile/raw_file_manager.h"
#endif
#include "espeak-ng/speak_lib.h"
#include "phoneme_ids.hpp"
#include "phonemize.hpp"
@@ -196,9 +199,9 @@ PiperPhonemizeLexicon::PiperPhonemizeLexicon(
InitEspeak(data_dir);
}
#if __ANDROID_API__ >= 9
template <typename Manager>
PiperPhonemizeLexicon::PiperPhonemizeLexicon(
AAssetManager *mgr, const std::string &tokens, const std::string &data_dir,
Manager *mgr, const std::string &tokens, const std::string &data_dir,
const OfflineTtsVitsModelMetaData &meta_data)
: meta_data_(meta_data) {
{
@@ -212,7 +215,6 @@ PiperPhonemizeLexicon::PiperPhonemizeLexicon(
// data_dir.
InitEspeak(data_dir);
}
#endif
std::vector<TokenIDs> PiperPhonemizeLexicon::ConvertTextToTokenIds(
const std::string &text, const std::string &voice /*= ""*/) const {
@@ -255,4 +257,16 @@ std::vector<TokenIDs> PiperPhonemizeLexicon::ConvertTextToTokenIds(
return ans;
}
#if __ANDROID_API__ >= 9
template PiperPhonemizeLexicon::PiperPhonemizeLexicon(
AAssetManager *mgr, const std::string &tokens, const std::string &data_dir,
const OfflineTtsVitsModelMetaData &meta_data);
#endif
#if __OHOS__
template PiperPhonemizeLexicon::PiperPhonemizeLexicon(
NativeResourceManager *mgr, const std::string &tokens,
const std::string &data_dir, const OfflineTtsVitsModelMetaData &meta_data);
#endif
} // namespace sherpa_onnx