распознавание речи прекратилось, если я что-то не сказал - PullRequest
1 голос
/ 06 ноября 2019

Хотел создать 2 кнопки по одной, чтобы начать распознавание речи и продолжать до тех пор, пока я не нажму на кнопку "Готово". проблема заключается в том, что когда я нажимаю кнопку «Пуск» и не говорит что-то, оно останавливается:

import tkinter as tk
import speech_recognition as sr

window = tk.Tk()
window.title("Voice to Text")
window.geometry("300x350")

def startvoice():
    r = sr.Recognizer()
    with sr.Microphone() as source:
        print("speak now")
        audio = r.listen(source)
    try:
        startvoice.voice2text = r.recognize_google(audio)
        print("you said:{}".format(startvoice.voice2text))
    except:
        print("Your voice not clear")

def finished():
    text_field.focus()
    text_field.delete('1.0', tk.END)
    text_field.insert('1.0', startvoice.voice2text)

text_field = tk.Text(master=window, height=20, width=40)
text_field.grid(column=0, row=2)


button1 = tk.Button(text="Start", width=16, command=startvoice)
button1.grid(column=0, row=0)

button1 = tk.Button(text="finish", width=16, command=finished)
button1.grid(column=0, row=1)


window.mainloop()

1 Ответ

0 голосов
/ 06 ноября 2019

Согласно документам, метод listen имеет параметр тайм-аута, который, вероятно, является тем, что вы ищете, например,

audio = r.listen(source, timeout=60)

позволит вам за минуту до того, как сдаться.

...