Speech_recognition

Как сделать код в Speech_Recognition, чтобы, если он не мог распознать речь, он снова начинал слушать и распознавать речь, пока не сможет это сделать. Желательно, чтобы код работал с использованием "while".

import speech_recognition as sr
r = sr.Recognizer()
with sr.Microphone(device_index=1) as source:
    r.adjust_for_ambient_noise(source)
    audio = r.listen(source)
    mic_text = r.recognize_google(audio, language="ru-RU")
print(mic_text)

Ответы (1 шт):

Автор решения: Clark Devlin

Код воспроизвести ваш не могу, к сожалению, но по идее будет так

import speech_recognition as sr
r = sr.Recognizer()
def get_speech():
    with sr.Microphone(device_index=1) as source:
        r.adjust_for_ambient_noise(source)
        audio = r.listen(source)
        try:
            mic_text = r.recognize_google(audio, language="ru-RU")
            print(mic_text)
            return True
        except sr.UnknownValueError:
            return False

while True:
    value = got_speech()
    if value:
        break
    else:
        value = got_speech()
→ Ссылка