diff --git a/sherpa-onnx/python/csrc/online-recognizer.cc b/sherpa-onnx/python/csrc/online-recognizer.cc index 02ab95e6..bb8aba97 100644 --- a/sherpa-onnx/python/csrc/online-recognizer.cc +++ b/sherpa-onnx/python/csrc/online-recognizer.cc @@ -14,7 +14,12 @@ namespace sherpa_onnx { static void PybindOnlineRecognizerResult(py::module *m) { using PyClass = OnlineRecognizerResult; py::class_(*m, "OnlineRecognizerResult") - .def_property_readonly("text", [](PyClass &self) { return self.text; }); + .def_property_readonly( + "text", [](PyClass &self) -> std::string { return self.text; }) + .def_property_readonly( + "tokens", [](PyClass &self) -> std::vector { return self.tokens; }) + .def_property_readonly( + "timestamps", [](PyClass &self) -> std::vector { return self.timestamps; }); } static void PybindOnlineRecognizerConfig(py::module *m) { diff --git a/sherpa-onnx/python/sherpa_onnx/online_recognizer.py b/sherpa-onnx/python/sherpa_onnx/online_recognizer.py index 20a84d7d..bcfe1da3 100644 --- a/sherpa-onnx/python/sherpa_onnx/online_recognizer.py +++ b/sherpa-onnx/python/sherpa_onnx/online_recognizer.py @@ -149,6 +149,12 @@ class OnlineRecognizer(object): def get_result(self, s: OnlineStream) -> str: return self.recognizer.get_result(s).text.strip() + def tokens(self, s: OnlineStream) -> List[str]: + return self.recognizer.get_result(s).tokens + + def timestamps(self, s: OnlineStream) -> List[float]: + return self.recognizer.get_result(s).timestamps + def is_endpoint(self, s: OnlineStream) -> bool: return self.recognizer.is_endpoint(s)