Теперь, это может не сработать для вас, в зависимости от того, где вы находитесь, но это помогло мне, в основном, как работает распознавание речи, так это то, что он ждет, пока не услышит что-то.Через некоторое время, если в течение некоторого времени не будет слышен звук, распознавание речи будет предполагать, что то, что вы сказали, это то, что он должен был услышать.
Вам не хватает важной части кода, котораяэто: r.adjust_for_ambient_noise(source)
То, что это делает, это то, что он берет образец окружающего шума в фоновом режиме (занимает максимум, около секунды, в зависимости от уровня шума), а затем, когда он слушает пользователя, он выигралне слушайте ничего на заднем плане, что вызывает окружающий шум.Так что в вашем случае ваш код занимает около 10-20 минут, чтобы перестать слушать без r.adjust_for_ambient_noise(source)
.
В конце ваш код должен выглядеть примерно так:
import speech_recognition as sr
r = sr.Recognizer()
with sr.Microphone() as source:
r.adjust_for_ambient_noise(source)
print("Say something!")
audio = r.listen(source)
try:
text = r.recognize_google(audio)
print("You said: {}".format(text))
except:
print("Sorry")