如何解决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 网站。它们中的任何一个都会帮助我实现目标。
解决方法
尝试将 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")
这应该有效并且应该比您的代码更好。试试看。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。