如何解决Python语音识别音频的最小激活能级
我的用例是智能树莓派婴儿电话。只有当说出超过一定“响度”的某些词时,它才应该被激活并触发警报。就像“帮助帮助!”应该激活它,而不是“我有力量!”。
它适用于识别,我将结果保存在结果变量中。我知道我可以通过以下方式寻求帮助:
if "help" in result:
到目前为止,没问题。我也可以设置麦克风的激活能量。但效果有点差。
r.energy_threshold = 6000
我该怎么做:
跟踪当前口语的能量?
只发送数据到 谷歌(这是一个隐私问题)当某个“响度”已经 达到了吗?
类似于:
audio = r.listen(source)
if(audio.max_energy > 9000):
result = r.recognize_google(audio)
这是我目前的代码:
import speech_recognition as sr
if __name__ == "__main__":
r = sr.Recognizer()
r.energy_threshold = 6000
while True:
with sr.Microphone() as source:
print("Say something!")
audio = r.listen(source)
# recognize speech using Sphinx
try:
result = r.recognize_google(audio,language='de-De')
print("Google thinks you said " + result)
except sr.UnkNownValueError:
print("Google Could not understand audio")
except sr.RequestError as e:
print("Google error; {0}".format(e))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。