添加打断逻辑

This commit is contained in:
brige 2024-10-04 16:44:06 +08:00
parent 9c045df382
commit 6445b6ee05
4 changed files with 14 additions and 8 deletions

View File

@ -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')

View File

@ -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)

View File

@ -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()

1
ui.py
View File

@ -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,