modify render delay

This commit is contained in:
brige 2024-10-31 21:38:35 +08:00
parent 72833a9b7b
commit f631fbb067
7 changed files with 23 additions and 19 deletions

View File

@ -83,7 +83,8 @@ class AudioInferenceHandler(AudioHandler):
logger.info('infer=======') logger.info('infer=======')
t = time.perf_counter() t = time.perf_counter()
img_batch = [] 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) idx = mirror_index(length, index + i)
face = face_list_cycle[idx] face = face_list_cycle[idx]
img_batch.append(face) img_batch.append(face)
@ -130,6 +131,6 @@ class AudioInferenceHandler(AudioHandler):
self._run_thread.join() self._run_thread.join()
def pause_talk(self): def pause_talk(self):
pass print('AudioInferenceHandler pause_talk', self._audio_queue.size(), self._mal_queue.qsize())
# self._audio_queue.clear() self._audio_queue.clear()
# self._mal_queue.queue.clear() self._mal_queue.queue.clear()

View File

@ -76,6 +76,7 @@ class AudioMalHandler(AudioHandler):
print("AudioMalHandler start_idx222", start_idx + mel_step_size - start_idx) print("AudioMalHandler start_idx222", start_idx + mel_step_size - start_idx)
mel_chunks.append(mel[:, start_idx: start_idx + mel_step_size]) mel_chunks.append(mel[:, start_idx: start_idx + mel_step_size])
i += 1 i += 1
print("AudioMalHandler start_idx333", i)
self.on_next_handle(mel_chunks, 1) self.on_next_handle(mel_chunks, 1)
# discard the old part to save memory # discard the old part to save memory
@ -105,4 +106,5 @@ class AudioMalHandler(AudioHandler):
logging.info('chunk2mal stop') logging.info('chunk2mal stop')
def pause_talk(self): def pause_talk(self):
print('AudioMalHandler pause_talk', self._queue.size())
self._queue.clear() self._queue.clear()

View File

@ -37,7 +37,7 @@ class NLPBase(AsrObserver):
def completed(self, message: str): def completed(self, message: str):
logger.info(f'complete:{message}') logger.info(f'complete:{message}')
self._context.pause_talk() # self._context.pause_talk()
self.ask(message) self.ask(message)
def ask(self, question): def ask(self, question):

View File

@ -33,7 +33,6 @@ class DouBao(NLPBase):
logger.info(f'_request:{question}') logger.info(f'_request:{question}')
logger.info(f'-------dou_bao ask:{question}') logger.info(f'-------dou_bao ask:{question}')
try: try:
'''
stream = await self.__client.chat.completions.create( stream = await self.__client.chat.completions.create(
model="ep-20241008152048-fsgzf", model="ep-20241008152048-fsgzf",
messages=[ messages=[
@ -51,14 +50,14 @@ class DouBao(NLPBase):
self._on_callback(message) self._on_callback(message)
self._on_callback(sec) self._on_callback(sec)
await stream.close() await stream.close()
'''
sec = "你是测试客服,是由字节跳动开发的 AI 人工智能助手" # sec = "你是测试客服,是由字节跳动开发的 AI 人工智能助手"
sec, message = self._split_handle.handle(sec) # sec, message = self._split_handle.handle(sec)
sec, message = self._split_handle.handle(sec) # sec, message = self._split_handle.handle(sec)
if len(message) > 0: # if len(message) > 0:
self._on_callback(message) # self._on_callback(message)
if len(sec) > 0: # if len(sec) > 0:
self._on_callback(sec) # self._on_callback(sec)
except Exception as e: except Exception as e:
print(e) print(e)
logger.info(f'_request:{question}, time:{time.time() - t:.4f}s') logger.info(f'_request:{question}, time:{time.time() - t:.4f}s')

View File

@ -13,7 +13,7 @@ from human.message_type import MessageType
class VideoRender(BaseRender): class VideoRender(BaseRender):
def __init__(self, play_clock, context, human_render): 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._human_render = human_render
self._diff_avg_count = 0 self._diff_avg_count = 0

View File

@ -17,7 +17,8 @@ class TTSEdgeHttp(TTSBase):
def __init__(self, handle, voice='zh-CN-XiaoyiNeural'): def __init__(self, handle, voice='zh-CN-XiaoyiNeural'):
super().__init__(handle) super().__init__(handle)
self._voice = voice 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}") logger.info(f"TTSEdge init, {voice}")
async def _on_request(self, txt: str): async def _on_request(self, txt: str):

View File

@ -3,7 +3,7 @@
import threading import threading
from queue import Queue from queue import Queue
'''
class SyncQueue: class SyncQueue:
def __init__(self, maxsize): def __init__(self, maxsize):
self._queue = Queue(maxsize) self._queue = Queue(maxsize)
@ -37,9 +37,9 @@ class SyncQueue:
def size(self): def size(self):
return self._queue.qsize() return self._queue.qsize()
''' '''
class SyncQueue: class SyncQueue:
def __init__(self, maxsize): def __init__(self, maxsize):
self._queue = Queue() self._queue = Queue()
@ -55,3 +55,4 @@ class SyncQueue:
def size(self): def size(self):
return self._queue.qsize() return self._queue.qsize()
'''