From 93265be9743b95871b1b63a6f9de0e7f3dac7823 Mon Sep 17 00:00:00 2001 From: lizhongxiang Date: Mon, 31 Mar 2025 15:33:20 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E6=99=AE=E9=80=9A=E8=81=8A?= =?UTF-8?q?=E5=A4=A9=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/xiaozhi-server/core/connection.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/main/xiaozhi-server/core/connection.py b/main/xiaozhi-server/core/connection.py index 5a5daaf0..f92a21cb 100644 --- a/main/xiaozhi-server/core/connection.py +++ b/main/xiaozhi-server/core/connection.py @@ -261,7 +261,8 @@ class ConnectionHandler: self.llm_finish_task = False text_index = 0 - uuid_str = str(uuid.uuid4()) + uuid_str = str(uuid.uuid4()).replace("-", "") + self.u_id = uuid_str msg_type = None for content in llm_responses: response_message.append(content) @@ -271,13 +272,15 @@ class ConnectionHandler: end_time = time.time() self.logger.bind(tag=TAG).debug(f"大模型返回时间: {end_time - start_time} 秒, 生成token={content}") if text_index == 0: - msg_type = MsgType.START_TTS_REQUEST - else: - msg_type = MsgType.TTS_TEXT_REQUEST - self.tts.tts_text_queue.put(TTSMessageDTO(u_id=uuid_str, msg_type=msg_type, content=content)) + self.tts.tts_text_queue.put( + TTSMessageDTO(u_id=uuid_str, msg_type=MsgType.START_TTS_REQUEST, content='')) + self.start_tts_request_flag = True + self.tts.tts_text_queue.put( + TTSMessageDTO(u_id=uuid_str, msg_type=MsgType.TTS_TEXT_REQUEST, content=content)) text_index += 1 - msg_type = MsgType.STOP_TTS_REQUEST - self.tts.tts_text_queue.put(TTSMessageDTO(u_id=uuid_str, msg_type=msg_type, content="")) + if self.start_tts_request_flag: + self.start_tts_request_flag = False + self.tts.tts_text_queue.put(TTSMessageDTO(u_id=uuid_str, msg_type=MsgType.STOP_TTS_REQUEST, content='')) self.llm_finish_task = True self.dialogue.put(Message(role="assistant", content="".join(response_message))) self.logger.bind(tag=TAG).debug(json.dumps(self.dialogue.get_llm_dialogue(), indent=4, ensure_ascii=False))