我最近在创建的个人助理中实现了SpeechRecognition,但我遇到了一个问题。每当我通过扬声器播放音乐时,它都会继续听我说话,尽管它能听到我的声音,但它不会停止,因为扬声器发出的声音会使它保持激活状态。
我想,这可以像亚马逊Alexa、谷歌主页、Siri等一样,通过在说出某个关键词时静音音频来解决。据我所知,问题是SpeechRecognition无法做到这一点。
def takeCommand():
r=sr.Recognizer()
with sr.Microphone() as source:
print("Listening...")
audio=r.listen(source)
try:
statement=r.recognize_google(audio,language='en-in')
print(f"user said: {statement}n")
except Exception as e:
return "None"
return statement
给定这个代码^,我只能在子句完成后处理这些单词。我可能会尝试实现第二个搜索该关键字的脚本,但我的python技能相当初级,我宁愿看看是否能简洁地完成所有工作。如果你知道我是怎么做到的,请告诉我!
您实际上可以尝试以下操作:
首先。。。设置您的个人助理监听的持续时间。。。做那件事。。只需替换。。
audio=r.listen(source)
至
audio=r.record(source, duration=4)
您可以更改持续时间值。
第二。。。在某种程度上忽略背景噪声。。除此之外。。。只需添加以下行
r.adjust_for_ambient_noise(source)
之前
audio=r.record(source, duration=4)
如果有效,请告诉我:(