Add C and C++ API for Moonshine models (#1476)
This commit is contained in:
@@ -450,6 +450,18 @@ sherpa_onnx::OfflineRecognizerConfig convertConfig(
|
||||
recognizer_config.model_config.sense_voice.use_itn =
|
||||
config->model_config.sense_voice.use_itn;
|
||||
|
||||
recognizer_config.model_config.moonshine.preprocessor =
|
||||
SHERPA_ONNX_OR(config->model_config.moonshine.preprocessor, "");
|
||||
|
||||
recognizer_config.model_config.moonshine.encoder =
|
||||
SHERPA_ONNX_OR(config->model_config.moonshine.encoder, "");
|
||||
|
||||
recognizer_config.model_config.moonshine.uncached_decoder =
|
||||
SHERPA_ONNX_OR(config->model_config.moonshine.uncached_decoder, "");
|
||||
|
||||
recognizer_config.model_config.moonshine.cached_decoder =
|
||||
SHERPA_ONNX_OR(config->model_config.moonshine.cached_decoder, "");
|
||||
|
||||
recognizer_config.lm_config.model =
|
||||
SHERPA_ONNX_OR(config->lm_config.model, "");
|
||||
recognizer_config.lm_config.scale =
|
||||
|
||||
@@ -389,6 +389,13 @@ SHERPA_ONNX_API typedef struct SherpaOnnxOfflineWhisperModelConfig {
|
||||
int32_t tail_paddings;
|
||||
} SherpaOnnxOfflineWhisperModelConfig;
|
||||
|
||||
SHERPA_ONNX_API typedef struct SherpaOnnxOfflineMoonshineModelConfig {
|
||||
const char *preprocessor;
|
||||
const char *encoder;
|
||||
const char *uncached_decoder;
|
||||
const char *cached_decoder;
|
||||
} SherpaOnnxOfflineMoonshineModelConfig;
|
||||
|
||||
SHERPA_ONNX_API typedef struct SherpaOnnxOfflineTdnnModelConfig {
|
||||
const char *model;
|
||||
} SherpaOnnxOfflineTdnnModelConfig;
|
||||
@@ -424,6 +431,7 @@ SHERPA_ONNX_API typedef struct SherpaOnnxOfflineModelConfig {
|
||||
const char *bpe_vocab;
|
||||
const char *telespeech_ctc;
|
||||
SherpaOnnxOfflineSenseVoiceModelConfig sense_voice;
|
||||
SherpaOnnxOfflineMoonshineModelConfig moonshine;
|
||||
} SherpaOnnxOfflineModelConfig;
|
||||
|
||||
SHERPA_ONNX_API typedef struct SherpaOnnxOfflineRecognizerConfig {
|
||||
|
||||
@@ -227,6 +227,15 @@ OfflineRecognizer OfflineRecognizer::Create(
|
||||
config.model_config.sense_voice.language.c_str();
|
||||
c.model_config.sense_voice.use_itn = config.model_config.sense_voice.use_itn;
|
||||
|
||||
c.model_config.moonshine.preprocessor =
|
||||
config.model_config.moonshine.preprocessor.c_str();
|
||||
c.model_config.moonshine.encoder =
|
||||
config.model_config.moonshine.encoder.c_str();
|
||||
c.model_config.moonshine.uncached_decoder =
|
||||
config.model_config.moonshine.uncached_decoder.c_str();
|
||||
c.model_config.moonshine.cached_decoder =
|
||||
config.model_config.moonshine.cached_decoder.c_str();
|
||||
|
||||
c.lm_config.model = config.lm_config.model.c_str();
|
||||
c.lm_config.scale = config.lm_config.scale;
|
||||
|
||||
|
||||
@@ -225,6 +225,13 @@ struct SHERPA_ONNX_API OfflineSenseVoiceModelConfig {
|
||||
bool use_itn = false;
|
||||
};
|
||||
|
||||
struct SHERPA_ONNX_API OfflineMoonshineModelConfig {
|
||||
std::string preprocessor;
|
||||
std::string encoder;
|
||||
std::string uncached_decoder;
|
||||
std::string cached_decoder;
|
||||
};
|
||||
|
||||
struct SHERPA_ONNX_API OfflineModelConfig {
|
||||
OfflineTransducerModelConfig transducer;
|
||||
OfflineParaformerModelConfig paraformer;
|
||||
@@ -241,6 +248,7 @@ struct SHERPA_ONNX_API OfflineModelConfig {
|
||||
std::string bpe_vocab;
|
||||
std::string telespeech_ctc;
|
||||
OfflineSenseVoiceModelConfig sense_voice;
|
||||
OfflineMoonshineModelConfig moonshine;
|
||||
};
|
||||
|
||||
struct SHERPA_ONNX_API OfflineLMConfig {
|
||||
|
||||
Reference in New Issue
Block a user