From cd3e9ed4948a39f504fe54ec4ff4aa083f528c70 Mon Sep 17 00:00:00 2001 From: lizhongxiang Date: Wed, 2 Apr 2025 11:07:04 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E6=92=AD=E6=94=BE=E9=9F=B3?= =?UTF-8?q?=E4=B9=90=E4=B8=8D=E4=BC=9A=E5=81=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/xiaozhi-server/core/connection.py | 6 +++--- main/xiaozhi-server/core/providers/tts/base.py | 11 ++++++----- .../plugins_func/functions/play_music.py | 8 ++++++++ 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/main/xiaozhi-server/core/connection.py b/main/xiaozhi-server/core/connection.py index f92a21cb..adfdf2d3 100644 --- a/main/xiaozhi-server/core/connection.py +++ b/main/xiaozhi-server/core/connection.py @@ -199,9 +199,9 @@ class ConnectionHandler: if self.private_config: self.prompt = self.private_config.private_config.get("prompt", self.prompt) - # self.client_ip_info = get_ip_info(self.client_ip) - # self.logger.bind(tag=TAG).info(f"Client ip info: {self.client_ip_info}") - # self.prompt = self.prompt + f"\n我在:{self.client_ip_info}" + self.client_ip_info = get_ip_info(self.client_ip) + self.logger.bind(tag=TAG).info(f"Client ip info: {self.client_ip_info}") + self.prompt = self.prompt + f"\n我在:{self.client_ip_info}" self.dialogue.put(Message(role="system", content=self.prompt)) self.func_handler = FunctionHandler(self.config) diff --git a/main/xiaozhi-server/core/providers/tts/base.py b/main/xiaozhi-server/core/providers/tts/base.py index a363c3d7..06f7fed0 100644 --- a/main/xiaozhi-server/core/providers/tts/base.py +++ b/main/xiaozhi-server/core/providers/tts/base.py @@ -98,11 +98,12 @@ class TTSProviderBase(ABC): async def finish_session(self, session_id): pass - async def tts_one_sentence(self,text): - uuid_str = str(uuid.uuid4()).replace("-", "") - self.tts.tts_text_queue.put(TTSMessageDTO(u_id=uuid_str, msg_type=MsgType.START_TTS_REQUEST, content='')) - self.tts.tts_text_queue.put(TTSMessageDTO(u_id=uuid_str, msg_type=MsgType.TTS_TEXT_REQUEST, content=text)) - self.tts.tts_text_queue.put(TTSMessageDTO(u_id=uuid_str, msg_type=MsgType.STOP_TTS_REQUEST, content=text)) + async def tts_one_sentence(self, text, u_id=None): + if not u_id: + u_id = str(uuid.uuid4()).replace("-", "") + self.tts.tts_text_queue.put(TTSMessageDTO(u_id=u_id, msg_type=MsgType.START_TTS_REQUEST, content='')) + self.tts.tts_text_queue.put(TTSMessageDTO(u_id=u_id, msg_type=MsgType.TTS_TEXT_REQUEST, content=text)) + self.tts.tts_text_queue.put(TTSMessageDTO(u_id=u_id, msg_type=MsgType.STOP_TTS_REQUEST, content=text)) def _enable_two_way_tts(self): while not self.stop_event.is_set(): diff --git a/main/xiaozhi-server/plugins_func/functions/play_music.py b/main/xiaozhi-server/plugins_func/functions/play_music.py index f89ff8ef..40469b2b 100644 --- a/main/xiaozhi-server/plugins_func/functions/play_music.py +++ b/main/xiaozhi-server/plugins_func/functions/play_music.py @@ -196,6 +196,14 @@ async def play_local_music(conn, specific_file=None): tts_finish_text="", sentence_type=None, duration=0 ) ) + conn.tts.tts_audio_queue.put( + TTSMessageDTO( + u_id=conn.u_id, msg_type=MsgType.STOP_TTS_RESPONSE, content=[], + tts_finish_text='', + sentence_type=None + ) + ) + except Exception as e: logger.bind(tag=TAG).error(f"播放音乐失败: {str(e)}")