Android SDK 接入(旧)
该技术服务已迁移至思必驰开放平台,本文档于2020年8月25日停止更新。最新版请查看:https://cloud.aispeech.com/docs/asr_sentence_android
一、功能介绍
一句话识别SDK,对时长较短(60秒以内)的语音进行识别,非实时的返回识别结果。适用于较短的语音交互场景,如语音搜索、语音指令、语音短消息等,可集成在各类App、智能家电、智能助手等产品中。支持:
- 可用于基于协议开发的:轻量级嵌入式设备;
- 支持pcm,wav, ogg(speex), ogg_opus, mp3等多种格式的音频识别;
- 支持语言模型等特殊配置,请联系商务或项目经理进行定制,或联系:asrsupport_service@aispeech.com(邮件中请提供联系方式和需求详细描述)。
二、调用限制
内容 |
说明 |
---|---|
字符编码 | UTF-8 |
语言种类 | cn(默认值, 中文) |
服务鉴权 | 一句话转写服务使用需要进行授权,详见:单项技术概述(Android) |
音频属性 | 采样率16k、单声道 |
音频格式 |
wav, mp3, ogg(speex), ogg_opus等多种格式 |
服务开通 | 调用服务需要先购买时长 |
注意:请以 一句话识别server接入 为准
三、集成流程
3.1 产品创建与授权
产品创建
3.2 SDK集成准备
下载SDK
请前往:这里 下载最新版本的SDK。
SDK准备
集成SDK前,需要有jar:DUI-lite-SDK-for-Android-xxx.jar
3.3 集成SDK
SDK集成和授权
请参照文档 单项技术概述(Android)
流程图
四、SDK 使用说明
4.1 初始化
engine = AICloudASRSentenceEngine.createInstance();
// engine.init("https://lasr.duiopen.com", new AIASRSentenceListenerImple());
engine.init(new AIASRSentenceListenerImple()); // 默认域名即为 https://lasr.duiopen.com
4.2 开始请求识别
AICloudASRSentenceConfig.AudioParam audioParam = new AICloudASRSentenceConfig.AudioParam(audioType);
AICloudASRSentenceConfig config = new AICloudASRSentenceConfig();
config.setAudioParam(audioParam);
/***********文件形式识别***********/
engine.asrSentence(filePath, config);
engine.cancelASR(filePath); // 可以取消对应的识别请求
/***********另一种音频形式,可用于音频在内存里,直接请求服务器***********/
File file = new File(filePath);
// 音频文件限制在1分钟且5M之内
byte[] audioData = new byte[(int) file.length()];
readFile(file, audioData); // 这里用文件做演示
// 回调结果时会一同传出,用来区分不同。也可以写其它的有含义的uniqueId,比如 String.valueOf(audioData)
final String uniqueId = "ABC123";
engine.asrSentence(uniqueId, audioData, config);
// 可以取消对应的识别请求
engine.cancelASR(uniqueId);
/***********取消所有的识别请求***********/
engine.cancelAllASR();
4.3 响应结果
{
errno: 0,
error: "",
data: {
session_id: "5e548cf5d992b626aceea8e5", //服务器响应唯一ID
request: {
audio: {
audio_type: "wav",
channel: 1,
sample_bytes: 2,
sample_rate: 16000
},
duration: 91718, // 音频时长
length: 2935034, // 音频文件长度
request_id: "92634b3b04dd41e3bcd966758dcc8d3c"
},
result: [ //正常的识别分句结果
{
bg: 1850, //开始时间(ms)
ed: 12980, //结束时间(ms)
onebest: "" //识别文本
},
{
bg: 1850,
ed: 12980,
onebest: ""
},
...
],
segments: [ //当打开use_segment参数,会额外返回分词后的结果
{
bg: 1850,
ed: 12980,
onebest: ""
},
{
bg: 1850,
ed: 12980,
onebest: ""
},
...
]
}
}
4.4 销毁引擎
engine.destroy();
五、错误码
识别时可能遇到的错误码,参考 错误码(Android)
六、常见问题
1、 如何试用服务和购买服务
您可以直接购买一句话识别服务套餐。套餐量越大越优惠。点此了解:产品服务定价。
如果有更大量的需求,请线下联系商务或联系asrsupport_service@aispeech.com(邮件中请提供联系方式和需求详细描述)。
2、 对硬件的要求有什么
Android 4.0 及以上系统的设备,能联网即可。