В настоящее время я просто проверяю идею чего-то простого, используя в качестве примера программу тренировки. Я очень плохо знаком с Python, и это больше испытание, чем что-либо еще. То, что я хочу, чтобы это произошло, это открыть окно с тренировкой (просто метка tkinter), но затем пассивно в фоновом режиме запустить команду распознавания речи, чтобы поймать человека, говорящего «следующий». Мне не интересно, чтобы люди говорили мне, как сделать другие вещи более эффективными, потому что я знаю, что это плохо.
Мне просто хотелось бы, чтобы команда SpeechRecognition1
выполнялась пассивно, пока отображается метка "5 pressups"
. Есть ли способ сделать это?
from tkinter import *
import sys
import speech_recognition as sr
def NextWorkout1():
workout1.destroy()
Workout2()
def Workout1():
global workout1
workout1 = Tk()
workout1.geometry("300x44")
workout1.configure(background="lightblue")
workout1.resizable(0,0)
workout1.title("Pressups")
insLabel = Label(workout1, text="5 pressups", fg="red", bg="lightblue", font="Arial 25 bold")
insLabel.pack()
workout1.mainloop()
def Workout2():
global workout2
workout2 = Tk()
workout2.geometry("300x50")
workout2.configure(background="lightblue")
workout2.resizable(0,0)
workout2.title("Starjumps")
insLabel = Label(workout2, text="15 starjumps", fg="red", bg="lightblue", font="Arial 25 bold")
insLabel.pack()
workout2.mainloop()
def SpeechRecognition1():
r = sr.Recognizer()
with sr.Microphone() as source:
audio = r.listen(source)
for i in range(1):
command = (r.recognize_google(audio))
if command == "next":
NextWorkout1()
else:
print("hi")
def SpeechRecognition2():
global WorkoutNumber
WorkoutNumber = 0
r = sr.Recognizer()
with sr.Microphone() as source:
audio = r.listen(source)
for i in range(1):
command = (r.recognize_google(audio))
if command == "next":
NextWorkout2()
else:
print("hi")
Workout1()