基于讯飞语音API应用开发之——离线词典构建
2014-08-19 15:34
288 查看
最近实习在做一个跟语音相关的项目,就在度娘上搜索了很多关于语音的API,顺藤摸瓜找到了科大讯飞,虽然度娘自家也有语音识别、语义理解这块,但感觉应该不是很好用,毕竟之前用过百度地图的API,有问题也找不到人帮忙解决(地图开发者群里都是潜水的)...不得不说,科大讯飞在语音这块尤其是中文识别方面做的真心不错,而且Android还支持离线识别。
讯飞官方给的文档内容很详细,在这我就不赘述了。在开发中,由于一些原因需要用到离线识别这块,就学习了一下。讯飞离线识别只支持Android系统,使用时需要安装讯飞语音+,同时还要自己写离现实别的字典(BNF)。关于BNF的文档,我会在后面放出下载连接。在这里先给个简单的BNF样例:
当要更新BNF时,确切的说应该是更新某个槽(<slot>)时,可以调用SpeechRecognize的updateLexicon。例如更新以上BNF的槽,用如下代码即可:
嗯,就是这样,语法文件其实不难写,离线词典动态更新其实也不难。
相关资源:BNF开发文档
作者:登天路
转载请说明出处:http://www.cnblogs.com/travellife/
讯飞官方给的文档内容很详细,在这我就不赘述了。在开发中,由于一些原因需要用到离线识别这块,就学习了一下。讯飞离线识别只支持Android系统,使用时需要安装讯飞语音+,同时还要自己写离现实别的字典(BNF)。关于BNF的文档,我会在后面放出下载连接。在这里先给个简单的BNF样例:
#BNF+IAT 1.0 utf-8; !grammar call; !slot <list>; !start <speech>; <speech>:<list>; <list>:盲人听书|在线音乐|影音播放|小说;
当要更新BNF时,确切的说应该是更新某个槽(<slot>)时,可以调用SpeechRecognize的updateLexicon。例如更新以上BNF的槽,用如下代码即可:
String grammar = "你好\n我好\n大家好\n广州好迪\n"; mSpeechRecognize.updateLexicon("<list>",grammar,mLexiconListener); /** * 初始化词典更新完成回调接口 */ private LexiconListener mLexiconListener = new LexiconListener() { @Override public void onLexiconUpdated(String grammarId, SpeechError errorCode) { if (errorCode == null) { Log.d(TAG, "词典更新成功!Grammar ID:" + grammarId); } else { Log.d(TAG, "词典更新失败!Error Code:" + errorCode.getErrorCode()); } } };
嗯,就是这样,语法文件其实不难写,离线词典动态更新其实也不难。
相关资源:BNF开发文档
作者:登天路
转载请说明出处:http://www.cnblogs.com/travellife/
相关文章推荐
- 基于讯飞语音API应用开发之——离线词典构建
- VC++2010基于windows Sdk for windows7 开发CrytoAPI应用--签名与验证
- VC++2010基于windows Sdk for windows7 开发CrytoAPI应用--消息加密与签名
- 《ArcGIS Runtime SDK for Android开发笔记》——(5)、基于Android Studio构建ArcGIS Android开发环境(离线部署)
- 【Qt编程】基于Qt的词典开发系列<八>--用户登录及API调用的实现
- VC++2010基于windows Sdk for windows7 开发CrytoAPI应用--加密解密文件
- 基于微软Office Communicator 2007 Automation API开发应用
- 《ArcGIS Runtime SDK for Android开发笔记》——(5)、基于Android Studio构建ArcGIS Android开发环境(离线部署)
- 《ArcGIS Runtime SDK for Android开发笔记》——(5)、基于Android Studio构建ArcGIS Android开发环境(离线部署)(转)
- 基于微软Office Communicator 2007 Automation API开发应用 推荐
- 基于微软Office Communicator 2007 Automation API开发应用
- VC++2010基于windows Sdk for windows7 开发CrytoAPI应用--签名与验证 (转)
- VC++2010基于windows Sdk for windows7 开发CrytoAPI应用--用数字证书签名消息并验证消息签名
- 《ArcGIS Runtime SDK for Android开发笔记》——(5)、基于Android Studio构建ArcGIS Android开发环境(离线部署)
- SharpStreaming项目开发纪实:构建基于RTSP协议的服务器及客户端应用(二)——服务器的业务代码实现
- SharpStreaming项目开发纪实:构建基于RTSP协议的服务器及客户端应用——准备知识(RTSP协议)
- 利用百度词典API和Volley网络库开发的android词典应用
- 基于微软Office Communicator 2007 Automation API开发 应用
- 【Qt编程】基于Qt的词典开发系列<八>--用户登录及API调用的实现
- SharpStreaming项目开发纪实:构建基于RTSP协议的服务器及客户端应用(三)——客户端的业务代码实现