一 简介
极限元 ASR REST API为开发者提供一个通用的开发接口,基于该接口,开发者可以方便的为应用集成ASR功能,本文档描述了使用ASR REST API的方法。
1 功能介绍:
REST API支持整段音频文件的识别,对录音格式有一定的要求。原始PCM的录音参数必须符合16K采样率、16bit位深、单声道。目前只支持wav格式。
2 使用API条件:
1) 需要申请 API Key 用于验证开发者
2)使用过程中应用需要通过互联网连接到极限元 云平台
二 访问控制
极限元 通过apiKey/apiSecretKey对称加密来验证某个请求的发送者身份,apiKey用来标示app,apiSecretKey是用来签名加密的密钥,所以apiSecretKey必须保密。
当用户发送一个请求时,首先按照极限元指定的格式生成签名字符串,然后使用apiSecretKey对签名字符串进行加密产生验证码。极限元收到请求后会根据apiKey找到对应的apiSecretKey,然后用同样的方式产生验证码,如果计算出来的验证码跟请求的一样则认为请求有效,否则拒绝这次请求,并返回403错误。
1 申请apiKey/apiSecretKey
开发者需要在极限元开发者平台( http://dev.jixianyuan.com/ 注册账号,并创建一个应用,即可获得对应的apiKey/apiSecretKey。
2 API验证机制
signature=HMAC-SHA1(arg1=v1&arg2=v2)
1 生成签名字符串
首先,对整个请求参数列表中的参数按照参数名字典序进行排序。
其次,把所有参数对以'&'字符连接起来,最终形成待签名字符串。
如:apiKey=o12345678&expires=1111222200&lang=zh-CN&md5=xxx
这串字符串便是待签名字符串。
2 使用hmac-sha1方法签名,其中Key为apiSecretKey
3 把"signature=签名结果字符串" 加入请求参数列表
apiKey=o12345678&expires=1111222200&lang=zh-CN&md5=xxx&signature=签名结果字符串
注意:待签名字符串必须是UTF-8编码
具体参数见API接口说明
三 API 接口说明
1 请求类型及URL
接口类型 | 输入数据格式 | URL |
---|---|---|
HTTP POST | URL Encoded | http://api.jixianyuan.com/asr/api |
2 请求参数
参数 | 数据类型 | 是否必选 | 说明 |
---|---|---|---|
apiKey | String | 是 | Api key |
signature | String | 是 | 签名字符串 |
expires | Int | 是 | 请求超时时间,自UTC1970-01-01开始的秒数 |
lang | String | 是 | 语言选项,目前支持中文(zh-CN) |
md5 | String | 是 | 音频数据MD5字符串(全部小写) |
format | String | 否 | 音频格式,目前支持WAV |
3 响应结果
HTTP response | 说明 |
---|---|
200 | 成功,返回识别结果 |
202 | 失败,返回json数据,包含错误码及错误信息 |
403 | 签名验证失败,禁止访问 |
4 错误码
错误码 | 描述 |
---|---|
1001 | 非法请求 |
1002 | API key 非法 |
1003 | 鉴权验证失败 |
1004 | 非法音频 |
1005 | 音频超长 |
1006 | 非法参数 |
1007 | 不支持的音频类型 |
1008 | 缺少参数 |
1009 | 请求超时 |