baiduSpeechRecognizer
来自于:开发者
createSpeechRecognizer startListening stopListening setVolumeChangeListener cancel destroy
概述
本模块已停止更新,请使用 bvRecognizer
语音识别(Automatic Speech Recognition,ASR):也被称为自动语音识别,其目标是将人类的语音中的词汇内容转换为计算机可读的输入, 例如按键、二进制编码或者字符序列。本模块集成百度语音sdk,能够快速方便的为开发者提供语音识别技术,使用本模块需要到百度语音开放 平台去生成应用,并获取应用 id,apiKey,以及 keySecret(调用 createSpeechRecognizer 方法时,需要传入),具体申请流程请访问 百度语音官网
使用此模块之前需先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:
- 名称:baiduSpeechRecognizer
- 参数:appid, apikey, secretkey
- 配置示例:
<!-- Android 配置方法 -->
<meta-data name="com.baidu.speech.APP_ID" value="6536447"/>
<meta-data name="com.baidu.speech.API_KEY" value="8MAxI5o7VjKSZOKeBzS4XtxO"/>
<meta-data name="com.baidu.speech.SECRET_KEY" value="Ge5GXVdGQpaxOmLzc8fOM8309ATCz9Ha"/>
<!-- iOS 配置方法 -->
<feature name="baiduSpeechRecognizer">
<param name="ios_sr_appid" value="8989834"/>
<param name="ios_sr_apikey" value="8MAxI5o7VjKSZOKeBzS4XtxO"/>
<param name="ios_sr_secretkey" value="Ge5GXVdGQpaxOmLzc8fOM8309ATCz9Ha"/>
</feature>
字段描述:
appid: (必须配置)百度语音平台获取的应用id
apikey: (必须配置)百度语音平台获取的apiKey
secretkey:(必须配置) 百度语音平台获取的secretKey
模块接口
createSpeechRecognizer
创建语音识别器
createSpeechRecognizer(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true // 布尔类型; 表示初始化是否成功
}
示例代码
var speechRecognizer = api.require('baiduSpeechRecognizer');
speechRecognizer.createSpeechRecognizer(function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
startListening
开始语音识别
startListening({param}, callback(ret, err))
params
sample:
- 类型:数字
- 描述:采样率
- 取值范围:
- 8000 (离线不支持)
- 16000
infile:
- 类型:字符串
- 描述:(可选项)音频源文件路径 (只支持 fs://)
outfile:
- 类型:字符串
- 描述:(可选项)保存识别过程产生的录音文件的路径 (只支持 fs://)
baseFile:
- 类型:字符串
- 描述:(可选项)离线基础资源的路径(该资源需到百度语音平台->离线资源去下载)(只支持 fs://)
lmFile:
- 类型:字符串
- 描述:(可选项)离线垂直资源的路径(该资源需要到百度语音平台->离线资源去下载)(只支持 fs://)
grammer:
- 类型:字符串
- 描述:(可选项)离线识别的语法(该文件需要到 http://yuyin.baidu.com/asr去生成)
- 备注:该参数只适应于Android系统,不支持iOS
language:
- 类型:字符串
- 描述:(可选项)语种,默认是cmn-Hans-CN 。
- 取值范围:
- cmn-Hans-CN 中文普通话
- sichuan-Hans-CN 中文四川话(离线暂不支持)
- yue-Hans-CN 粤语(离线暂不支持)
- en-GB 英语
nlu:
- 类型:布尔
- 描述:(可选项)是否启用语义解析,默认是否。
vad:
- 类型:字符串
- 描述:(可选项)语音活动检测,默认是input.
- 取值范围:
- search 搜索模式,适合短句输入
- input 输入模式,适合短信、微博内容等长句输入
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true,
result: '识别结果' // 字符串类型; 引擎返回的识别结果
}
err:
- 类型:JSON 对象
- 内部字段:
{
code: 100, // 数字类型; 错误返回码; 取值范围如下:
}
- 错误码对照表:
- 0 未知错误
- 1 网络超时
- 2 网络错误
- 3 录音错误
- 4 服务端错误
- 5 客户端调用错误
- 6 超时
- 7 没有识别结果
- 8 引擎忙
- 9 缺少权限
- 10 语音数据处理过程出错
- 11 本地网络连接出错
- 12 离线识别出错
- 13 引擎未创建
示例代码
var speechRecognizer = api.require('baiduSpeechRecognizer');
speechRecognizer.startListening({
sample: 16000,
infile: 'fs://infile.pcm',
outfile: 'fs://outfile.pcm',
language: 'cmn-Hans-CN',
nlu: true,
grammar: 'widget://gmr.bsg',
vad: 'search'
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
stopListening
停止录音,但是识别将继续
stopListening()
示例代码
var speechRecognizer = api.require('baiduSpeechRecognizer');
speechRecognizer.stopListening();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setVolumeChangeListener
设置音量监听
setVolumeChangeListener(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
volume: 10 // 数字类型; 实时音量大小,单位:分贝(db)
}
示例代码
var speechRecognizer = api.require('baiduSpeechRecognizer');
speechRecognizer.setVolumeChangeListener(function(ret) {
api.toast({ msg: "volume: " + ret.volume, duration: 100, location: "bottom" });
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
cancel
取消本次识别,已有录音也将不再识别
cancel()
示例代码
var speechRecognizer = api.require('baiduSpeechRecognizer');
speechRecognizer.cancel();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
destroy
销毁语音识别器,释放资源
destroy()
示例代码
var speechRecognizer = api.require('baiduSpeechRecognizer');
speechRecognizer.destroy();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本