bvRecognizer

来自于:AC模块工作室立即使用

概述

本模块封装了百度语音识别的在线/离线识别移动端开放SDK。同时支持语音唤醒功能。语音唤醒,需要配置所需语言模型文件(基础资源文件)及官网导出的自定义唤醒词文件,配置后加载引擎,即可进行开始唤醒。语音唤醒为离线功能,需配置离线授权信息(APP_ID),加载唤醒所需语言模型文件。

使用此模块之前需先配置 config.xml 文件,方法如下

  • 配置示例:
         <!--android 配置方法-->
    <meta-data name="com.baidu.speech.APP_ID" value="10665882"/>
    <meta-data name="com.baidu.speech.API_KEY" value="M0EXftb4K00yqN4SjYrQF3Th"/>
     <meta-data name="com.baidu.speech.SECRET_KEY" value="1b010d38a92073fd7c44da733aaa5f58"/>
         <!-- iOS 配置方法 -->
  <feature name="bvRecognizer">
    <param name="ios_sr_appid" value="8989834"/>
    <param name="ios_sr_apikey" value="8MAxI5o7VjKSZOKeBzS4XtxO"/>
    <param name="ios_sr_secretkey" value="Ge5GXVdGQpaxOmLzc8fOM8309ATCz9Ha"/>
  </feature>

startListening

开始语音识别

startListening({params}, callback(ret))

params

infile:

-类型:字符串 -描述:(仅支持安卓)(可选项)音频源文件路径 (只支持 fs://)文件格式pcm

VadEndPoint:

  • 类型:数字类型;
  • 描述:(可选项)静音超时断句及长语音 ,0:开启长语音。即无静音超时断句。手动调用stopListening停止录音,>0:不开启长语音。开启VAD尾点检 测,即静音判断的毫秒数。建议设置800ms-3000ms,默认开启长语音;

language:

  • 类型:数字类型
  • 描述:(可选项)(在线)根据识别语种,搜索或输入法模型及是否需要在线语义,来选择PID。 默认:cmn-Hans-CN

    • cmn-Hans-CN 中文普通话
    • sichuan-Hans-CN 中文四川话
    • yue-Hans-CN 粤语
    • en-GB 英语

outfile:

  • 类型:字符串
  • 描述:(仅支持安卓)(可选项)保存识别过程产生的录音文件的路径 (只支持 fs://)文件格式pcm

volume:

  • 类型:布尔类型:
  • 描述:(仅支持安卓)(可选项)是否需要音量的回调,true是需要,false是不需要;默认false.

offLineSet:

  • 类型:JSON对象:
  • 描述:(可选项)离线语音识别设置,无此参数则为在线识别.
  • 内部字段:
 {
    grammarPath:''        //字符串类型;离线语音识别语法配置文件路径; 请在 [官网](http://speech.baidu.com/asr) 参考模板定义语法,下载语法文件;支持widget://和fs://
    slotData:{            //(可选项)JSON对象;动态定义覆盖离线词文件中的‘词条’ **该参数仅支持安卓**
    name:[{'王刚'},{李明}]      
    }  
 }

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{    
    status:true,           //布尔类型:true 识别成功,false失败
    result:''              // 字符串类型; 引擎返回的识别结果 status为true返回;

}

err:
- 类型:JSON 对象
- 内部字段:

{
    code:''                //数字类型:错误码  识别错误返回;
    descMessage:''         //字符串类型:错误描述信息;

}

示例代码

var bvRecognizer = api.require('bvRecognizer');
bvRecognizer.startListening({
           infile: 'fs://luyin1.pcm',
            outfile:'fs://outfile.pcm',
            VadEndPoint:0,
            language:'cmn-Hans-CN',
},function(ret){
        alert(JSON.stringify(ret));
        });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopListening

停止语音识别;

stopListening()

示例代码

var bvRecognizer = api.require('bvRecognizer');
        bvRecognizer.stopListening();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

cancel

取消语音识别;

cancel()

示例代码

var bvRecognizer = api.require('bvRecognizer');
        bvRecognizer.cancel();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setVolumeChangeListener

设置音量监听

setVolumeChangeListener(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    volume: 10  // 数字类型; 实时音量大小,单位:分贝(db)
}

示例代码

var bvRecognizer = api.require('bvRecognizer');
bvRecognizer.setVolumeChangeListener(function(ret) {
  console.log(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

startWakeup

开始唤醒

startWakeup(params,callback(ret))

params

wakeupFilePath:

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: 'start'      // 引擎开始工作(仅ios返回)
            'loaded'     // 唤醒引擎加载完成
(仅ios返回)            'triggered'  // 命中唤醒词
   wakeupWords:'百度一下' //唤醒词

}

err:

  • 类型:JSON 对象
  • 内部字段:
{
   code:200183066   //错误码
   msg:''           //错误信息

}

示例代码

var bvRecognizer = api.require('bvRecognizer');
bvRecognizer.startWakeup({
wakeupFilePath:'widget://res/WakeUp.bin'
},function(ret) {
  console.log(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopWakeup

结束唤醒

stopWakeup(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: 'unLoaded'   // 唤醒引擎卸载完成

}

示例代码

var bvRecognizer = api.require('bvRecognizer');
bvRecognizer.stopWakeup(function(ret) {
  console.log(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本