Support replacing homonphonic phrases (#2153)
This commit is contained in:
@@ -7,6 +7,7 @@ set(srcs
|
||||
display.cc
|
||||
endpoint.cc
|
||||
features.cc
|
||||
homophone-replacer.cc
|
||||
keyword-spotter.cc
|
||||
offline-ctc-fst-decoder-config.cc
|
||||
offline-dolphin-model-config.cc
|
||||
|
||||
28
sherpa-onnx/python/csrc/homophone-replacer.cc
Normal file
28
sherpa-onnx/python/csrc/homophone-replacer.cc
Normal file
@@ -0,0 +1,28 @@
|
||||
// sherpa-onnx/python/csrc/homophone-replacer.cc
|
||||
//
|
||||
// Copyright (c) 2025 Xiaomi Corporation
|
||||
|
||||
#include "sherpa-onnx/python/csrc/homophone-replacer.h"
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "sherpa-onnx/csrc/homophone-replacer.h"
|
||||
|
||||
namespace sherpa_onnx {
|
||||
|
||||
void PybindHomophoneReplacer(py::module *m) {
|
||||
using PyClass = HomophoneReplacerConfig;
|
||||
py::class_<PyClass>(*m, "HomophoneReplacerConfig")
|
||||
.def(py::init<>())
|
||||
.def(py::init<const std::string &, const std::string &,
|
||||
const std::string &, bool>(),
|
||||
py::arg("dict_dir"), py::arg("lexicon"), py::arg("rule_fsts"),
|
||||
py::arg("debug") = false)
|
||||
.def_readwrite("dict_dir", &PyClass::dict_dir)
|
||||
.def_readwrite("lexicon", &PyClass::lexicon)
|
||||
.def_readwrite("rule_fsts", &PyClass::rule_fsts)
|
||||
.def_readwrite("debug", &PyClass::debug)
|
||||
.def("__str__", &PyClass::ToString);
|
||||
}
|
||||
|
||||
} // namespace sherpa_onnx
|
||||
16
sherpa-onnx/python/csrc/homophone-replacer.h
Normal file
16
sherpa-onnx/python/csrc/homophone-replacer.h
Normal file
@@ -0,0 +1,16 @@
|
||||
// sherpa-onnx/python/csrc/homophone-replacer.h
|
||||
//
|
||||
// Copyright (c) 2025 Xiaomi Corporation
|
||||
|
||||
#ifndef SHERPA_ONNX_PYTHON_CSRC_HOMOPHONE_REPLACER_H_
|
||||
#define SHERPA_ONNX_PYTHON_CSRC_HOMOPHONE_REPLACER_H_
|
||||
|
||||
#include "sherpa-onnx/python/csrc/sherpa-onnx.h"
|
||||
|
||||
namespace sherpa_onnx {
|
||||
|
||||
void PybindHomophoneReplacer(py::module *m);
|
||||
|
||||
}
|
||||
|
||||
#endif // SHERPA_ONNX_PYTHON_CSRC_HOMOPHONE_REPLACER_H_
|
||||
@@ -17,14 +17,16 @@ static void PybindOfflineRecognizerConfig(py::module *m) {
|
||||
.def(py::init<const FeatureExtractorConfig &, const OfflineModelConfig &,
|
||||
const OfflineLMConfig &, const OfflineCtcFstDecoderConfig &,
|
||||
const std::string &, int32_t, const std::string &, float,
|
||||
float, const std::string &, const std::string &>(),
|
||||
float, const std::string &, const std::string &,
|
||||
const HomophoneReplacerConfig &>(),
|
||||
py::arg("feat_config"), py::arg("model_config"),
|
||||
py::arg("lm_config") = OfflineLMConfig(),
|
||||
py::arg("ctc_fst_decoder_config") = OfflineCtcFstDecoderConfig(),
|
||||
py::arg("decoding_method") = "greedy_search",
|
||||
py::arg("max_active_paths") = 4, py::arg("hotwords_file") = "",
|
||||
py::arg("hotwords_score") = 1.5, py::arg("blank_penalty") = 0.0,
|
||||
py::arg("rule_fsts") = "", py::arg("rule_fars") = "")
|
||||
py::arg("rule_fsts") = "", py::arg("rule_fars") = "",
|
||||
py::arg("hr") = HomophoneReplacerConfig{})
|
||||
.def_readwrite("feat_config", &PyClass::feat_config)
|
||||
.def_readwrite("model_config", &PyClass::model_config)
|
||||
.def_readwrite("lm_config", &PyClass::lm_config)
|
||||
@@ -36,6 +38,7 @@ static void PybindOfflineRecognizerConfig(py::module *m) {
|
||||
.def_readwrite("blank_penalty", &PyClass::blank_penalty)
|
||||
.def_readwrite("rule_fsts", &PyClass::rule_fsts)
|
||||
.def_readwrite("rule_fars", &PyClass::rule_fars)
|
||||
.def_readwrite("hr", &PyClass::hr)
|
||||
.def("__str__", &PyClass::ToString);
|
||||
}
|
||||
|
||||
|
||||
@@ -58,7 +58,8 @@ static void PybindOnlineRecognizerConfig(py::module *m) {
|
||||
const OnlineLMConfig &, const EndpointConfig &,
|
||||
const OnlineCtcFstDecoderConfig &, bool,
|
||||
const std::string &, int32_t, const std::string &, float,
|
||||
float, float, const std::string &, const std::string &, bool>(),
|
||||
float, float, const std::string &, const std::string &,
|
||||
bool, const HomophoneReplacerConfig &>(),
|
||||
py::arg("feat_config"), py::arg("model_config"),
|
||||
py::arg("lm_config") = OnlineLMConfig(),
|
||||
py::arg("endpoint_config") = EndpointConfig(),
|
||||
@@ -67,7 +68,8 @@ static void PybindOnlineRecognizerConfig(py::module *m) {
|
||||
py::arg("max_active_paths") = 4, py::arg("hotwords_file") = "",
|
||||
py::arg("hotwords_score") = 0, py::arg("blank_penalty") = 0.0,
|
||||
py::arg("temperature_scale") = 2.0, py::arg("rule_fsts") = "",
|
||||
py::arg("rule_fars") = "", py::arg("reset_encoder") = false)
|
||||
py::arg("rule_fars") = "", py::arg("reset_encoder") = false,
|
||||
py::arg("hr") = HomophoneReplacerConfig{})
|
||||
.def_readwrite("feat_config", &PyClass::feat_config)
|
||||
.def_readwrite("model_config", &PyClass::model_config)
|
||||
.def_readwrite("lm_config", &PyClass::lm_config)
|
||||
@@ -83,6 +85,7 @@ static void PybindOnlineRecognizerConfig(py::module *m) {
|
||||
.def_readwrite("rule_fsts", &PyClass::rule_fsts)
|
||||
.def_readwrite("rule_fars", &PyClass::rule_fars)
|
||||
.def_readwrite("reset_encoder", &PyClass::reset_encoder)
|
||||
.def_readwrite("hr", &PyClass::hr)
|
||||
.def("__str__", &PyClass::ToString);
|
||||
}
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "sherpa-onnx/python/csrc/display.h"
|
||||
#include "sherpa-onnx/python/csrc/endpoint.h"
|
||||
#include "sherpa-onnx/python/csrc/features.h"
|
||||
#include "sherpa-onnx/python/csrc/homophone-replacer.h"
|
||||
#include "sherpa-onnx/python/csrc/keyword-spotter.h"
|
||||
#include "sherpa-onnx/python/csrc/offline-ctc-fst-decoder-config.h"
|
||||
#include "sherpa-onnx/python/csrc/offline-lm-config.h"
|
||||
@@ -51,6 +52,7 @@ PYBIND11_MODULE(_sherpa_onnx, m) {
|
||||
PybindAudioTagging(&m);
|
||||
PybindOfflinePunctuation(&m);
|
||||
PybindOnlinePunctuation(&m);
|
||||
PybindHomophoneReplacer(&m);
|
||||
|
||||
PybindFeatures(&m);
|
||||
PybindOnlineCtcFstDecoderConfig(&m);
|
||||
|
||||
@@ -5,6 +5,7 @@ from typing import List, Optional
|
||||
|
||||
from _sherpa_onnx import (
|
||||
FeatureExtractorConfig,
|
||||
HomophoneReplacerConfig,
|
||||
OfflineCtcFstDecoderConfig,
|
||||
OfflineDolphinModelConfig,
|
||||
OfflineFireRedAsrModelConfig,
|
||||
@@ -64,6 +65,9 @@ class OfflineRecognizer(object):
|
||||
rule_fars: str = "",
|
||||
lm: str = "",
|
||||
lm_scale: float = 0.1,
|
||||
hr_dict_dir: str = "",
|
||||
hr_rule_fsts: str = "",
|
||||
hr_lexicon: str = "",
|
||||
):
|
||||
"""
|
||||
Please refer to
|
||||
@@ -181,6 +185,11 @@ class OfflineRecognizer(object):
|
||||
blank_penalty=blank_penalty,
|
||||
rule_fsts=rule_fsts,
|
||||
rule_fars=rule_fars,
|
||||
hr=HomophoneReplacerConfig(
|
||||
dict_dir=hr_dict_dir,
|
||||
lexicon=hr_lexicon,
|
||||
rule_fsts=hr_rule_fsts,
|
||||
),
|
||||
)
|
||||
self.recognizer = _Recognizer(recognizer_config)
|
||||
self.config = recognizer_config
|
||||
@@ -201,6 +210,9 @@ class OfflineRecognizer(object):
|
||||
use_itn: bool = False,
|
||||
rule_fsts: str = "",
|
||||
rule_fars: str = "",
|
||||
hr_dict_dir: str = "",
|
||||
hr_rule_fsts: str = "",
|
||||
hr_lexicon: str = "",
|
||||
):
|
||||
"""
|
||||
Please refer to
|
||||
@@ -263,6 +275,11 @@ class OfflineRecognizer(object):
|
||||
decoding_method=decoding_method,
|
||||
rule_fsts=rule_fsts,
|
||||
rule_fars=rule_fars,
|
||||
hr=HomophoneReplacerConfig(
|
||||
dict_dir=hr_dict_dir,
|
||||
lexicon=hr_lexicon,
|
||||
rule_fsts=hr_rule_fsts,
|
||||
),
|
||||
)
|
||||
self.recognizer = _Recognizer(recognizer_config)
|
||||
self.config = recognizer_config
|
||||
@@ -281,6 +298,9 @@ class OfflineRecognizer(object):
|
||||
provider: str = "cpu",
|
||||
rule_fsts: str = "",
|
||||
rule_fars: str = "",
|
||||
hr_dict_dir: str = "",
|
||||
hr_rule_fsts: str = "",
|
||||
hr_lexicon: str = "",
|
||||
):
|
||||
"""
|
||||
Please refer to
|
||||
@@ -336,6 +356,11 @@ class OfflineRecognizer(object):
|
||||
decoding_method=decoding_method,
|
||||
rule_fsts=rule_fsts,
|
||||
rule_fars=rule_fars,
|
||||
hr=HomophoneReplacerConfig(
|
||||
dict_dir=hr_dict_dir,
|
||||
lexicon=hr_lexicon,
|
||||
rule_fsts=hr_rule_fsts,
|
||||
),
|
||||
)
|
||||
self.recognizer = _Recognizer(recognizer_config)
|
||||
self.config = recognizer_config
|
||||
@@ -354,6 +379,9 @@ class OfflineRecognizer(object):
|
||||
provider: str = "cpu",
|
||||
rule_fsts: str = "",
|
||||
rule_fars: str = "",
|
||||
hr_dict_dir: str = "",
|
||||
hr_rule_fsts: str = "",
|
||||
hr_lexicon: str = "",
|
||||
):
|
||||
"""
|
||||
Please refer to
|
||||
@@ -411,6 +439,9 @@ class OfflineRecognizer(object):
|
||||
decoding_method=decoding_method,
|
||||
rule_fsts=rule_fsts,
|
||||
rule_fars=rule_fars,
|
||||
hr=HomophoneReplacerConfig(
|
||||
dict_dir=hr_dict_dir, lexicon=hr_lexicon, rule_fsts=hr_rule_fsts
|
||||
),
|
||||
)
|
||||
self.recognizer = _Recognizer(recognizer_config)
|
||||
self.config = recognizer_config
|
||||
@@ -429,6 +460,9 @@ class OfflineRecognizer(object):
|
||||
provider: str = "cpu",
|
||||
rule_fsts: str = "",
|
||||
rule_fars: str = "",
|
||||
hr_dict_dir: str = "",
|
||||
hr_rule_fsts: str = "",
|
||||
hr_lexicon: str = "",
|
||||
):
|
||||
"""
|
||||
Please refer to
|
||||
@@ -483,6 +517,11 @@ class OfflineRecognizer(object):
|
||||
decoding_method=decoding_method,
|
||||
rule_fsts=rule_fsts,
|
||||
rule_fars=rule_fars,
|
||||
hr=HomophoneReplacerConfig(
|
||||
dict_dir=hr_dict_dir,
|
||||
lexicon=hr_lexicon,
|
||||
rule_fsts=hr_rule_fsts,
|
||||
),
|
||||
)
|
||||
self.recognizer = _Recognizer(recognizer_config)
|
||||
self.config = recognizer_config
|
||||
@@ -501,6 +540,9 @@ class OfflineRecognizer(object):
|
||||
provider: str = "cpu",
|
||||
rule_fsts: str = "",
|
||||
rule_fars: str = "",
|
||||
hr_dict_dir: str = "",
|
||||
hr_rule_fsts: str = "",
|
||||
hr_lexicon: str = "",
|
||||
):
|
||||
"""
|
||||
Please refer to
|
||||
@@ -557,6 +599,11 @@ class OfflineRecognizer(object):
|
||||
decoding_method=decoding_method,
|
||||
rule_fsts=rule_fsts,
|
||||
rule_fars=rule_fars,
|
||||
hr=HomophoneReplacerConfig(
|
||||
dict_dir=hr_dict_dir,
|
||||
lexicon=hr_lexicon,
|
||||
rule_fsts=hr_rule_fsts,
|
||||
),
|
||||
)
|
||||
self.recognizer = _Recognizer(recognizer_config)
|
||||
self.config = recognizer_config
|
||||
@@ -577,6 +624,9 @@ class OfflineRecognizer(object):
|
||||
tail_paddings: int = -1,
|
||||
rule_fsts: str = "",
|
||||
rule_fars: str = "",
|
||||
hr_dict_dir: str = "",
|
||||
hr_rule_fsts: str = "",
|
||||
hr_lexicon: str = "",
|
||||
):
|
||||
"""
|
||||
Please refer to
|
||||
@@ -647,6 +697,11 @@ class OfflineRecognizer(object):
|
||||
decoding_method=decoding_method,
|
||||
rule_fsts=rule_fsts,
|
||||
rule_fars=rule_fars,
|
||||
hr=HomophoneReplacerConfig(
|
||||
dict_dir=hr_dict_dir,
|
||||
lexicon=hr_lexicon,
|
||||
rule_fsts=hr_rule_fsts,
|
||||
),
|
||||
)
|
||||
self.recognizer = _Recognizer(recognizer_config)
|
||||
self.config = recognizer_config
|
||||
@@ -664,6 +719,9 @@ class OfflineRecognizer(object):
|
||||
provider: str = "cpu",
|
||||
rule_fsts: str = "",
|
||||
rule_fars: str = "",
|
||||
hr_dict_dir: str = "",
|
||||
hr_rule_fsts: str = "",
|
||||
hr_lexicon: str = "",
|
||||
):
|
||||
"""
|
||||
Please refer to
|
||||
@@ -719,6 +777,11 @@ class OfflineRecognizer(object):
|
||||
decoding_method=decoding_method,
|
||||
rule_fsts=rule_fsts,
|
||||
rule_fars=rule_fars,
|
||||
hr=HomophoneReplacerConfig(
|
||||
dict_dir=hr_dict_dir,
|
||||
lexicon=hr_lexicon,
|
||||
rule_fsts=hr_rule_fsts,
|
||||
),
|
||||
)
|
||||
self.recognizer = _Recognizer(recognizer_config)
|
||||
self.config = recognizer_config
|
||||
@@ -738,6 +801,9 @@ class OfflineRecognizer(object):
|
||||
provider: str = "cpu",
|
||||
rule_fsts: str = "",
|
||||
rule_fars: str = "",
|
||||
hr_dict_dir: str = "",
|
||||
hr_rule_fsts: str = "",
|
||||
hr_lexicon: str = "",
|
||||
):
|
||||
"""
|
||||
Please refer to
|
||||
@@ -800,6 +866,11 @@ class OfflineRecognizer(object):
|
||||
decoding_method=decoding_method,
|
||||
rule_fsts=rule_fsts,
|
||||
rule_fars=rule_fars,
|
||||
hr=HomophoneReplacerConfig(
|
||||
dict_dir=hr_dict_dir,
|
||||
lexicon=hr_lexicon,
|
||||
rule_fsts=hr_rule_fsts,
|
||||
),
|
||||
)
|
||||
self.recognizer = _Recognizer(recognizer_config)
|
||||
self.config = recognizer_config
|
||||
@@ -818,6 +889,9 @@ class OfflineRecognizer(object):
|
||||
provider: str = "cpu",
|
||||
rule_fsts: str = "",
|
||||
rule_fars: str = "",
|
||||
hr_dict_dir: str = "",
|
||||
hr_rule_fsts: str = "",
|
||||
hr_lexicon: str = "",
|
||||
):
|
||||
"""
|
||||
Please refer to
|
||||
@@ -873,6 +947,11 @@ class OfflineRecognizer(object):
|
||||
decoding_method=decoding_method,
|
||||
rule_fsts=rule_fsts,
|
||||
rule_fars=rule_fars,
|
||||
hr=HomophoneReplacerConfig(
|
||||
dict_dir=hr_dict_dir,
|
||||
lexicon=hr_lexicon,
|
||||
rule_fsts=hr_rule_fsts,
|
||||
),
|
||||
)
|
||||
self.recognizer = _Recognizer(recognizer_config)
|
||||
self.config = recognizer_config
|
||||
@@ -891,6 +970,9 @@ class OfflineRecognizer(object):
|
||||
provider: str = "cpu",
|
||||
rule_fsts: str = "",
|
||||
rule_fars: str = "",
|
||||
hr_dict_dir: str = "",
|
||||
hr_rule_fsts: str = "",
|
||||
hr_lexicon: str = "",
|
||||
):
|
||||
"""
|
||||
Please refer to
|
||||
@@ -947,6 +1029,11 @@ class OfflineRecognizer(object):
|
||||
decoding_method=decoding_method,
|
||||
rule_fsts=rule_fsts,
|
||||
rule_fars=rule_fars,
|
||||
hr=HomophoneReplacerConfig(
|
||||
dict_dir=hr_dict_dir,
|
||||
lexicon=hr_lexicon,
|
||||
rule_fsts=hr_rule_fsts,
|
||||
),
|
||||
)
|
||||
self.recognizer = _Recognizer(recognizer_config)
|
||||
self.config = recognizer_config
|
||||
|
||||
@@ -3,25 +3,26 @@ from pathlib import Path
|
||||
from typing import List, Optional
|
||||
|
||||
from _sherpa_onnx import (
|
||||
CudaConfig,
|
||||
EndpointConfig,
|
||||
FeatureExtractorConfig,
|
||||
HomophoneReplacerConfig,
|
||||
OnlineCtcFstDecoderConfig,
|
||||
OnlineLMConfig,
|
||||
OnlineModelConfig,
|
||||
OnlineNeMoCtcModelConfig,
|
||||
OnlineParaformerModelConfig,
|
||||
)
|
||||
from _sherpa_onnx import OnlineRecognizer as _Recognizer
|
||||
from _sherpa_onnx import (
|
||||
CudaConfig,
|
||||
TensorrtConfig,
|
||||
ProviderConfig,
|
||||
OnlineRecognizerConfig,
|
||||
OnlineRecognizerResult,
|
||||
OnlineStream,
|
||||
OnlineTransducerModelConfig,
|
||||
OnlineWenetCtcModelConfig,
|
||||
OnlineNeMoCtcModelConfig,
|
||||
OnlineZipformer2CtcModelConfig,
|
||||
OnlineCtcFstDecoderConfig,
|
||||
ProviderConfig,
|
||||
TensorrtConfig,
|
||||
)
|
||||
|
||||
|
||||
@@ -82,9 +83,12 @@ class OnlineRecognizer(object):
|
||||
trt_detailed_build_log: bool = False,
|
||||
trt_engine_cache_enable: bool = True,
|
||||
trt_timing_cache_enable: bool = True,
|
||||
trt_engine_cache_path: str ="",
|
||||
trt_timing_cache_path: str ="",
|
||||
trt_engine_cache_path: str = "",
|
||||
trt_timing_cache_path: str = "",
|
||||
trt_dump_subgraphs: bool = False,
|
||||
hr_dict_dir: str = "",
|
||||
hr_rule_fsts: str = "",
|
||||
hr_lexicon: str = "",
|
||||
):
|
||||
"""
|
||||
Please refer to
|
||||
@@ -228,27 +232,27 @@ class OnlineRecognizer(object):
|
||||
)
|
||||
|
||||
cuda_config = CudaConfig(
|
||||
cudnn_conv_algo_search=cudnn_conv_algo_search,
|
||||
cudnn_conv_algo_search=cudnn_conv_algo_search,
|
||||
)
|
||||
|
||||
trt_config = TensorrtConfig(
|
||||
trt_max_workspace_size=trt_max_workspace_size,
|
||||
trt_max_partition_iterations=trt_max_partition_iterations,
|
||||
trt_min_subgraph_size=trt_min_subgraph_size,
|
||||
trt_fp16_enable=trt_fp16_enable,
|
||||
trt_detailed_build_log=trt_detailed_build_log,
|
||||
trt_engine_cache_enable=trt_engine_cache_enable,
|
||||
trt_timing_cache_enable=trt_timing_cache_enable,
|
||||
trt_engine_cache_path=trt_engine_cache_path,
|
||||
trt_timing_cache_path=trt_timing_cache_path,
|
||||
trt_dump_subgraphs=trt_dump_subgraphs,
|
||||
trt_max_workspace_size=trt_max_workspace_size,
|
||||
trt_max_partition_iterations=trt_max_partition_iterations,
|
||||
trt_min_subgraph_size=trt_min_subgraph_size,
|
||||
trt_fp16_enable=trt_fp16_enable,
|
||||
trt_detailed_build_log=trt_detailed_build_log,
|
||||
trt_engine_cache_enable=trt_engine_cache_enable,
|
||||
trt_timing_cache_enable=trt_timing_cache_enable,
|
||||
trt_engine_cache_path=trt_engine_cache_path,
|
||||
trt_timing_cache_path=trt_timing_cache_path,
|
||||
trt_dump_subgraphs=trt_dump_subgraphs,
|
||||
)
|
||||
|
||||
provider_config = ProviderConfig(
|
||||
trt_config=trt_config,
|
||||
cuda_config=cuda_config,
|
||||
provider=provider,
|
||||
device=device,
|
||||
trt_config=trt_config,
|
||||
cuda_config=cuda_config,
|
||||
provider=provider,
|
||||
device=device,
|
||||
)
|
||||
|
||||
model_config = OnlineModelConfig(
|
||||
@@ -311,6 +315,11 @@ class OnlineRecognizer(object):
|
||||
rule_fsts=rule_fsts,
|
||||
rule_fars=rule_fars,
|
||||
reset_encoder=reset_encoder,
|
||||
hr=HomophoneReplacerConfig(
|
||||
dict_dir=hr_dict_dir,
|
||||
lexicon=hr_lexicon,
|
||||
rule_fsts=hr_rule_fsts,
|
||||
),
|
||||
)
|
||||
|
||||
self.recognizer = _Recognizer(recognizer_config)
|
||||
@@ -336,6 +345,9 @@ class OnlineRecognizer(object):
|
||||
rule_fsts: str = "",
|
||||
rule_fars: str = "",
|
||||
device: int = 0,
|
||||
hr_dict_dir: str = "",
|
||||
hr_rule_fsts: str = "",
|
||||
hr_lexicon: str = "",
|
||||
):
|
||||
"""
|
||||
Please refer to
|
||||
@@ -402,8 +414,8 @@ class OnlineRecognizer(object):
|
||||
)
|
||||
|
||||
provider_config = ProviderConfig(
|
||||
provider=provider,
|
||||
device=device,
|
||||
provider=provider,
|
||||
device=device,
|
||||
)
|
||||
|
||||
model_config = OnlineModelConfig(
|
||||
@@ -434,6 +446,11 @@ class OnlineRecognizer(object):
|
||||
decoding_method=decoding_method,
|
||||
rule_fsts=rule_fsts,
|
||||
rule_fars=rule_fars,
|
||||
hr=HomophoneReplacerConfig(
|
||||
dict_dir=hr_dict_dir,
|
||||
lexicon=hr_lexicon,
|
||||
rule_fsts=hr_rule_fsts,
|
||||
),
|
||||
)
|
||||
|
||||
self.recognizer = _Recognizer(recognizer_config)
|
||||
@@ -460,6 +477,9 @@ class OnlineRecognizer(object):
|
||||
rule_fsts: str = "",
|
||||
rule_fars: str = "",
|
||||
device: int = 0,
|
||||
hr_dict_dir: str = "",
|
||||
hr_rule_fsts: str = "",
|
||||
hr_lexicon: str = "",
|
||||
):
|
||||
"""
|
||||
Please refer to
|
||||
@@ -526,8 +546,8 @@ class OnlineRecognizer(object):
|
||||
zipformer2_ctc_config = OnlineZipformer2CtcModelConfig(model=model)
|
||||
|
||||
provider_config = ProviderConfig(
|
||||
provider=provider,
|
||||
device=device,
|
||||
provider=provider,
|
||||
device=device,
|
||||
)
|
||||
|
||||
model_config = OnlineModelConfig(
|
||||
@@ -563,6 +583,11 @@ class OnlineRecognizer(object):
|
||||
decoding_method=decoding_method,
|
||||
rule_fsts=rule_fsts,
|
||||
rule_fars=rule_fars,
|
||||
hr=HomophoneReplacerConfig(
|
||||
dict_dir=hr_dict_dir,
|
||||
lexicon=hr_lexicon,
|
||||
rule_fsts=hr_rule_fsts,
|
||||
),
|
||||
)
|
||||
|
||||
self.recognizer = _Recognizer(recognizer_config)
|
||||
@@ -587,6 +612,9 @@ class OnlineRecognizer(object):
|
||||
rule_fsts: str = "",
|
||||
rule_fars: str = "",
|
||||
device: int = 0,
|
||||
hr_dict_dir: str = "",
|
||||
hr_rule_fsts: str = "",
|
||||
hr_lexicon: str = "",
|
||||
):
|
||||
"""
|
||||
Please refer to
|
||||
@@ -650,8 +678,8 @@ class OnlineRecognizer(object):
|
||||
)
|
||||
|
||||
provider_config = ProviderConfig(
|
||||
provider=provider,
|
||||
device=device,
|
||||
provider=provider,
|
||||
device=device,
|
||||
)
|
||||
|
||||
model_config = OnlineModelConfig(
|
||||
@@ -681,6 +709,11 @@ class OnlineRecognizer(object):
|
||||
decoding_method=decoding_method,
|
||||
rule_fsts=rule_fsts,
|
||||
rule_fars=rule_fars,
|
||||
hr=HomophoneReplacerConfig(
|
||||
dict_dir=hr_dict_dir,
|
||||
lexicon=hr_lexicon,
|
||||
rule_fsts=hr_rule_fsts,
|
||||
),
|
||||
)
|
||||
|
||||
self.recognizer = _Recognizer(recognizer_config)
|
||||
@@ -707,6 +740,9 @@ class OnlineRecognizer(object):
|
||||
rule_fsts: str = "",
|
||||
rule_fars: str = "",
|
||||
device: int = 0,
|
||||
hr_dict_dir: str = "",
|
||||
hr_rule_fsts: str = "",
|
||||
hr_lexicon: str = "",
|
||||
):
|
||||
"""
|
||||
Please refer to
|
||||
@@ -775,8 +811,8 @@ class OnlineRecognizer(object):
|
||||
)
|
||||
|
||||
provider_config = ProviderConfig(
|
||||
provider=provider,
|
||||
device=device,
|
||||
provider=provider,
|
||||
device=device,
|
||||
)
|
||||
|
||||
model_config = OnlineModelConfig(
|
||||
@@ -806,6 +842,11 @@ class OnlineRecognizer(object):
|
||||
decoding_method=decoding_method,
|
||||
rule_fsts=rule_fsts,
|
||||
rule_fars=rule_fars,
|
||||
hr=HomophoneReplacerConfig(
|
||||
dict_dir=hr_dict_dir,
|
||||
lexicon=hr_lexicon,
|
||||
rule_fsts=hr_rule_fsts,
|
||||
),
|
||||
)
|
||||
|
||||
self.recognizer = _Recognizer(recognizer_config)
|
||||
|
||||
Reference in New Issue
Block a user