В настоящее время я пытаюсь заставить модуль voice_recognition слушать в фоновом режиме, когда пользователь нажимает кнопку, созданную с помощью py qt. У меня есть методы инициализации и обратного вызова в классе, однако, когда я пытаюсь прослушать микрофон, похоже, он ничего не регистрирует, даже не выводит ошибки.
class VoiceRecognitionWidget(ScriptedLoadableModuleWidget):
def callback(self, recognizer, audio):
try:
print(recognizer.recognize_google(audio))
# handles any api/voice errors errors
except sr.RequestError:
print( "There was an issue in handling the request, please try again")
except sr.UnknownValueError:
print("Unable to Recognize speech")
def onApplyButton(self):
#self.displayLabel.setText("Listening for speech....")
self.recognizer = sr.Recognizer()
try:
self.microphone = sr.Microphone()
except(IOError):
print("ERROR: No default microphone. Check if microphone is plugged in or if you have a default microphone set in your sound settings.")
self.errors.setText("ERROR: No default microphone. Check if your microphone is plugged in or if you have a default microphone set in your sound settings.")
with self.microphone as source:
self.recognizer.adjust_for_ambient_noise(source)
# audio = self.recognizer.listen(source)
stop_listening = self.recognizer.listen_in_background(self.microphone, self.callback)
Микрофон работает, когда я просто слушаю его нормально, когда я нажимаю кнопку, просто когда я пытаюсь заставить его постоянно слушать, он, похоже, ничего не делает. Я также попытался создать распознаватель и микрофон в функции того же класса, которая инициализирует весь графический интерфейс (не показан), но это тоже не сработало. Любая помощь будет оценена по достоинству.