Функция микрофона в питоне не перестает слушать

Я делаю чат-бот на питоне 3. Я использовал функцию «Микрофон» для записи своего голоса. Если я подключаю наушники, то все работает отлично. Но без наушников, если я что-то говорю, он принимает ввод (слушает меня), но не прекращает слушать, пока я не подключу наушники и не скажу что-нибудь. Почему он не перестает слушать меня без наушников? Вот мой фрагмент кода-

r = sr.Recognizer()
with sr.Microphone() as source:
    print("Listening....")
    r.pause_threshold = 1
    audio = r.listen(source)

Я хочу, чтобы чат-бот перестал слушать и начал выполнять в течение 1 секунды, когда я не подключил наушники.

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
759
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

Спасибо @Nitesh, но я нашел решение своего вопроса и разместил его здесь. Возможно, ваше решение поможет другим учащимся в будущем, не удаляйте его.

Utpal Gaurav 30.05.2019 12:51
Ответ принят как подходящий

Если подсказка никогда не появляется, ваш микрофон, скорее всего, улавливает слишком много окружающего шума. Для обработки окружающего шума вам потребуется использовать метод 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)

Я исследовал в течение нескольких часов и нашел решение для моего вопроса.

Другие вопросы по теме