如何禁用Windows语音识别命令?

时间:2013-06-06 03:26:18

标签: python speech-recognition

我正在用python创建一个程序,允许你用windows语音识别来执行命令,唯一的问题是我不希望语​​音识别使用他们的默认命令。有没有办法用python禁用它或只是完全禁用它。我正在使用pyspeech for python。

2 个答案:

答案 0 :(得分:2)

嗯,您需要的是进程内识别引擎,PySpeech使用共享识别引擎。所以你需要稍微修改一下PySpeech。变化

_recognizer = win32com.client.Dispatch("SAPI.SpSharedRecognizer")

_recognizer = win32com.client.Dispatch("SAPI.SpInprocRecognizer")

并且在startlistening(phraselist,callback)中,您需要附加音频流(通过_recognizer。SetInput)和重新引擎(通过_recognizer。SetRecognizer)。不幸的是,我对Python不太熟悉,无法将SAPI帮助器SpGetDefaultTokenFromCategoryId(以获取默认音频流)和SpGetDefaultSharedRecognizerToken(以获得默认的重新引擎)转换为Python。

答案 1 :(得分:1)

不确定你是否还在寻找答案,但我找到了你的答案!

在第66行将代码更改为:

_recognizer = win32com.client.Dispatch("SAPI.SpInProcRecognizer")
_recognizer.AudioInputStream = win32com.client.Dispatch("SAPI.SpMMAudioIn")

在第112行将代码更改为:

_ListenerBase = win32com.client.getevents("SAPI.SpInProcRecoContext") 

这样可以防止Windows命令运行,同时也不会显示出现的小部件。祝你好运!