API
接口描述
本接口服务采用websocket协议,对实时音频码流进行识别且同步返回识别结果。
接口要求
内容 | 说明 |
---|---|
语言种类 | 中文普通话、英文、方言 |
支持行业 | 通用 |
音频属性 | 采样率:16K Hz 采样位数:16bits 声道:单声道 |
音频格式 | pcm、wave |
请求协议 | wss |
请求地址 | wss://dev.kedacom.com/kasr |
接口鉴权 | 详见token |
响应格式 | json格式 |
请求参数
{
"msg_type":"start_session_req",
"service_type":"ASR",
"msg_id":"",
"msg_data":{}
}
字段 | 类型 | 说明 |
---|---|---|
msg_type | string | 消息类型 |
msg_id | string | 消息ID,请求与返回关联ID |
service_type | string | 取值为ASR/TTS/NLU |
msg_data | object | 消息内容 |
响应参数
{
"msg_type":"start_session_res",
"msg_id":"",
"msg_code":0,
"msg_desc":"",
"msg_data":{}
}
字段 | 类型 | 说明 |
---|---|---|
msg_type | string | 消息类型 |
msg_id | string | 消息ID,请求与返回关联ID |
msg_code | int | 消息状态,参考http状态 |
msg_desc | string | 消息描述,特别是异常状态 |
msg_data | object | 消息内容 |
实时语音转写
1 初始化消息
客户端必须发送初始化请求消息且在收到正确的初始化响应消息后,才能进行后续操作。
请求-> server:
{
"msg_type":"START_SESSION_REQ",
"service_type":"ASR",
"msg_id":"",
"msg_data":
{
"token":"xxx"
}
}
字段 | 类型 | 说明 |
---|---|---|
token | string | 用户认证所需令牌,token生成规则可以参考文档 |
响应 -> client:
{
"msg_type":"START_SESSION_RES",
"msg_id":"",
"msg_code":0,
"msg_desc":"",
"msg_data":
{
"session_id":""
}
}
字段 | 类型 | 说明 |
---|---|---|
session_id | string | 标识本次服务会话id,用于服务端与客户端查询分析问题 |
2 音频传输消息
客户端收到正确的初始化响应后,则可以发送pcm音频数据,音频数据频率及大小需真实且不能过快。发送数据为binary。
3 文本返回消息
客户端持续发送音频数据后,服务端会持续返回对应音频的文本。消息内容如下:
{
"msg_type":"RECOGNITION_TEXT",
"msg_id":"",
"msg_code":0,
"msg_desc":"",
"msg_data":
{
"text":"",
"bg":0,
"ed":2,
"fin":0
}
}
字段 | 类型 | 说明 |
---|---|---|
text | string | 识别后的文本消息 |
bg | int | 文本对应的开始时间(ms) |
ed | int | 文本对应的结束时间(ms) |
fin | int | 0中间结果, 1最终结果 |
4 会话异常状态通知
{
"msg_type":"EXCEPTION_NTF",
"msg_id":"",
"msg_code":0,
"msg_desc":""
}
5 会话结束消息
客户端主动结束会话,如果有正在识别中的文本,则可以获取到该文本的最终结果。 请求-> server:
{
"msg_type":"STOP_SESSION_REQ",
"service_type":"ASR",
"msg_id":""
}
响应 -> client:
{
"msg_type":"STOP_SESSION_RES",
"msg_id":"",
"msg_code":0,
"msg_desc":""
}