【问题标题】:Disable Windows Speech Recognition using Dragonfly使用 Dragonfly 禁用 Windows 语音识别
【发布时间】:2015-02-08 16:34:57
【问题描述】:

当我只希望接受特定的 Dragonfly 命令时,是否可以禁用 Windows 语音识别 (WSR) 的某些方面?我正在使用内置的 WSR 和Dragonfly 在 Python 中编写一个(简单的)语音控制交互系统。 WSR 在不理解命令时尝试插入随机文本:

如果可能,我想在 Python/Dragonfly 中以编程方式禁用此文本插入和其他不需要的内置功能(即具有默认 WSR 活动的关键字)。下面是我的语音控制系统的一个最小功能示例:

from dragonfly.all import Grammar, CompoundRule
import dragonfly, time, pythoncom

hablador = dragonfly.get_engine()

class TimeRule(CompoundRule):
    spec = "what time is it"
    def _process_recognition(self, node, extras):
        hablador.speak(time.ctime()[11:16])

grammar = Grammar("example grammar")
grammar.add_rule(TimeRule())
grammar.load()

while True:
    pythoncom.PumpWaitingMessages()
    time.sleep(.1)

【问题讨论】:

  • 我不熟悉蜻蜓,但如果您提供一些示例输入、当前(错误)输出和所需输出,也许您可​​以获得更多帮助。
  • 我只想禁用 WSR 内置的打字功能和使用蜻蜓的 WSR 关键字(“关闭”等)
  • 仅供参考,您可以在没有 WSR 监听的情况下运行您的 python 蜻蜓脚本,或者完全关闭。也许对你来说太过分了。

标签: python speech-recognition python-dragonfly


【解决方案1】:

您可以禁用听写暂存器,但不能从 Python 中禁用。来自Microsoft help article

说“显示语音选项”,说“选项”,然后说“启用 听写便笺簿。”

为了禁用它,命令是相同的。至于覆盖或禁用内置函数,我认为这是不可能的。

【讨论】:

    【解决方案2】:

    为什么不添加一个匹配所有内容并丢弃其输入的规则?

    【讨论】:

    • 这不太可行,也没有解决内置函数,它覆盖了我使用蜻蜓添加的任何内容
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-01
    • 1970-01-01
    • 2015-10-01
    • 1970-01-01
    • 2018-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多