Fix keyword spotting. (#1689)

Reset the stream right after detecting a keyword
This commit is contained in:
Fangjun Kuang
2025-01-20 16:41:10 +08:00
committed by GitHub
parent b943341fb1
commit 8b989a851c
43 changed files with 813 additions and 293 deletions

View File

@@ -1076,6 +1076,10 @@ class SherpaOnnxKeywordSpotterWrapper {
SherpaOnnxDecodeKeywordStream(spotter, stream)
}
func reset() {
SherpaOnnxResetKeywordStream(spotter, stream)
}
func getResult() -> SherpaOnnxKeywordResultWrapper {
let result: UnsafePointer<SherpaOnnxKeywordResult>? = SherpaOnnxGetKeywordResult(
spotter, stream)

View File

@@ -70,6 +70,9 @@ func run() {
spotter.decode()
let keyword = spotter.getResult().keyword
if keyword != "" {
// Remember to call reset() right after detecting a keyword
spotter.reset()
print("Detected: \(keyword)")
}
}