update:ASR加入队列

This commit is contained in:
hrz
2025-06-04 11:41:04 +08:00
parent 6304467d3a
commit d06e297c2d
17 changed files with 85 additions and 66 deletions
@@ -1,6 +1,4 @@
import json
import queue
from config.logger import setup_logging
TAG = __name__
@@ -33,8 +33,6 @@ async def handleHelloMessage(conn, msg_json):
format = audio_params.get("format")
conn.logger.bind(tag=TAG).info(f"客户端音频格式: {format}")
conn.audio_format = format
if conn.asr is not None:
conn.asr.set_audio_format(format)
conn.welcome_msg["audio_params"] = audio_params
features = msg_json.get("features")
if features:
@@ -96,6 +96,7 @@ async def process_intent_result(conn, intent_result, original_text):
}
await send_stt_message(conn, original_text)
conn.client_abort = False
# 使用executor执行函数调用和结果处理
def process_function_call():
@@ -10,10 +10,6 @@ TAG = __name__
async def handleAudioMessage(conn, audio):
if conn.vad is None:
return
if conn.asr is None or not hasattr(conn.asr, "conn") or conn.asr.conn is None:
return
# 当前片段是否有人说话
have_voice = conn.vad.is_vad(conn, audio)
if have_voice:
@@ -22,7 +18,7 @@ async def handleAudioMessage(conn, audio):
# 设备长时间空闲检测,用于say goodbye
await no_voice_close_connect(conn, have_voice)
# 接收音频
await conn.asr.receive_audio(audio, have_voice)
await conn.asr.receive_audio(conn, audio, have_voice)
async def startToChat(conn, text):
@@ -89,8 +89,7 @@ async def sendAudio(conn, audios, pre_buffer=True):
# 播放剩余音频帧
for opus_packet in remaining_audios:
if conn.client_abort:
conn.client_abort = False
return
break
# 每分钟重置一次计时器
if time.perf_counter() - last_reset_time > 60: