Fix displaying streaming speech recognition results for Python. (#2196)

This commit is contained in:
Fangjun Kuang
2025-05-09 21:48:49 +08:00
committed by GitHub
parent a6834f6556
commit 4a833a7547
8 changed files with 81 additions and 50 deletions

View File

@@ -74,8 +74,8 @@ def main():
stream = recognizer.create_stream()
last_result = ""
segment_id = 0
display = sherpa_onnx.Display()
with sd.InputStream(channels=1, dtype="float32", samplerate=sample_rate) as s:
while True:
samples, _ = s.read(samples_per_read) # a blocking read
@@ -88,13 +88,14 @@ def main():
result = recognizer.get_result(stream)
if result and (last_result != result):
last_result = result
print("\r{}:{}".format(segment_id, result), end="", flush=True)
display.update_text(result)
display.display()
if is_endpoint:
if result:
print("\r{}:{}".format(segment_id, result), flush=True)
segment_id += 1
display.finalize_current_sentence()
display.display()
recognizer.reset(stream)