From f631fbb06717e07e6ab0429e18b8f8e57dfad4d8 Mon Sep 17 00:00:00 2001 From: brige Date: Thu, 31 Oct 2024 21:38:35 +0800 Subject: [PATCH] modify render delay --- human/audio_inference_handler.py | 9 +++++---- human/audio_mal_handler.py | 2 ++ nlp/nlp_base.py | 2 +- nlp/nlp_doubao.py | 17 ++++++++--------- render/video_render.py | 2 +- tts/tts_edge_http.py | 3 ++- utils/sync_queue.py | 7 ++++--- 7 files changed, 23 insertions(+), 19 deletions(-) diff --git a/human/audio_inference_handler.py b/human/audio_inference_handler.py index e43fbcb..fbef781 100644 --- a/human/audio_inference_handler.py +++ b/human/audio_inference_handler.py @@ -83,7 +83,8 @@ class AudioInferenceHandler(AudioHandler): logger.info('infer=======') t = time.perf_counter() img_batch = [] - for i in range(batch_size): + # for i in range(batch_size): + for i in range(len(mel_batch)): idx = mirror_index(length, index + i) face = face_list_cycle[idx] img_batch.append(face) @@ -130,6 +131,6 @@ class AudioInferenceHandler(AudioHandler): self._run_thread.join() def pause_talk(self): - pass - # self._audio_queue.clear() - # self._mal_queue.queue.clear() + print('AudioInferenceHandler pause_talk', self._audio_queue.size(), self._mal_queue.qsize()) + self._audio_queue.clear() + self._mal_queue.queue.clear() diff --git a/human/audio_mal_handler.py b/human/audio_mal_handler.py index 1f295a3..2a08f11 100644 --- a/human/audio_mal_handler.py +++ b/human/audio_mal_handler.py @@ -76,6 +76,7 @@ class AudioMalHandler(AudioHandler): print("AudioMalHandler start_idx222", start_idx + mel_step_size - start_idx) mel_chunks.append(mel[:, start_idx: start_idx + mel_step_size]) i += 1 + print("AudioMalHandler start_idx333", i) self.on_next_handle(mel_chunks, 1) # discard the old part to save memory @@ -105,4 +106,5 @@ class AudioMalHandler(AudioHandler): logging.info('chunk2mal stop') def pause_talk(self): + print('AudioMalHandler pause_talk', self._queue.size()) self._queue.clear() diff --git a/nlp/nlp_base.py b/nlp/nlp_base.py index ef8ceb2..bfe9fce 100644 --- a/nlp/nlp_base.py +++ b/nlp/nlp_base.py @@ -37,7 +37,7 @@ class NLPBase(AsrObserver): def completed(self, message: str): logger.info(f'complete:{message}') - self._context.pause_talk() + # self._context.pause_talk() self.ask(message) def ask(self, question): diff --git a/nlp/nlp_doubao.py b/nlp/nlp_doubao.py index b43f3f5..d11f786 100644 --- a/nlp/nlp_doubao.py +++ b/nlp/nlp_doubao.py @@ -33,7 +33,6 @@ class DouBao(NLPBase): logger.info(f'_request:{question}') logger.info(f'-------dou_bao ask:{question}') try: - ''' stream = await self.__client.chat.completions.create( model="ep-20241008152048-fsgzf", messages=[ @@ -51,14 +50,14 @@ class DouBao(NLPBase): self._on_callback(message) self._on_callback(sec) await stream.close() - ''' - sec = "你是测试客服,是由字节跳动开发的 AI 人工智能助手" - sec, message = self._split_handle.handle(sec) - sec, message = self._split_handle.handle(sec) - if len(message) > 0: - self._on_callback(message) - if len(sec) > 0: - self._on_callback(sec) + + # sec = "你是测试客服,是由字节跳动开发的 AI 人工智能助手" + # sec, message = self._split_handle.handle(sec) + # sec, message = self._split_handle.handle(sec) + # if len(message) > 0: + # self._on_callback(message) + # if len(sec) > 0: + # self._on_callback(sec) except Exception as e: print(e) logger.info(f'_request:{question}, time:{time.time() - t:.4f}s') diff --git a/render/video_render.py b/render/video_render.py index 1476316..b486e60 100644 --- a/render/video_render.py +++ b/render/video_render.py @@ -13,7 +13,7 @@ from human.message_type import MessageType class VideoRender(BaseRender): def __init__(self, play_clock, context, human_render): - super().__init__(play_clock, context, 'Video') + super().__init__(play_clock, context, 'Video', 0.035) self._human_render = human_render self._diff_avg_count = 0 diff --git a/tts/tts_edge_http.py b/tts/tts_edge_http.py index e4b5e2d..c1b9dbb 100644 --- a/tts/tts_edge_http.py +++ b/tts/tts_edge_http.py @@ -17,7 +17,8 @@ class TTSEdgeHttp(TTSBase): def __init__(self, handle, voice='zh-CN-XiaoyiNeural'): super().__init__(handle) self._voice = voice - self._url = 'http://localhost:8082/v1/audio/speech' + # self._url = 'http://localhost:8082/v1/audio/speech' + self._url = 'https://tts.mzzsfy.eu.org/v1/audio/speech' logger.info(f"TTSEdge init, {voice}") async def _on_request(self, txt: str): diff --git a/utils/sync_queue.py b/utils/sync_queue.py index ddb88b0..17f8dc3 100644 --- a/utils/sync_queue.py +++ b/utils/sync_queue.py @@ -3,7 +3,7 @@ import threading from queue import Queue -''' + class SyncQueue: def __init__(self, maxsize): self._queue = Queue(maxsize) @@ -37,9 +37,9 @@ class SyncQueue: def size(self): return self._queue.qsize() + + ''' - - class SyncQueue: def __init__(self, maxsize): self._queue = Queue() @@ -55,3 +55,4 @@ class SyncQueue: def size(self): return self._queue.qsize() +'''