Fix keyword spotting. (#1689)
Reset the stream right after detecting a keyword
This commit is contained in:
@@ -1076,6 +1076,10 @@ class SherpaOnnxKeywordSpotterWrapper {
|
||||
SherpaOnnxDecodeKeywordStream(spotter, stream)
|
||||
}
|
||||
|
||||
func reset() {
|
||||
SherpaOnnxResetKeywordStream(spotter, stream)
|
||||
}
|
||||
|
||||
func getResult() -> SherpaOnnxKeywordResultWrapper {
|
||||
let result: UnsafePointer<SherpaOnnxKeywordResult>? = SherpaOnnxGetKeywordResult(
|
||||
spotter, stream)
|
||||
|
||||
@@ -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)")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user