python - 在没有麦克风小部件的情况下使用 OSX 语音识别

标签 python macos dictation

有没有办法在没有屏幕麦克风小部件的情况下在 OSX 上使用语音命令,无论是在特定应用程序的基础上还是在系统范围内?

我目前正尝试在 OSX 上用 Python 构建一个语音识别应用程序,我可以在玩 Elite 时使用它来控制游戏内功能和我的音乐播放器。我找到了这个 fantastic example 我会建立起来,我发现了一个 method以防止它干扰游戏音频。

我遇到的问题是,使用语音识别时屏幕上的小部件会干扰玩全屏游戏。我了解小部件的隐私/安全原因,但有什么方法可以“选择退出”吗?

回答不需要使用 Python,但如果会的话可以加分!

最佳答案

tl;dr 答案是“可能是的,请尝试让您的应用全屏显示”。

关于识别语音的文档[1] 暗示屏幕上的麦克风是非可选的:

When speech recognition is activated, an on-screen microphone and (optionally) the Speech Commands window appear.

但是,NSSpeechRecognizer 文档明确提到[2] 全屏应用与屏幕麦克风兼容(强调我的):

Setting [blocksOtherRecognizers] to YES effectively takes over the computer at the expense of other applications using speech recognition, so you should use it only in circumstances that warrant it, such as when listening for a response important to overall system operation or when an application is running in full-screen mode (such as games and presentation software).

我认为,这意味着如果您的应用(使用语音识别的应用)是全屏的,那么麦克风小部件将不会显示。您是否可以同时运行多个全屏应用程序是个问题——您可以尝试研究相关的 API[3]。

否则,您可以查看适用于 Python 的第三方语音识别库(上次我检查那里没有太多好的选项),或者尝试连接第二个显示器,看看您的应用是否可以使用麦克风小部件以及在不同屏幕上运行的游戏。

Mac 开发者库链接

关于python - 在没有麦克风小部件的情况下使用 OSX 语音识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31632071/

相关文章:

xcode - 如何设置 Xcode Organizer 以使用 x86_64 二进制文件运行?

python - 使用 Homebrew 在 Mac OS X 上构建 python-boost hello world - Makefile vs. Resolution

python - Python如何替换多个字符串中的一个子串?

python - 使用python将数据插入MYSQL数据库

macos - 文件名 os x 中的不同 utf8 编码

swift - 有没有办法重现 iOS 键盘中麦克风按钮的麦克风 Action ?

ios - 如何在 presentTextInputControllerWithSuggestions 中自定义听写 View

python - 将列表中的每个元素与数据帧中的一列列表进行比较 python

python - 使用 Regexp 过滤器的 Elasticsearch Bool 查询