Я делаю чат-бот на питоне 3. Я использовал функцию «Микрофон» для записи своего голоса. Если я подключаю наушники, то все работает отлично. Но без наушников, если я что-то говорю, он принимает ввод (слушает меня), но не прекращает слушать, пока я не подключу наушники и не скажу что-нибудь. Почему он не перестает слушать меня без наушников? Вот мой фрагмент кода-
r = sr.Recognizer()
with sr.Microphone() as source:
print("Listening....")
r.pause_threshold = 1
audio = r.listen(source)
Я хочу, чтобы чат-бот перестал слушать и начал выполнять в течение 1 секунды, когда я не подключил наушники.
import sys
!pip install -c conda-forge google-api-python-client
import speech_recognition as sr
r = sr.Recognizer()
r.energy_threshold = 2500
#Input your speech by listen(_)
with sr.Microphone() as source:
print('Say Something:!')
audio = r.listen(source)
print('Done!')
try:
print("You said: \n" + r.recognize_google(audio, language = 'hi-IN'))
except Exception as e:
print(e)
Выше я пробовал и работал в своем локальном. Пожалуйста, объясните немного больше о вашем запросе. Насколько я понимаю, он отлично работает с микрофоном и плохо работает, когда вы говорите без микрофона. Это может быть связано с sr.Microphone() в качестве источника.
Вы можете попробовать использовать аудиофайл в качестве источника звука -
from os import path
AUDIO_FILE = "/Path of audio file.....wav"
r = sr.Recognizer()
with sr.AudioFile(AUDIO_FILE) as source:
audio = r.record(source) # read the entire audio file
Если подсказка никогда не появляется, ваш микрофон, скорее всего, улавливает слишком много окружающего шума. Для обработки окружающего шума вам потребуется использовать метод Adjust_for_ambient_noise() класса Recognizer.
r = sr.Recognizer()
with sr.Microphone() as source:
print("Listening....")
r.adjust_for_ambient_noise(source) # This filters noise
r.pause_threshold = 1
audio = r.listen(source)
Я исследовал в течение нескольких часов и нашел решение для моего вопроса.
Спасибо @Nitesh, но я нашел решение своего вопроса и разместил его здесь. Возможно, ваше решение поможет другим учащимся в будущем, не удаляйте его.