微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 SpeechRecognition 搜索某个关键字

如何解决如何使用 SpeechRecognition 搜索某个关键字

我最近在我创建的个人助理中实施了 SpeechRecognition,但我遇到了一个问题。每当我通过扬声器播放音乐时,它都会继续听我说话,尽管它听到了我的声音,但不会停止,因为通过扬声器的声音会一直激活它。

我想这可以通过在说出某个关键字时将音频静音,以类似于 Amazon Alexa、Google Home、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)

让我知道它是否有效:)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。