您的位置:首页 > 其它

关于工作中声控功能开发(基于windows 7)的问题和总结

2015-07-28 13:43 267 查看
一个月前,接BOSS要求,做设备的声控功能,即语音识别。要求有三:1、命令可通过文件配置。2、离线语音识别。3、不改变系统显示语言的基础上实现多国语言的语音识别切换。

win7中的语音识别

以前并没有做过语音识别,只知道windows7中自带语音识别,位置在Control Panel->Ease of Access->Speech Recognition(如果您的系统中并没有这个功能,请下载驱动包自行安装),于是乎,便试玩了一下,具体命令请搜索“win7语音命令”,感觉识别效果还不错,只是不能够识别中文,以及其它国家的语言。

查看了一下它的设置Advanced speech options,但language中只有en-US一个选项,原因是中文及其它国家语言包没有安装,下载地址详见http://wenku.baidu.com/link?url=VWJqqNKN9F3GYBeoBYIJodKun2WKx1YbNSzNVEssZy4HQ-6d0MopwYyiShX2dlWTGbOAcKWLU-vEqw5Y5NreC7o_G1r7TJPYl0Pe2SY6X_S

安装后,可切换中文。

但切换到中文时却提示

原因是系统显示语言和语音识别的语言不匹配,会导致语言识别失败。

解决方法:可改变系统显示语言

但我的项目要求,不能够改变系统显示语言,回为它可能带来其它的软件系统问题。

System.speech

因为是做WPF开发,很自然地想到.net中有没有这样的语言识别,能过查看.net,发现了system.speech。原来上述win7语音识别的

代码实现在这里。具体实现可参考https://msdn.microsoft.com/zh-cn/library/system.speech.recognition.speechrecognitionengine.aspx

问题发现:

在不改变系统显示语言的基础上,虽然可以切换各国识别语言,但却没有实际效果。例如系统语言为英文,改变语音识别语言为中文,中文识别率

基本为0。为解决这个问题,还需要继续研究

Windows speech platform v11.0

为了能够利用windows speech plateform进行开发,需要下载三部分的内容:

1、Runtime https://www.microsoft.com/en-us/download/details.aspx?id=27225
2、Languages https://www.microsoft.com/en-us/download/details.aspx?id=27224
3、SDK https://www.microsoft.com/en-us/download/details.aspx?id=27226
安装顺序为 runtime->sdk->所需要的languages

在代码中需要添加对windows.speech.dll的引用。其它开发过程和System.speech几乎完全一样,但是可以解决在开发

System.speech中遇到的问题。

具体的开发过程我会在后续的博客中介绍,如果有想要一起研究的,可以联系我,第一次写博客,不当之处还请谅解。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: