Как заставить Recorder.text() из RealTime STT НЕ требовать ввода дважды для выхода?Python

Программы на Python
Ответить
Anonymous
 Как заставить Recorder.text() из RealTime STT НЕ требовать ввода дважды для выхода?

Сообщение Anonymous »

У меня есть программа, которая слушает мой голос, и когда я говорю «выход», она должна полностью и немедленно завершить работу программы, хотя кажется, что она делает это (не знаю, извините, как это объяснить) в первый раз, когда я говорю «выход», но затем ей требуется еще один голосовой ввод, прежде чем она фактически выключится.
ОС: Windows 11
Версия RealtimeSTT: 0.3.104
Ожидаемое поведение: я ожидал, что моя программа закроется после того, как я произнесу «выход», вместо того, чтобы произнести еще один произвольный голосовой ввод, чтобы успокоить Recorder.text().
AudioToTextRecorder() принадлежит KoljaB/RealtimeSTT, у меня возникли проблемы с поиском документации на этом сайте.
Я попросил ChatGPT помочь мне с потоками, но я не до конца понимаю, что именно происходит. здесь, но у меня есть идея.
Вот та часть, о которой я говорю, и в которой, по моему мнению, заключается проблема. Я считаю, что она зависает на text = Recorder.text(), поскольку ожидает другого голосового ввода:
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


Подробнее здесь: https://stackoverflow.com/questions/798 ... ce-to-exit
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»