科大讯飞语音识别 demo

首先区分一下语音听写和语音识别二者的不同。

      语音听写是把你说话的内容转换成文字内容,而语音识别是把你在abnf/bnf的语法文件里定义的关键词识别出来。

显然如果你是想用在输入法中的话当然是使用前者,如果你想打电话,发控制家电的指令当然用后者。


接下来我简单的介绍下离线识别的内容,本人刚研究两三天,掌握的也比较浅,有不妥之处,还望指出。


同样第一步是把准备工作做好,加载语音识别包,加入相关权限(这部分内之前的博客里提到过,这里就不赘述)。

其中在线识别和离线识别包有点不同,离线识别包要多一个common.jet.这个文件是要收费的,不过可以先下载体验版的先用着。


然后就是code了,第一步初始化,当然你要有appid,没有的可以去讯飞官网申请。

SpeechUtility.createUtility(OnLineReg.this, SpeechConstant.APPID +"=12345678"); 
</pre><pre name="code" class="html">2.创建SpeechRecognizer对象,并得到语法文件<pre name="code" class="html">mAsr = SpeechRecognizer.createRecognizer(context, mInitListener);//离线识别语音初始化监听
mLocalGrammar=FucUtil.readFile(this,"call.bnf","utf-8");//这里使用的离线语法文件

 

3.构建语法文件

if (mEngineType.equals(SpeechConstant.TYPE_LOCAL)){
			mAsr.setParameter(SpeechConstant.TEXT_ENCODING, "utf-8");
			mAsr.setParameter(SpeechConstant.ENGINE_TYPE, mEngineType);
			ret = mAsr.buildGrammar("bnf", mLocalGrammar , localGrammarListener);
					if (ret != ErrorCode.SUCCESS){
					Log.d(TAG,"语法构建失败,错误码: " + ret);
					}else{
					Log.d(TAG,"语法构建成功");
				         }
4,设置参数并启动监听

//设置返回值数据格式
			mAsr.setParameter(SpeechConstant.RESULT_TYPE, "json");
			//设置本地识别使用语法id
			mAsr.setParameter(SpeechConstant.LOCAL_GRAMMAR, "call");
			//设置本地识别的门限值
			mAsr.setParameter(SpeechConstant.ASR_THRESHOLD, "30");<pre name="code" class="html">                ret = mAsr.startListening(mRecognizerListener);
		Log.d(TAG,"语法构建成功 " + ret);	
		}
		if (ret != ErrorCode.SUCCESS) {
			if(ret == ErrorCode.ERROR_COMPONENT_NOT_INSTALLED){
				//未安装则跳转到提示安装页面
				Log.d(TAG,"未安装则跳转到提示安装页面 " + ret);	
			}else {
				Log.d(TAG,"识别失败,错误码: " + ret);	
			}
		}
demo 的bnf 文件
<pre name="code" class="html">#BNF+IAT 1.0 UTF-8;
!grammar order;
!slot <contact>;
!slot <callPre>;
!slot <callPhone>;
!slot <callTo>;
!start <callStart>;
<callStart>:[<callPre>][<callTo>]<contact><callPhone>|[<callPre>]<callPhone>[<callTo>]<contact>;
<contact>:张海洋;
<callPre>:我要|我想|我想要;
<callPhone>:打电话;
<callTo>:给;

分享的很简单,具体内容可以参考讯飞语音开发文档和我写的离线识别demo,离线识别体验包三个月内有效。

另外下载demo以后请把appid改为开发者申请的appid。

http://download.csdn.net/detail/t03330130/8944945

 
 



  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
科大讯飞语音识别demo(离线)是基于科大讯飞公司开发的一款语音识别技术的演示版本。通过这个demo,我们可以快速了解到科大讯飞语音识别的基本功能和特点。 首先,科大讯飞语音识别demo(离线)提供了离线语音识别的能力,即在没有网络连接的情况下也能进行语音识别。这在某些特殊环境中非常有用,如没有网络覆盖的地区或者需要保护隐私的场合。 其次,这个demo支持多语种的语音识别,可以识别包括中文、英文和其他一些主要语种在内的多种语言。这对于用户来说非常方便,无论是在国内还是国外,都能够得到准确的语音识别结果。 此外,科大讯飞语音识别demo(离线)还提供了一些自定义的功能,如识别结果的输出格式可以进行调整,可以根据用户的需求输出文字、拼音或者音素等不同形式的识别结果。同时,还可以设置一些参数,如语速、音量等,来调整识别的效果。 最后,科大讯飞语音识别demo(离线)还具备良好的稳定性和准确性。科大讯飞作为国内领先的语音识别技术提供商,其语音识别技术在行业内享有很高的声誉。在这个demo中,用户可以体验到科大讯飞的最新技术成果,享受到高质量的语音识别体验。 总结来说,科大讯飞语音识别demo(离线)是一款功能丰富、稳定准确的语音识别演示版本。通过这个demo,用户可以快速了解并体验科大讯飞语音识别技术的优势和特点,为进一步应用和开发提供了便利。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值