Wie bekomme ich recorder.text() von RealTime STT so, dass zum Beenden KEINE zweimalige Eingabe erforderlich ist?Python

Python-Programme
Anonymous
 Wie bekomme ich recorder.text() von RealTime STT so, dass zum Beenden KEINE zweimalige Eingabe erforderlich ist?

Post by Anonymous »

Ich habe dieses Programm, bei dem es auf meine Stimme hört, und wenn ich „Beenden“ sage, sollte es das Programm vollständig und sofort beenden, obwohl es beim ersten Mal, wenn ich „Beenden“ sage, irgendwie so zu sein scheint (ich bin mir nicht sicher, wie ich es erklären soll), aber dann ist eine weitere Spracheingabe erforderlich, bevor es tatsächlich heruntergefahren wird.
Betriebssystem: Windows 11
RealtimeSTT-Version: 0.3.104
Erwartetes Verhalten: Ich habe erwartet, dass sich mein Programm schließt, nachdem ich „Beenden“ gesagt habe, anstatt eine weitere beliebige Spracheingabe sagen zu müssen, um recorder.text() zu beruhigen Idee.
Hier ist der Teil, auf den ich mich beziehe und der meiner Meinung nach das Problem ist. Ich glaube, er bleibt bei text = recorder.text() hängen, während er auf eine weitere Spracheingabe wartet:

Code: Select all

def run_transcription_service(q, stop_event):
thread_q = ThreadQueue()

def capture():
with AudioToTextRecorder() as recorder:
while not stop_event.is_set():
text = recorder.text()
thread_q.put(text)

t = threading.Thread(target=capture, daemon=True)
t.start()

while not stop_event.is_set() or not thread_q.empty():
try:
text = thread_q.get(timeout=0.1)
q.put(text)
except Empty:
continue

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post