对接方式
端到端语音流交互通过 WebSocket 协议提供服务。允许服务端实现语音数据的“双向流式交互”(即边接收语音流、边发送模型生成的实时语音流),以实现连续、低时延的语音机器人对话。按照以下格式实现WebSocket服务后,提供WebSocket的请求地址对接测试
鉴权
WebSocket服务需要支持通过header信息做鉴权,header信息如下:
| key | 说明 | 是否必须 |
|---|---|---|
| APP_ID | 账户编号,对接前获取 | 是 |
| AUTH_TOKEN | 鉴权TOKEN,对接前获取 | 是 |
发送语音流
websocket 服务端推送一个包含用户需要播放的 base64 编码音频的 JSON 对象。格式如下:
{
"type": "streamAudio",
"data": {
"audioDataType": "raw",
"sampleRate": 24000,
"audioData": "base64 encoded audio" // 语音流base64加密
}
}推送的语音流格式:单声道、24000Hz 采样率、32bit位深、字节序为小端序;(24000Hz Float32 PCM)
接收语音流
客户端发送的音频格式:PCM(脉冲编码调制,未经压缩的的音频格式)、单声道、采样率16000、每个采样点用
int16表示、字节序为小端序。消息是原始的二进制语音流。转人工或者挂机
如果需要转人工或者挂机时,服务端推送转人工或者挂机消息
{
"type": "operate",
"data": {
"operateType": "TURN_HUMAN",// TURN_HUMAN:转人工,HANGUP:挂机
}
}