Горячее слово SpeechRecognition не работает должным образом
Я новичок, я мало знаю о распознавании речи и горячих словах.
До сих пор я использовал модуль SpeechRecognition, но он не так точен, как:
- Мне нужно дождаться, пока программа получит доступ к моему микрофону
- Это не точно, даже сложно, я использую ambient_noise
Это то, что я пробовал до сих пор
try:
with sr.Microphone() as source:
r.adjust_for_ambient_noise(source, duration=2)
listening_audio = r.listen(source, phrase_time_limit=3)
try:
command = r.recognize_google(listening_audio, language='en-in')
self.Command.emit(command)
except sr.UnknownValueError:
print('')
except Exception as e:
print('First error:', str(e))
except Exception as e:
print("Second error:", str(e))
Мне нужна помощь, чтобы моя программа работала должным образом, или если кто-нибудь может дать мне дополнительную информацию на веб-сайте Snowboy. Любой из них поможет мне достичь моей цели.
1 ответ
Попробуйте использовать
pyttsx3
модуль с
speech_recognition
import speech_recognition as sr
import pyttsx3
engine = pyttsx3.init('sapi5')
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[0].id)
rate = engine.getProperty('rate')
engine.setProperty('rate', rate-70)
volume = engine.getProperty('volume')
engine.setProperty('volume', 1)
i = 0
n = 0
def speak(audio):
print(audio)
engine.say(audio)
engine.runAndWait()
while (i<1):
r = sr.Recognizer()
with sr.Microphone() as source:
audio = r.adjust_for_ambient_noise(source)
n=(n+1)
print("Waiting For Voice Input...")
audio = r.listen(source)
# interprete audio (Google Speech Recognition)
try:
s = (r.recognize_google(audio))
message = (s.lower())
print(message)
except sr.UnknownValueError:
print("Retry")
except sr.RequestError as e:
print("Could not request results$; {0}".format(e))
try:
speak("Sir Bad Signal")
except:
print("Sir Bad Signal")
Это должно работать и должно быть лучше вашего кода. Попробуйте.