diff --git a/Human.py b/Human.py index 041b53d..7b94550 100644 --- a/Human.py +++ b/Human.py @@ -207,8 +207,6 @@ class Human: self._sample_rate = 16000 self._stride_left_size = 10 self._stride_right_size = 10 - self._feat_queue = mp.Queue(2) - self._output_queue = mp.Queue() self._res_frame_queue = mp.Queue(self._batch_size * 2) full_images, face_frames, coord_frames = self._avatar() @@ -226,12 +224,7 @@ class Human: # self.coords_path = f"{self.avatar_path}/coords.pkl" # self.__loadavatar() - self.mel_chunks_queue_ = Queue() - self.audio_chunks_queue_ = Queue() - self._test_image_queue = Queue() - # self._res_render_queue = Queue() - - self.res_render_queue = mp.Queue(self._batch_size * 2) + self.res_render_queue = Queue(self._batch_size * 2) self.chunk_2_mal = Chunk2Mal(self) self._tts = TTSBase(self) @@ -426,6 +419,11 @@ class Human: # self._tts.stop() logging.info('human destroy') + def pause_talk(self): + self._tts.pause_talk() + self.chunk_2_mal.pause_talk() + self._infer.pause_talk() + def read(self, txt): if self._tts is None: logging.warning('tts is none') diff --git a/infer.py b/infer.py index 78045d6..e816b16 100644 --- a/infer.py +++ b/infer.py @@ -424,6 +424,10 @@ class Infer: time.sleep(1) print('musereal inference processor stop') + def pause_talk(self): + self._feat_queue.queue.clear() + self._audio_out_queue.queue.clear() + def push(self, mel_chunks): self._feat_queue.put(mel_chunks) diff --git a/tts/TTSBase.py b/tts/TTSBase.py index 454839e..9a9b57b 100644 --- a/tts/TTSBase.py +++ b/tts/TTSBase.py @@ -105,6 +105,9 @@ class TTSBase: self._thread.join() logging.info('tts stop') + def pause_talk(self): + self.clear() + def clear(self): self._queue.queue.clear() diff --git a/ui.py b/ui.py index d8f0676..7605c6e 100644 --- a/ui.py +++ b/ui.py @@ -113,6 +113,7 @@ class App(customtkinter.CTk): # content = '' print('content:', content) self.entry.delete(0, customtkinter.END) + self._human.pause_talk() self._human.read(content) # payload = { # 'text': content,