Add C++ runtime for MeloTTS (#1138)
This commit is contained in:
@@ -8,8 +8,28 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "sherpa-onnx/csrc/macros.h"
|
||||
|
||||
namespace sherpa_onnx {
|
||||
|
||||
struct TokenIDs {
|
||||
TokenIDs() = default;
|
||||
|
||||
/*implicit*/ TokenIDs(const std::vector<int64_t> &tokens) // NOLINT
|
||||
: tokens{tokens} {}
|
||||
|
||||
TokenIDs(const std::vector<int64_t> &tokens,
|
||||
const std::vector<int64_t> &tones)
|
||||
: tokens{tokens}, tones{tones} {}
|
||||
|
||||
std::string ToString() const;
|
||||
|
||||
std::vector<int64_t> tokens;
|
||||
|
||||
// Used only in MeloTTS
|
||||
std::vector<int64_t> tones;
|
||||
};
|
||||
|
||||
class OfflineTtsFrontend {
|
||||
public:
|
||||
virtual ~OfflineTtsFrontend() = default;
|
||||
@@ -26,7 +46,7 @@ class OfflineTtsFrontend {
|
||||
* If a frontend does not support splitting the text into sentences,
|
||||
* the resulting vector contains only one subvector.
|
||||
*/
|
||||
virtual std::vector<std::vector<int64_t>> ConvertTextToTokenIds(
|
||||
virtual std::vector<TokenIDs> ConvertTextToTokenIds(
|
||||
const std::string &text, const std::string &voice = "") const = 0;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user