From 7c80ca9a855036a537a9096a453b2d9878cbce54 Mon Sep 17 00:00:00 2001 From: Fangjun Kuang Date: Thu, 18 Jul 2024 21:01:49 +0800 Subject: [PATCH] c api for sense voice models --- sherpa-onnx/c-api/c-api.cc | 10 ++++++++++ sherpa-onnx/c-api/c-api.h | 7 +++++++ 2 files changed, 17 insertions(+) diff --git a/sherpa-onnx/c-api/c-api.cc b/sherpa-onnx/c-api/c-api.cc index c63fad900..b91668746 100644 --- a/sherpa-onnx/c-api/c-api.cc +++ b/sherpa-onnx/c-api/c-api.cc @@ -310,6 +310,7 @@ struct SherpaOnnxOfflineStream { static sherpa_onnx::OfflineRecognizerConfig convertConfig( const SherpaOnnxOfflineRecognizerConfig *config); + SherpaOnnxOfflineRecognizer *CreateOfflineRecognizer( const SherpaOnnxOfflineRecognizerConfig *config) { sherpa_onnx::OfflineRecognizerConfig recognizer_config = @@ -391,6 +392,15 @@ sherpa_onnx::OfflineRecognizerConfig convertConfig( recognizer_config.model_config.telespeech_ctc = SHERPA_ONNX_OR(config->model_config.telespeech_ctc, ""); + recognizer_config.model_config.sense_voice.model = + SHERPA_ONNX_OR(config->model_config.sense_voice.model, ""); + + recognizer_config.model_config.sense_voice.language = + SHERPA_ONNX_OR(config->model_config.sense_voice.language, ""); + + recognizer_config.model_config.sense_voice.use_itn = + config->model_config.sense_voice.use_itn; + recognizer_config.lm_config.model = SHERPA_ONNX_OR(config->lm_config.model, ""); recognizer_config.lm_config.scale = diff --git a/sherpa-onnx/c-api/c-api.h b/sherpa-onnx/c-api/c-api.h index 13ea4f5c4..36b286972 100644 --- a/sherpa-onnx/c-api/c-api.h +++ b/sherpa-onnx/c-api/c-api.h @@ -379,6 +379,12 @@ SHERPA_ONNX_API typedef struct SherpaOnnxOfflineLMConfig { float scale; } SherpaOnnxOfflineLMConfig; +SHERPA_ONNX_API typedef struct SherpaOnnxOfflineSenseVoiceModelConfig { + const char *model; + const char *language; + int32_t use_itn; +} SherpaOnnxOfflineSenseVoiceModelConfig; + SHERPA_ONNX_API typedef struct SherpaOnnxOfflineModelConfig { SherpaOnnxOfflineTransducerModelConfig transducer; SherpaOnnxOfflineParaformerModelConfig paraformer; @@ -398,6 +404,7 @@ SHERPA_ONNX_API typedef struct SherpaOnnxOfflineModelConfig { const char *modeling_unit; const char *bpe_vocab; const char *telespeech_ctc; + SherpaOnnxOfflineSenseVoiceModelConfig sense_voice; } SherpaOnnxOfflineModelConfig; SHERPA_ONNX_API typedef struct SherpaOnnxOfflineRecognizerConfig {