re-pull-request allow tokens and hotwords be loaded from buffered string driectly (#1339)
Co-authored-by: xiao <shawl336@163.com>
This commit is contained in:
@@ -73,6 +73,12 @@ SherpaOnnxOnlineRecognizer *SherpaOnnxCreateOnlineRecognizer(
|
||||
|
||||
recognizer_config.model_config.tokens =
|
||||
SHERPA_ONNX_OR(config->model_config.tokens, "");
|
||||
if (config->model_config.tokens_buf &&
|
||||
config->model_config.tokens_buf_size > 0) {
|
||||
recognizer_config.model_config.tokens_buf = std::string(
|
||||
config->model_config.tokens_buf, config->model_config.tokens_buf_size);
|
||||
}
|
||||
|
||||
recognizer_config.model_config.num_threads =
|
||||
SHERPA_ONNX_OR(config->model_config.num_threads, 1);
|
||||
recognizer_config.model_config.provider_config.provider =
|
||||
@@ -120,6 +126,10 @@ SherpaOnnxOnlineRecognizer *SherpaOnnxCreateOnlineRecognizer(
|
||||
recognizer_config.hotwords_file = SHERPA_ONNX_OR(config->hotwords_file, "");
|
||||
recognizer_config.hotwords_score =
|
||||
SHERPA_ONNX_OR(config->hotwords_score, 1.5);
|
||||
if (config->hotwords_buf && config->hotwords_buf_size > 0) {
|
||||
recognizer_config.hotwords_buf =
|
||||
std::string(config->hotwords_buf, config->hotwords_buf_size);
|
||||
}
|
||||
|
||||
recognizer_config.blank_penalty = config->blank_penalty;
|
||||
|
||||
|
||||
@@ -88,6 +88,11 @@ SHERPA_ONNX_API typedef struct SherpaOnnxOnlineModelConfig {
|
||||
// - cjkchar+bpe
|
||||
const char *modeling_unit;
|
||||
const char *bpe_vocab;
|
||||
/// if non-null, loading the tokens from the buffered string directly in
|
||||
/// prioriy
|
||||
const char *tokens_buf;
|
||||
/// byte size excluding the tailing '\0'
|
||||
int32_t tokens_buf_size;
|
||||
} SherpaOnnxOnlineModelConfig;
|
||||
|
||||
/// It expects 16 kHz 16-bit single channel wave format.
|
||||
@@ -147,6 +152,11 @@ SHERPA_ONNX_API typedef struct SherpaOnnxOnlineRecognizerConfig {
|
||||
const char *rule_fsts;
|
||||
const char *rule_fars;
|
||||
float blank_penalty;
|
||||
|
||||
/// if non-nullptr, loading the hotwords from the buffered string directly in
|
||||
const char *hotwords_buf;
|
||||
/// byte size excluding the tailing '\0'
|
||||
int32_t hotwords_buf_size;
|
||||
} SherpaOnnxOnlineRecognizerConfig;
|
||||
|
||||
SHERPA_ONNX_API typedef struct SherpaOnnxOnlineRecognizerResult {
|
||||
|
||||
Reference in New Issue
Block a user