拦截来自OS X语音识别实用程序的输入

时间:2015-05-25 11:34:03

标签: objective-c macos api speech-recognition

这个问题来自OS X Yosemite (10.10) API for continuous speech recognition

OSX现在具有出色的连续语音识别功能。但它似乎没有公开任何API。我正在构建自定义HCI工具包,我需要捕获这个语音输入才能处理它。

如何拦截?

我的第一个想法是,它可能会创建一些虚拟键盘设备,通过它发送按键/按键事件。如果是这种情况我可以使用IOKit拦截,但枚举我的键盘设备它不会出现。所以它必须是更高层次的东西。

请注意我正在添加'黑客'标签,因为它似乎没有现成的路径 - 这显然是苹果公司无意提供的。

编辑:
How to use DictationServices.framework
Can I use OS X 10.8's speech recognition/dictation without a GUI?

1 个答案:

答案 0 :(得分:2)

可悲的是,NSSpeechRecognizer只侦听一系列命令(我提到这一点,因为你在链接的问题中提到了它)。我已经看了几种不同的方式来捕捉输入,但他们都是非常贫穷的。

拦截"拦截"最受欢迎的方式语音是触发听写命令( fn + fn ,除非用户已经改变它)并在文本字段中输入口述文本。不完全优雅,特别是对于HCI套件。

如果您感觉活泼,可以查看私有框架DictationServices,但所有标准警告都适用:App Store拒绝,"这里是龙,&#34 ;等