From 10b8ccfef25b92d4b738b13b4138bc6c4bd70575 Mon Sep 17 00:00:00 2001 From: ytqh Date: Sun, 27 Apr 2025 20:02:38 +0800 Subject: [PATCH] Revert "fix: fix tts autoplay interrupt when has no punctuation" This reverts commit ff1238d0133610e786f26e2ff6196c83c90cc25a. --- .../app_generator_tts_publisher.py | 21 ++++--------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/api/core/app/apps/advanced_chat/app_generator_tts_publisher.py b/api/core/app/apps/advanced_chat/app_generator_tts_publisher.py index 290369db09..a506447671 100644 --- a/api/core/app/apps/advanced_chat/app_generator_tts_publisher.py +++ b/api/core/app/apps/advanced_chat/app_generator_tts_publisher.py @@ -62,7 +62,7 @@ class AppGeneratorTTSPublisher: self.msg_text = "" self._audio_queue: queue.Queue[AudioTrunk] = queue.Queue() self._msg_queue: queue.Queue[WorkflowQueueMessage | MessageQueueMessage | None] = queue.Queue() - self.match = re.compile(r"[。.!?\n]") + self.match = re.compile(r"[。.!?]") self.model_manager = ModelManager() self.model_instance = self.model_manager.get_default_model_instance( tenant_id=self.tenant_id, model_type=ModelType.TTS @@ -73,7 +73,6 @@ class AppGeneratorTTSPublisher: if not voice or voice not in values: self.voice = self.voices[0].get("value") self.MAX_SENTENCE = 2 - self.MAX_CHARS_WITHOUT_DELIMITER = 100 self._last_audio_event: Optional[AudioTrunk] = None # FIXME better way to handle this threading.start threading.Thread(target=self._runtime).start() @@ -114,23 +113,13 @@ class AppGeneratorTTSPublisher: self.msg_text += message.event.outputs.get("output", "") self.last_message = message sentence_arr, text_tmp = self._extract_sentence(self.msg_text) - - if len(sentence_arr) >= min(self.MAX_SENTENCE, 7) or ( - len(sentence_arr) == 0 and text_tmp and len(text_tmp) >= self.MAX_CHARS_WITHOUT_DELIMITER - ): + if len(sentence_arr) >= min(self.MAX_SENTENCE, 7): self.MAX_SENTENCE += 1 - - if sentence_arr: - text_content = "".join(sentence_arr) - else: - text_content = text_tmp[: self.MAX_CHARS_WITHOUT_DELIMITER] - text_tmp = text_tmp[self.MAX_CHARS_WITHOUT_DELIMITER :] - + text_content = "".join(sentence_arr) futures_result = self.executor.submit( _invoice_tts, text_content, self.model_instance, self.tenant_id, self.voice ) future_queue.put(futures_result) - if text_tmp: self.msg_text = text_tmp else: @@ -162,8 +151,6 @@ class AppGeneratorTTSPublisher: result = [] for i in tx: end = i.regs[0][1] - sentence = org_text[start:end].strip() - if sentence: - result.append(sentence) + result.append(org_text[start:end]) start = end return result, org_text[start:]