本接口是基于 WebSocket 协议实现数据的传输的,使用API-KEY鉴权,适用于云云对接使用
wss://api.listenai.com/v1/asr
请求时headers带上
Authorization: Bearer {YOUR API-KEY}
API-KEY 获取
可以通过聆思大模型平台密钥管理页面生成。注意API-KEY生成完妥善保管。
请求示例:
wss://api.listenai.com/v1/asr?param=xxxx
请求参数说明:
参数 | 类型 | 必须 | 说明 | 示例 |
---|---|---|---|---|
param | string | 是 | 相关参数以JSON 格式经Base64 编码后的字符串,详见 param 字段说明 |
eyJ2YWRfZW9zIjo0MDB9 |
param参数说明:
参数 | 类型 | 必须 | 说明 | 示例 |
---|---|---|---|---|
asr_vad | string | 否 | 是否开启大模型vad,默认关闭 1表示开启 0表示关闭 |
0 |
vad_eos | int | 否 | vad后端点 | 300 |
max_eos | int | 否 | 后静音段的最大值 | |
max_bos | int | 否 | 前静音段的最大值,当asr_vad 开启时生效 |
|
maybe_eos | int | 否 | 大模型判断语义不够完整又不明显缺失的情况下的eos值,当asr_vad 开启时生效 |
|
ent | string | 否 | 指定的识别引擎 | |
aue | string | 否 | 指定音频数据格式:默认raw raw: pcm数据,格式16khz 16bit LE, 单声道 speex: speex格式 speex-wb: speex-wb格式 ico: ico格式 |
|
speex_size | int | 否 | 音频数据格式为speex、speex-web时必填 | 70 |
自定义appid/apikey/apisecret参数说明:
参数 | 类型 | 必须 | 说明 | 示例 |
---|---|---|---|---|
x-custom-appid | string | 否 | 自定义ASR appid |
|
x-custom-apikey | string | 否 | 自定义ASR apikey |
|
x-custom-apisecret | string | 否 | 自定义ASR apisecret |
使用用户自定义ASR的appid/apikey/apisecret需要将以上参数放在header中
成功:
{
"action":"connected",
"cid":"cidf415ba9c@dx8d0d18b0d6dd3eef00",
"code":"0",
"data":"",
"desc":"success"
}
当收到
connected
消息,可进行实时通信,见2.2章节
失败:
{
"action":"error",
"cid":"cidf415ba9c@dx8d0d18b0d6dd3eef00",
"code":"401",
"desc":"授权信息错误"
}
Websocket 连接建立之后,进入实时通信阶段,可以进行音频数据的上传、结果的接收等操作,整体的交互协议分为指令和数据,分别对应TEXT消息和BINARY消息。
在交互过程中,客户端不断构造 binary message 音频数据发送到服务端
客户端可以主动结束音频发送,云端会结束识别并进行对应的处理。指令内容如下:
{
"action": "end"
}
识别过程数据帧:
{
"code":"0",
"data":{
"sub":"iat",
"is_last":false,
"auth_id":"4d0c4412769b62f0f44134ce9f2db11f",
"result_id":16,
"text":"今天广州的天气怎么样?需要带伞"
},
"action":"result",
"desc":"success",
"sid":"05f6a28a-718e-40dc-9f68-d62cf3c02271"
}
is_last
为false
表示识别过程结果,识别过程会持续下发识别文本。
vad数据帧:
{
"code":"0",
"data":{
"sub":"vad",
"result_id":0,
"info":"end"
},
"action":"result",
"desc":"success",
"sid":"7a0dff95-9f95-4a68-921e-8ceb72c33281"
}
vad结果可能提前下发,当提前收到vad结果,停止发送音频。
识别结束数据帧:
{
"code":"0",
"data":{
"sub":"iat",
"is_last":true,
"auth_id":"4d0c4412769b62f0f44134ce9f2db11f",
"result_id":17,
"text":"今天广州的天气怎么样?需要带伞吗?"
},
"action":"result",
"desc":"success",
"sid":"05f6a28a-718e-40dc-9f68-d62cf3c02271"
}
当
is_last
为true
表示识别结束,下发最终识别文本。
云端在识别结束后会断开连接。
错误码 | 错误信息 |
---|---|
401 | 鉴权失败 |
500 | 服务端异常 |