1、讯飞语音识别接口说明
包括语音听写、语音转写和实时语音转写三种接口。其中语音听写接口可将语音(≤60秒)转换成对应的文字信息,适用于将音频一次性发送至云端,块式传输。
接口地址:
POST http[s]:// openapi.xfyun.cn/v2/aiui HTTP/1.1
使用的是aiui智能硬件的api接口,属于第二版本。
2、 接口参数
2.1 授权认证
调用接口时,需要在Http Request Header 中配置授权认证参数。
参数 |
格式 |
说明 |
必须 |
X-Appid |
string |
讯飞开放平台注册申请应用的应用ID(appid) |
是 |
X-CurTime |
string |
当前UTC时间戳,从1970年1月1日0点0 分0 秒开始到现在的秒数 |
是 |
X-Param |
string |
相关参数(见后表)JSON串经Base64编码后的字符串,见各接口详细说明 |
是 |
X-CheckSum |
string |
令牌,计算方法:MD5(apiKey + curTime + param),三个值拼接的字符串,进行MD5哈希计算(32位小写),其中apiKey由讯飞提供,调用方管理。 |
是 |
apiKey:接口密钥,由讯飞开放平台提供,调用方注意保管,如泄露,可联系讯飞技术人员重置;这个密钥不是appid。
checkSum 有效期:出于安全性考虑,每个 checkSum 的有效期为 5 分钟(用 curTime 计算),同时 curTime 要与标准时间同步,否则,时间相差太大,服务端会直接认为 curTime 无效;
BASE64 编码采用 MIME 格式,字符包括大小写字母各26个,加上10个数字,和加号 + ,斜杠 / ,一共64个字符。
其中 X-Param 为各配置参数组成的 JSON 串经 BASE64 编码之后的字符串,原始 JSON 串各字段说明见官方文档页面的“参数说明”部分。
https://doc.iflyos.cn/aiui/sdk/more_doc/webapi/summary.html#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0
注意有很多参数是可选的。
X-Param生成示例:
{
"scene":"main",
"aue":"raw",
"sample_rate":"16000",
"pers_param":"{\"auth_id\":\"2049a1b2fdedae553bd03ce6f4820ac4\"}",
"data_type":"audio",
"auth_id":"2049a1b2fdedae553bd03ce6f4820ac4"
}
BASE64编码(即X-Param):
2.2 白名单
在调用所有业务接口时,授权认证通过后,服务端会检查调用方ip是否在讯飞开放平台配置的ip白名单中,对于没有配置到白名单中的IP发来的请求,服务端会拒绝服务。
2.3 body请求参数
在 Http Request Body 中配置以下参数:
将音频/文本的二进制字节数组放入请求body中,数据长度限制为:音频文件大小 < 2MB, 时长 < 60s (其中 speex 音频大小 < 512KB), 文本长度 < 2000B
3、返回值
返回值为 json 串,具体字段见官方文档。
https://doc.iflyos.cn/aiui/sdk/more_doc/webapi/summary.html#%E8%BF%94%E5%9B%9E%E5%80%BC
4、 用C语言提交http请求
因为最终要在单片机里实现web api调用,所以用C语言来写模拟http请求的测试程序。
代码截图:
代码下载地址如下:
评论