Как не вываливаться из цикла после ответа
Други, как сделать что бы цикл не завершался после инпута с микрофона? (голосовой помощник) Сказал что либо... получил ответ. хочется что бы скрипт дальше слушал микрофон, а не завершался по True. выход хочу выполнить отдельно через elif с break
import speech_recognition as sr
import pyttsx3
import random
mic = sr.Microphone(device_index=2)
r = sr.Recognizer()
ansver_list = ['тест', 'тест1', 'тест2']
def speek(words):
engine = pyttsx3.init()
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[3].id)
engine.say(words)
engine.runAndWait()
with mic as source:
print(speek(words='тест3'))
audio = r.listen(source=mic)
query = r.recognize_google(audio_data=audio, language='ru-RU').lower()
hello = ['тест', 'тест', 'тест']
odds1 = ['тест', 'тест', 'тест', 'тест']
if query in hello:
print(speek(words=random.choice(ansver_list)))
elif query in odds1:
print(speek(words='тест'))
elif query == 'тест':
print(speek(words='тест'))
else:
print(speek(words='тест'))