我正在使用python创建一个程序,该程序允许您使用Windows语音识别执行命令,唯一的问题是我不希望语音识别使用其默认命令。有没有办法用python禁用它,或者完全禁用它。我正在为python使用pyspeech。
2 回答
POPMUISE
TA贡献1765条经验 获得超5个赞
好吧,您需要的是一个过程内识别引擎,而PySpeech使用一个共享的识别引擎。因此,您需要稍微修改PySpeech。改变
_recognizer = win32com.client.Dispatch("SAPI.SpSharedRecognizer")
到
_recognizer = win32com.client.Dispatch("SAPI.SpInprocRecognizer")
在startlistening(phraselist,回调),您需要附加的音频流(通过_recognizer。setInput设置)和RECO引擎(通过_recognizer。SetRecognizer)。不幸的是,我对Python不够熟悉,无法将SAPI帮助程序SpGetDefaultTokenFromCategoryId(获取默认音频流)和SpGetDefaultSharedRecognizerToken(获取默认reco引擎)转换为Python。
尚方宝剑之说
TA贡献1788条经验 获得超4个赞
不知道您是否还在寻找答案,但我为您找到了答案!
在第66行,将代码更改为:
_recognizer = win32com.client.Dispatch("SAPI.SpInProcRecognizer")
_recognizer.AudioInputStream = win32com.client.Dispatch("SAPI.SpMMAudioIn")
在第112行,将代码更改为:
_ListenerBase = win32com.client.getevents("SAPI.SpInProcRecoContext")
这将阻止Windows命令运行,同时也不会显示出现的小部件。祝你好运!
添加回答
举报
0/150
提交
取消