From d20c030e5b75306dd67e8fe9924d5d94eac1bf30 Mon Sep 17 00:00:00 2001
From: wusong <63332221+wusong1128@users.noreply.github.com>
Date: 星期三, 25 九月 2024 15:11:50 +0800
Subject: [PATCH] 解决python ws服务针对尾部非人声录音无结束标识返回的问题 (#2102)
---
runtime/python/websocket/funasr_wss_server.py | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/runtime/python/websocket/funasr_wss_server.py b/runtime/python/websocket/funasr_wss_server.py
index 1ff5856..9de120e 100644
--- a/runtime/python/websocket/funasr_wss_server.py
+++ b/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:
--
Gitblit v1.9.1