- aliyunNls
- 概述
- 模块接口
- setLog
- 可用性
- startSentenceRecognize
- params
- 示例代码
- 可用性
- stopSentenceRecognize
- sentenceRecorderIsStarted
- sentenceRecorderVoiceVolume
- addSentenceEventListener
- removeSentenceEventListener
- startTranscriberRecognize
- params
- 示例代码
- 可用性
- stopTranscriberRecognize
- transcriberRecorderIsStarted
- transcriberRecorderVoiceVolume
- addTranscriberEventListener
- removeTranscriberEventListener
- startRead
- params
- 示例代码
- 可用性
- stopRead
- addReadEventListener
- removeReadEventListener
aliyunNls
来自于:AC模块工作室立即使用
一句话识别
startSentenceRecognize stopSentenceRecognize sentenceRecorderIsStarted sentenceRecorderVoiceVolume addSentenceEventListener removeSentenceEventListener
实时语音识别
startTranscriberRecognize stopTranscriberRecognize transcriberRecorderIsStarted transcriberRecorderVoiceVolume addTranscriberEventListener removeTranscriberEventListener
语音合成
startRead stopRead addReadEventListener removeReadEventListener
概述
aliyunNls 模块是 aliYunRtVoice 和 aliYunVoice 的聚合升级优化版。封装了阿里云提供的语音识别的一句话识别服务、实时语音识别服务和语音合成的功能。
语音识别服务提供将实时短语音转成文字的功能,可直接用于语音搜索类应用。语音合成提供将文本转为普通话语音的语音合成功能。
一句话识别:对一分钟内的短语音进行识别,适用于对话聊天,控制口令等较短的语音识别场景。 实时语音识别:对长时间的语音数据流进行识别,适用于会议演讲、视频直播等长时间不间断识别的场景。
使用本模块之前需要先去阿里云控制台申请AccessKey ID 和 AccessKey Secret
注意:本模块会创建一个单例对象,可在多个页面共用。
模块接口
setLog
设置log级别 (android不支持该方法)
setLog({params},callback(ret))
params
path:
- 类型:字符串
- 描述:日志输出路径,要求本地路径(fs://)
level:
- 类型:字符串
- 描述:设置 log 级别
- 取值范围:
- error:错误信息输出
- warnning:警告信息输出
- debug:调试模式
示例代码
var aliyunNls = api.require('aliyunNls');
aliyunNls.setLog({
path: 'fs://aliyunNlsLog',
level: 'debug'
});
可用性
iOS 系统
可提供的 1.0.0 及更高版本
startSentenceRecognize
开始一句话识别
startSentenceRecognize({params})
params
token:
- 类型:字符串
- 描述:请使用 https://help.aliyun.com/document_detail/72153.html 动态生成token
appkey:
- 类型:字符串
- 描述:请使用阿里云语音服务管控台 生成您的appkey
serviceUrl:
- 类型:字符串
- 描述:(可选项)服务器地址
intermediate:
- 类型:布尔
- 描述:(可选项)是否在中间识别结果的输出
- 默认:false
punctuation:
- 类型:布尔
- 描述:(可选项)是否在后处理中添加标点
- 默认:false
ITN:
- 类型:布尔
- 描述:(可选项)是否在后处理中执行ITN(InverseTextNormalization)
- 默认:false
voiceDetection:
- 类型:布尔
- 描述:(可选项)是否启动云端静音检测(vad)
- 默认:false
maxStartSilence:
- 类型:数字
- 描述:(可选项)前置静音检测时间,单位毫秒
- 默认:3000
maxEndSilence:
- 类型:数字
- 描述:(可选项)后置静音检测时间,单位毫秒
- 默认:3000
customizationId:
- 类型:字符串
- 描述:(可选项)定制模型id
vocabularyId:
- 类型:字符串
- 描述:(可选项)定制泛热词id
params:
- 类型:JSON 对象
- 描述:(可选项)用户自定义字段值
示例代码
var aliyunNls = api.require('aliyunNls');
aliyunNls.startSentenceRecognize({
token: '*****',
appkey:''
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
stopSentenceRecognize
停止一句话识别
stopSentenceRecognize( )
示例代码:
var aliyunNls = api.require('aliyunNls');
aliyunNls.stopSentenceRecognize();
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
sentenceRecorderIsStarted
判断一句话识别的录音是否开始
sentenceRecorderIsStarted(callback(ret));
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
isStarted:true //布尔类型;是否启动
}
示例代码
var aliyunNls = api.require('aliyunNls');
aliyunNls.sentenceRecorderIsStarted(function(ret){
if (ret.isStarted) {
api.alert({msg:'正在一句话识别的录音...'});
}
});
可用性
iOS 系统,Android 系统 可提供的 1.0.0 及更高版本
sentenceRecorderVoiceVolume
获取一句话识别时录音的音量大小 (暂仅支持ios)
sentenceRecorderVoiceVolume(callback(ret));
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
volume: //数字类型;音量大小
}
示例代码
var aliyunNls = api.require('aliyunNls');
aliyunNls.sentenceRecorderVoiceVolume(function(ret){
if (ret) {
api.alert({msg:JSON.stringify(ret)});
}
});
可用性
iOS 系统,Android 系统 可提供的 1.0.0 及更高版本
addSentenceEventListener
一句话识别的相关事件监听
addSentenceEventListener(callback(ret,err));
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
eventType: //字符串类型;交互事件类型;取值范围:
//recordStart:录音开始事件
//recordStop:录音停止事件 (仅支持ios)
//recordVolume:录音音量大小实时返回事件 (仅支持ios)
//recordFail:录音错误事件
//taskFail:识别发生错误事件
//channelClosed:与服务端连接关闭的事件
//recognizedCompleted:语音识别结束事件
//recognizedResultChanged:语音识别中间结果回调事件
volume: //数字类型;录音音量大小,仅当 eventType 为 recordVolume 时有值 (该参数仅支持ios)
request: { //JSON对象;语音识别的返回信息,仅当 eventType 为后四种时有值 (该参数仅支持ios)
statusCode:, //字符串类型;状态码
msg:'', //字符串类型;结果信息
event: //数字类型;回调方法
},
result:'' //字符串类型;识别结果,仅当 eventType 为 recognizedCompleted、recognizedResultChanged 时有值
}
err:
- 类型:JSON对象
- 描述:错误信息,仅当 eventType 为 recordVolume 时有值
- 内部字段:
{
msg:, //字符串类型;错误信息
code: //数字类型;错误码
}
示例代码
var aliyunNls = api.require('aliyunNls');
aliyunNls.addSentenceEventListener(function(ret,err){
if (ret.eventType == 'recordVolume') {
console.log(JSON.stringify(ret));
} else if (ret.eventType == 'recordStart') {
console.log('录音开始');
} else if (ret.eventType == 'recordStop') {
console.log('录音停止');
} else if (ret.eventType == 'recordFail') {
api.alert({msg:'录音错误'});
} else if (ret.eventType == 'taskFail') {
console.log('语音识别发生错误');
} else if (ret.eventType == 'channelClosed') {
console.log('与服务端连接关闭');
} else if (ret.eventType == 'recognizedCompleted') {
api.alert({msg:'语音识别结束'});
} else {
console.log(JSON.stringify(ret));
}
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
removeSentenceEventListener
移除一句话识别的相关事件的监听
removeSentenceEventListener();
示例代码
var aliyunNls = api.require('aliyunNls');
aliyunNls.removeSentenceEventListener();
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
startTranscriberRecognize
开始实时语音识别
startTranscriberRecognize({params})
params
token:
- 类型:字符串
- 描述:请使用 https://help.aliyun.com/document_detail/72153.html 动态生成token
appkey:
- 类型:字符串
- 描述:请使用阿里云语音服务管控台 生成您的appkey
serviceUrl:
- 类型:字符串
- 描述:(可选项)设置语音识别的服务地址,请使用默认配置,可忽略
intermediate:
- 类型:布尔
- 描述:(可选项)是否在中间识别结果的输出
- 默认:false
punctuation:
- 类型:布尔
- 描述:(可选项)是否在后处理中添加标点
- 默认:false
ITN:
- 类型:布尔
- 描述:(可选项)是否在后处理中执行ITN(InverseTextNormalization)
- 默认:false
maxSentenceSilence:
- 类型:数字
- 描述:(可选项)设置一句话的最大结束时间。也可以认为是即两句话之间的时间间隔。
- 默认:0
customizationId:
- 类型:字符串
- 描述:(可选项)定制模型id
vocabularyId:
- 类型:字符串
- 描述:(可选项)定制泛热词id
params:
- 类型:JSON 对象
- 描述:(可选项)用户自定义字段值
示例代码
var aliyunNls = api.require('aliyunNls');
aliyunNls.startTranscriberRecognize({
token: '*****',
appkey:''
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
stopTranscriberRecognize
停止实时语音识别
stopTranscriberRecognize()
示例代码:
var aliyunNls = api.require('aliyunNls');
aliyunNls.stopTranscriberRecognize();
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
transcriberRecorderIsStarted
判断实时语音识别的录音是否开始
transcriberRecorderIsStarted(callback(ret));
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
isStarted:true //布尔类型;是否启动
}
示例代码
var aliyunNls = api.require('aliyunNls');
aliyunNls.transcriberRecorderIsStarted(function(ret){
if (ret.isStarted) {
api.alert({msg:'正在实时语音识别的录音...'});
}
});
可用性
iOS 系统,Android 系统 可提供的 1.0.0 及更高版本
transcriberRecorderVoiceVolume
获取实时语音识别时录音的音量大小 (暂仅支持ios)
transcriberRecorderVoiceVolume(callback(ret));
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
volume: //数字类型;音量大小
}
示例代码
var aliyunNls = api.require('aliyunNls');
aliyunNls.transcriberRecorderVoiceVolume(function(ret){
if (ret) {
api.alert({msg:JSON.stringify(ret)});
}
});
可用性
iOS 系统,Android 系统 可提供的 1.0.0 及更高版本
addTranscriberEventListener
实时语音识别的相关事件监听
addTranscriberEventListener(callback(ret,err));
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
eventType: //字符串类型;交互事件类型;取值范围:
//recordStart:录音开始事件
//recordStop:录音停止事件
//recordVolume:录音音量大小实时返回事件
//recordFail:录音错误事件
//taskFail:识别发生错误事件
//channelClosed:与服务端连接关闭的事件
//transcriptionStarted:语音识别开始事件
//sentenceBegin:语音识别中一句话的开始事件
//sentenceEnd:语音识别中一句话的结束事件
//transcriptionCompleted:语音识别结束事件
//transcriptionResultChanged:语音识别中间结果回调事件
volume: //数字类型;录音音量大小,仅当 eventType 为 recordVolume 时有值
request: { //JSON对象;语音识别的返回信息,仅当 eventType 为后四种时有值(该参数仅支持ios)
statusCode:, //字符串类型;状态码
msg:'', //字符串类型;结果信息
event: //数字类型;回调方法
},
result:'' //字符串类型;识别结果,仅当 eventType 为 sentenceBegin、sentenceEnd、transcriptionResultChanged 时有值
}
err:
- 类型:JSON对象
- 描述:错误信息,仅当 eventType 为 recordVolume 时有值
- 内部字段:
{
msg:, //字符串类型;错误信息
code: //数字类型;错误码
}
示例代码
var aliyunNls = api.require('aliyunNls');
aliyunNls.addTranscriberEventListener(function(ret,err){
if (ret.eventType == 'recordVolume') {
console.log(JSON.stringify(ret));
} else if (ret.eventType == 'recordStart') {
console.log('录音开始');
} else if (ret.eventType == 'recordStop') {
console.log('录音停止');
} else if (ret.eventType == 'recordFail') {
api.alert({msg:'录音错误'});
} else if (ret.eventType == 'taskFail') {
console.log('语音识别发生错误');
} else if (ret.eventType == 'channelClosed') {
console.log('与服务端连接关闭');
} else if (ret.eventType == 'transcriptionCompleted') {
api.alert({msg:'语音识别结束'});
} else {
console.log(JSON.stringify(ret));
}
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
removeTranscriberEventListener
移除实时语音识别的相关事件的监听
removeTranscriberEventListener();
示例代码
var aliyunNls = api.require('aliyunNls');
aliyunNls.removeTranscriberEventListener();
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
startRead
开始语音朗读
startRead({params})
params
token:
- 类型:字符串
- 描述:请使用 https://help.aliyun.com/document_detail/72153.html 动态生成token
appkey:
- 类型:字符串
- 描述:请使用阿里云语音服务管控台 生成您的appkey
text:
- 类型:字符串
- 描述:朗读的文本
format:
- 类型:字符串
- 描述:(可选项)设置语音格式
- 默认:pcm
- 取值范围:
- pcm
- wav
- mp3
serviceUrl:
- 类型:字符串
- 描述:(可选项)设置语音识别的服务地址,请使用默认配置,可忽略
voice:
- 类型:字符串
- 描述:(可选项)选择合成语音发音人
- 默认:xiaoyun
- 取值范围:
- xiaoyun
- xiaogang
volume:
- 类型:数字
- 描述:(可选项)合成音量大小,范围是0~100
- 默认:50
speechRate:
- 类型:数字
- 描述:(可选项)合成音频的语速,范围是-500~500
- 默认:0
sampleRate:
- 类型:数字
- 描述:(可选项)合成音频的采样率
- 默认:16000
pitchRate:
- 类型:数字
- 描述:(可选项)语调,范围是-500~500
- 默认:0
method:
- 类型:数字
- 描述:(可选项)选择使用合成参数类型
- 默认:0
- 取值范围:
- 0:统计参数合成 基于统计参数的语音合成,优点是能适应的韵律特征的范围较宽,合成器比特率低,资源较小,性能高,音质适中
- 1:波形拼接合成 基于高质量音库提取学习合成,音质较好,更加贴近真实发音,但没有参数合成稳定
params:
- 类型:JSON 对象
- 描述:(可选项)用户自定义字段值
示例代码
var aliyunNls = api.require('aliyunNls');
aliyunNls.startRead({
token: '*****',
appkey:'',
text:'你好,APICloud'
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
stopRead
停止语音朗读
stopRead( )
示例代码:
var aliyunNls = api.require('aliyunNls');
aliyunNls.stopRead();
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
addReadEventListener
语音朗读的相关事件监听
addReadEventListener(callback(ret,err));
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
eventType: //字符串类型;交互事件类型;取值范围:
//taskFail:识别发生错误事件
//channelClosed:与服务端连接关闭的事件
//readStarted:语音朗读开始事件
//readCompleted:语音朗读结束事件
volume: //数字类型;录音音量大小,仅当 eventType 为 recordVolume 时有值 (该参数仅支持ios)
request: { //JSON对象;语音识别的返回信息,仅当 eventType 为后四种时有值 (该参数仅支持ios)
statusCode:, //字符串类型;状态码
msg:'', //字符串类型;结果信息
event: //数字类型;回调方法
},
result:'' //字符串类型;识别结果,仅当 eventType 为 readStarted、readCompleted 时有值
}
示例代码
var aliyunNls = api.require('aliyunNls');
aliyunNls.addReadEventListener(function(ret,err){
if (ret.eventType == 'readStarted') {
console.log(JSON.stringify(ret));
} else if (ret.eventType == 'taskFail') {
console.log('语音识别发生错误');
} else if (ret.eventType == 'channelClosed') {
console.log('与服务端连接关闭');
} else {
console.log(JSON.stringify(ret));
}
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
removeReadEventListener
移除语音朗读的相关事件的监听
removeReadEventListener();
示例代码
var aliyunNls = api.require('aliyunNls');
aliyunNls.removeReadEventListener();
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本