代码拉取完成,页面将自动刷新
代码 \server\ws\asr_socket.py 是接收从websocket发来语音流,从代码里看是循环监听 websocket 收到的流消息,当有收到语音流消息时就调用 PaddleASRConnectionHanddler 进行语音识别,识别出内容后同步下发返回给websocket客户端。这种模式对于一段完整语音的识别是比较好又简单的。
但是在实际语音流的使用场情下,客户端每一次发来的语音流只是指定大小的数据块,并不是一段完整话,有时是有语音内容,也有是静音空内容,也有时候是一段话已经说结束了(停顿了几秒)。
意思是websocket可以不需要每次都返回识别内容,只需要收集到语音流能识别到一定程度后才异步返回下发返回给websocket客户端。这样使ASR服务有充足的识别时间,达到指定识别效果(分数)才返回给客户端这样才更理想,也能由ASR判断语音讲话是否已经结束(静音)。