语法识别

在使用在线语法识别时,如果要使用已经通过官网上传(参考上文)的语法文件,则不需要再设置语法ID参数;而使用离线语法识别时,需要设置本地语法名字(在语法文件中定义)。

注:在线语法识别服务已下线,新用户无法使用。

//设置引擎类型
mAsr.setParameter( SpeechConstant.ENGINE_TYPE, engineType );

if( SpeechConstant.TYPE_LOCAL.equals(engineType) ){

   // 设置本地识别资源
    mAsr.setParameter(ResourceUtil.ASR_RES_PATH, getResourcePath());
    // 设置语法构建路径
    mAsr.setParameter(ResourceUtil.GRM_BUILD_PATH, grmPath);
    // 设置返回结果格式
    mAsr.setParameter(SpeechConstant.RESULT_TYPE, mResultType);
    // 设置本地识别使用语法id
    mAsr.setParameter(SpeechConstant.LOCAL_GRAMMAR, grammarName );
}else{
    //使用网站上传的语法文件时,只明确指定 SUBJECT,不用指定语法ID;使用在应用上传的则相反。
    if( usingWebsideGrammar ){
        mAsr.setParameter( SpeechConstant.CLOUD_GRAMMAR, null );
        mAsr.setParameter( SpeechConstant.SUBJECT, "asr" );
    }else{
        mAsr.setParameter( SpeechConstant.CLOUD_GRAMMAR, cloudGrammarID );
    }//end of if-else using grammar in webside or not
}//end of if-else local or not

ret = mAsr.startListening( mRecognizerListener );

此外,本地引擎在语法文件构建后,还可以通过更新词典,更新指定规则中的词语,如联系人等,见后面更新词典章节内容。此外,MSC SDK 还提供了录音交互的对话框控件,参考后面识别对话框的内容。

Copyright © iflytek.com 2018 all right reserved,powered by Gitbook该文件修订时间: 2018-07-13 09:08:20

results matching ""

    No results matching ""