Вторая команда «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))
Я ожидал, что второе распознавание сработает так же, как и в первый раз, но на самом деле оно зависает при прослушивании источника.