Я делаю голосовой помощник с Python. Я даю голосовые команды помощнику. Есть несколько предопределенных предложений и ответов. Однако, если ранее в коде были определены две команды, они начинают работать одновременно. Как я могу предотвратить это. Например, если в предложении встречаются команды, который час (saat kaç) и выключение помощника (asistan kapan), они выполняют обе функции. Вместо этого я воспринял две команды помощника, сколько сейчас времени и помощник отключился. Как я могу заставить меня задавать вопросы, например, какой из них вы хотите, чтобы я сделал?
import ...
r = sr.Recognizer()
def record(ask=False):
with sr.Microphone() as source:
if ask:
speak(ask)
audio = r.listen(source)
voice = ''
try:
voice = r.recognize_google(audio, language='tr-TR')
except sr.UnknownValueError:
print("anlayamadım") #anlayamadım = i couldn't understand
except sr.RequestError:
speak("sistem çalışmıyor") #sistem çalışmıyor= system is not work
return voice
def response(voice):
if 'saat kaç' in voice: #saat kaç = what time is it
speak(datetime.now().strftime('%H:%M:%S'))
if 'Asistan kapan' in voice: #asistan kapan = assistant shutdown
speak("görüşürüz") #görüşürüz = bye
exit()
#The command that consists of voice responses in the range of 1, 10000 files and deletes after the answer is answered
def speak(string):
tts = gTTS(string, lang='tr')
rand = random.randint(1, 10000)
file = 'audio' + str(rand) + '.mp3'
tts.save(file)
playsound(file)
os.remove(file)
speak("nasıl yardımcı olabilirim") #nasıl yardımcı olabilirim = how can i help you
time.sleep(1)
while True:
voice = record()
print(voice)
response(voice)