Speech_recognition ".listen (source)" func пытается "прослушать" даже после того, как я перестал говорить.Проблема появляется только второй раз признания - PullRequest
0 голосов
/ 12 мая 2019

Вторая команда «audio = r.listen (source)» продолжает «слушать» даже после того, как я перестал говорить, и других звуков нет.Иногда второе распознавание работает (заканчивает слушать и печатает результат), иногда нет (слушает бесконечно), хотя я говорю на той же громкости и в той же настройке.Первое признание всегда работает хорошо.

Попытка увеличить порог в соответствии с рекомендациями автора на официальной странице GitHub - результат тот же, или разница настолько мала, что я ее не замечаю: r.dynamic_energy_threshold = 6000 Ограничение по времени не является хорошим решением вмое дело.Это работает, но мне нужно прекратить прослушивание после того, как речь превысила

import speech_recognition as sr
text = ""
audio = None
r = sr.Recognizer()
r.dynamic_energy_threshold = 6000
with sr.Microphone() as source:

    print("Listening...")
    audio = r.listen(source)
    print("ok")
    try:
        text = r.recognize_google(audio, language="ru-RU")
        print("You said : {}".format(text))
    except sr.UnknownValueError:
        print("Google Speech Recognition could not understand audio")
    except sr.RequestError as e:
        print("Could not request results from Google Speech Recognition service; {0}".format(e))

#**********************************
# Trying to do the same second time
#**********************************

text = ""
audio = None
with sr.Microphone() as source:
    print("Listening...")
    audio = r.listen(source)
    print("ok")
    try:
        text = r.recognize_google(audio, language="ru-RU")
        print("You said : {}".format(text))
    except sr.UnknownValueError:
        print("Google Speech Recognition could not understand audio")
    except sr.RequestError as e:
        print("Could not request results from Google Speech Recognition service; {0}".format(e))

Я ожидал, что второе распознавание сработает так же, как и в первый раз, но на самом деле оно зависает при прослушивании источника.

...