可供使用的语音识别有Google, 讯飞,OpenEars,微软。
这些都是通过网络上了解到的,可能有所差异。简单的聊一下各个的优缺点。这是我个人总结各个大家的见解,有可能有所差异。会随着了解的深入实时更新的 。
Google:提供了一个在线语音识别的API接口,通过该API可以进行中文、英文等语言的识别
优点:
1,语音识别引擎庞大,识别精度很高,适用于文本语音识别。提供多国语言的语音识别。
2.,任何平台都可以进行访问,容易使用。
缺点
1,API未开放,未能获知具体开发细节。
2,识别引擎位于服务器端,识别的速度和网络质量有关,识别速度较慢。
3,待识别音频的格式、大小、时长的限制。
4,可能有时候政治问题影响 不能访问google,则影响整体的性能。
MicrosoftSpeech SDK:微软公司提供在Windows平台上开发语音识别和语音合成应用程序的开发包,简称为SAPI,内含SR(Speech Recognition)和SS(Speechsynthesis)引擎,因此可以很方便地在自己的应用程序中添加这些功能。
优点
1,基于COM组件,便于与DirectShow中的组件整合。
2,语音识别引擎位于本地,便于访问,识别速度较快。
3,待识别音频的大小、时长无限制。
缺点
1,缺少其他平台的支持,仅支持windows平台。
2,语音识别引擎不够庞大,识别精准度较低。
3,仅提供中日英三种语言的语音识别功能。
科大讯飞:实现基于HTTP协议的语音应用服务器,支持语音合成、语音听写、语音识别、声纹识别等服务,提供基于移动平台和PC上的语音客户端子系统,内部集成音频处理和音频编解码模块,提供关于语音合成、语音听写、语音识别和声纹识别完善的API(http://open.voicecloud.cn/)。
优点
1,支持平台丰富,各个平台上都有相应的详细SDK文档
2,语音识别引擎较庞大,对中文的识别精度很高。
3,具端点检测功能,便于划分识别文本的句子。
缺点
1,识别引擎位于服务器端,须远程访问,识别速度较慢。但是现在部分平台(比如安卓可以实现离线的语音识别了。其他的平台也正在尝试。)
2,对语言支持不如Google,目前仅支持中文听写。
3,需要使用1028端口,在某些地方会有使用限制。
4,当软件用户达到百万次后,需要开始收费(这是比较不好的,尤其是比较大的公司使用一定要注意,万一中间人家不给你返回了,到时候协商就是钱的问题了)。
OpenEars, http://www.politepix.com/openears/
试了一下他的Demo,发现只能识别限定的词,如up, left, right, turn, go.(感觉比较适用于游戏,就是那种控制方向的游戏,但又不能是那种反应很快的游戏,因为识别的速度跟不上)
优点:
1,免费
2, 不依赖网络运行。
缺点:
1, 只能识别限定的词 对于一些比较根据实时语音的就不方便了。