У меня есть код, который отобразит текст из распознавания речи в текстовое поле.распознавание речи python в Tkinter
Проблема: он просто прослушивает один раз затем останавливается. Мне нужно listen it till,i close the Tkinter
.
Если я говорю ясно, то он должен очистить содержимое в текстовом поле. Моя проблема заключается в том, что я не могу напрямую передать содержимое в Tkinter. Он слушает после выхода Shell.
Пожалуйста, помогите мне решить мою проблему.
Coding:
from Tkinter import *
import pyaudio
import tkMessageBox
import Tkinter as tki
import tkFileDialog as th1
import speech_recognition as sr
r = sr.Recognizer()
with sr.Microphone() as source:
audio = r.listen(source)
try:
a=(r.recognize(audio))
print a
except LookupError:
a=("Could not understand audio")
print a
class App(object):
def __init__(self,root):
self.root = root
# create a Frame for the Text and Scrollbar
txt_frm = tki.Frame(self.root, width=900, height=900)
txt_frm.pack(fill="both", expand=True)
# ensure a consistent GUI size
txt_frm.grid_propagate(False)
# create first Text label, widget and scrollbar
self.lbl1 = tki.Label(txt_frm, text="Type")
self.lbl1.grid(row=0,column=0,padx=2,pady=2)
self.txt1 = tki.Text(txt_frm, borderwidth=3, relief="sunken", height=4,width=55)
self.txt1.config(font=("consolas", 12), undo=True, wrap='word')
self.txt1.grid(row=25, column=7, sticky="nsew", padx=2, pady=2)
self.txt1.insert(0.0,a)
def clearBox(self):
if a == "clear":
self.txt1.delete('1.0', 'end')
root = tki.Tk()
app = App(root)
root.mainloop()
Для решения этой проблемы вам нужна нить, и поскольку Tkinter не знает про потоки, вам необходимо выполнить последующую функцию для опроса изменений/распознаваний в вашем mainloop. – deets
@deets вы можете помочь мне с небольшим примером, связанным с моим запросом? –
@sarkite: Если у вас есть PyAudio для работы с speech_recognition, как вы, кажется, сделали здесь, не могли бы вы либо закрыть, либо лучше ответить на другой вопрос. http://stackoverflow.com/questions/26666216/pyaudio-build-and-install-python-portaudio-bindings-first – tom10