Как вы можете остановить прослушивание программы, как только перестанете говорить? - PullRequest
0 голосов
/ 27 мая 2019

Я делаю простую программу для прослушивания моего микрофона и с помощью API Google преобразую его в текст.Все идет хорошо, но моя проблема в том, что, когда я перестаю говорить, программа продолжает слушать, и через несколько секунд после того, как я перестал говорить, она останавливается.

Я знаю, что это, вероятно, проблема с моим шумом на заднем плане, хотя яу меня есть синий йети-микрофон, так что это не должно происходить, но я все же попытался отрегулировать шум, и все же он показал тот же результат.

import speech_recognition as sr

# obtain audio from the microphone
r = sr.Recognizer()
with sr.Microphone(device_index = 1) as source:
    print("Say something!")
    #audio = r.adjust_for_ambient_noise(source) - Tried also that
    audio = r.listen(source)
    print('Stopped listening!')
try:
    print("Google Speech Recognition thinks you said " + r.recognize_google(audio, language="he-HE"))
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))

Как и ожидалось, программа продолжает слушать, даже когда я не говорю занесколько секунд, что делает его действительно медленным и плохим .. Спасибо за помощь!

1 Ответ

0 голосов
/ 27 мая 2019

Вы можете попробовать настроить атрибут pause_threshold класса Recognizer. По умолчанию установлено значение 0.8 Нашел информацию, посмотрев исходный код Recognizer здесь: https://github.com/Uberi/speech_recognition/blob/350397d2fb5db318c877f29ee3dc6e6cbf4a393d/speech_recognition/init.py#L508

...