wusong
2024-09-25 d20c030e5b75306dd67e8fe9924d5d94eac1bf30
解决python ws服务针对尾部非人声录音无结束标识返回的问题 (#2102)

1个文件已修改
13 ■■■■■ 已修改文件
runtime/python/websocket/funasr_wss_server.py 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
runtime/python/websocket/funasr_wss_server.py
@@ -187,7 +187,7 @@
            websocket.status_dict_vad["chunk_size"] = int(
                websocket.status_dict_asr_online["chunk_size"][1] * 60 / websocket.chunk_interval
            )
            if len(frames_asr_online) > 0 or len(frames_asr) > 0 or not isinstance(message, str):
            if len(frames_asr_online) > 0 or len(frames_asr) >= 0 or not isinstance(message, str):
                if not isinstance(message, str):
                    frames.append(message)
                    duration_ms = len(message) // 32
@@ -291,6 +291,17 @@
            )
            await websocket.send(message)
    else:
        mode = "2pass-offline" if "2pass" in websocket.mode else websocket.mode
        message = json.dumps(
            {
                "mode": mode,
                "text": "",
                "wav_name": websocket.wav_name,
                "is_final": websocket.is_speaking,
            }
        )
        await websocket.send(message)
async def async_asr_online(websocket, audio_in):
    if len(audio_in) > 0: