握手参数#
query 参数与原生实时评测相同,路径中的 coreType 取值同声通兼容整段评测。
会话流程#
wss://open.shengzhiai.com/{coreType},coreType 取值同声通兼容整段评测。
- 服务端发
{"event": "connected", "coreType": "sent.eval.cn"}。 - 客户端发参数帧
{"refText": "北京你好", "language": "zh-CN", "realtime_feedback": true, "idempotencyKey": "..."},也接受text代替refText。不要朗读进度时不带realtime_feedback。服务端回{"event": "started", "coreType": "sent.eval.cn"}。参数帧会清空这一轮已收的音频,一轮只发一次。 - 客户端发音频,规则同原生实时评测。
realtime_feedback为 true 时服务端在收音过程中下发朗读进度帧,见朗读进度。 - 客户端发
{"cmd": "end"}或{"end": true},服务端回{"recordId": ..., "eof": 1, "result": {...}},重放结果带"replayed": true。
参数帧带 "timing": 1 时终评帧另有 timing 对象,见声通兼容整段评测。握手可协商 permessage-deflate,服务端下发的帧随之压缩,段落题终评帧可小到原来的十分之一左右。
客户端消息#
参数帧文本帧必填{"refText": ..., "language": ..., "realtime_feedback": true, "idempotencyKey": ...},也接受 text 代替 refText,一轮只发一次
二进制帧音频必填规则同原生实时评测
{"cmd":"end"}文本帧必填结束帧,也接受 {"end": true}
{"cmd":"ping"}文本帧可选应用层心跳
服务端消息#
{"event":"connected"}文本帧必填连接建立,带 coreType
{"event":"started"}文本帧必填参数帧已受理
{"eof":0}文本帧可选进度帧,realtime_feedback 为 true 时下发,result.bytes 为已收字节数,另带逐字的朗读进度,见朗读进度,不含评分
{"eof":1}文本帧必填终评,带 recordId 与 result,重放时带 "replayed": true
{"event":"error"}文本帧可选错误,带 message,原因是服务端业务错误时另带 code
{"event":"pong"}文本帧可选心跳回复