From 322ff33c84e38f6509edfe03c119235694d57295 Mon Sep 17 00:00:00 2001
From: jiegeaiai <jiegeaiai@163.com>
Date: Thu, 5 Dec 2024 00:47:17 +0800
Subject: [PATCH] modify ipc

---
 human/__init__.py                     |   1 +
 human/audio_inference_handler.py      |  11 +++--
 human/audio_inference_onnx_handler.py |  20 +++------
 human/huaman_status.py                |  36 +++++++++++++++
 ipc/ipc.dll                           | Bin 74240 -> 75264 bytes
 ipc/ipc.exp                           | Bin 2338 -> 2428 bytes
 ipc/ipc.lib                           | Bin 4378 -> 4534 bytes
 ipc/ipc.pdb                           | Bin 1077248 -> 1085440 bytes
 ipc/ipc_mem.py                        |  62 ++++++++++++++++++++++++++
 ipc/ipc_util.py                       |   4 +-
 main.py                               |   1 +
 ui/ipc_render.py                      |   3 +-
 12 files changed, 117 insertions(+), 21 deletions(-)
 create mode 100644 human/huaman_status.py
 create mode 100644 ipc/ipc_mem.py

diff --git a/human/__init__.py b/human/__init__.py
index 503a041..cb6be4d 100644
--- a/human/__init__.py
+++ b/human/__init__.py
@@ -4,4 +4,5 @@ from .human_context import HumanContext
 from .audio_mal_handler import AudioMalHandler
 from .audio_inference_handler import AudioInferenceHandler
 from .audio_inference_onnx_handler import AudioInferenceOnnxHandler
+from .huaman_status import HumanStatusEnum, HumanStatus
 from .human_render import HumanRender
diff --git a/human/audio_inference_handler.py b/human/audio_inference_handler.py
index 82a8d51..6755a4b 100644
--- a/human/audio_inference_handler.py
+++ b/human/audio_inference_handler.py
@@ -6,10 +6,12 @@ import time
 from queue import Queue
 from threading import Event, Thread
 
+import cv2
 import numpy as np
 import torch
 
 from eventbus import EventBus
+from human import HumanStatus
 from human_handler import AudioHandler
 from utils import load_model, mirror_index, get_device, SyncQueue
 
@@ -67,12 +69,13 @@ class AudioInferenceHandler(AudioHandler):
         logger.info("Model loaded")
 
         face_list_cycle = self._context.face_list_cycle
-
         length = len(face_list_cycle)
         index = 0
         count = 0
         count_time = 0
         logger.info('start inference')
+        silence_length = 133
+        human_status = HumanStatus(length, silence_length)
 
         device = get_device()
         logger.info(f'use device:{device}')
@@ -107,11 +110,13 @@ class AudioInferenceHandler(AudioHandler):
                     for i in range(batch_size):
                         if not self._is_running:
                             break
-                        self.on_next_handle((None, mirror_index(length, index), audio_frames[i * 2:i * 2 + 2]),
-                                            0)
+                        # self.on_next_handle((None, mirror_index(silence_length, index),
+                        self.on_next_handle((None, human_status.get_index(),
+                                             audio_frames[i * 2:i * 2 + 2]), 0)
                         index = index + 1
                 else:
                     logger.info(f'infer======= {current_text}')
+                    human_status.try_to_talk()
                     t = time.perf_counter()
                     img_batch = []
                     # for i in range(batch_size):
diff --git a/human/audio_inference_onnx_handler.py b/human/audio_inference_onnx_handler.py
index 8a28627..b521fbe 100644
--- a/human/audio_inference_onnx_handler.py
+++ b/human/audio_inference_onnx_handler.py
@@ -5,7 +5,9 @@ import queue
 import time
 from threading import Event, Thread
 
- # from gfpgan import GFPGANer
+import cv2
+
+# from gfpgan import GFPGANer
 from eventbus import EventBus
 from human_handler import AudioHandler
 from utils import load_model, mirror_index, get_device, SyncQueue
@@ -93,9 +95,9 @@ class AudioInferenceOnnxHandler(AudioHandler):
         gfpgan_model = load_gfpgan_model(gfpgan_model_path)
 
         face_list_cycle = self._context.face_list_cycle
-
-
         length = len(face_list_cycle)
+        for i in range(length):
+            cv2.imwrite(f'face_{i}.png', face_list_cycle[i])
         index = 0
         count = 0
         count_time = 0
@@ -157,18 +159,6 @@ class AudioInferenceOnnxHandler(AudioHandler):
                     onnx_out = model_g.run(onnx_names, onnx_input)[0]
                     pred = onnx_out
 
-                    # onnxruntime_inputs = {"audio_seqs__0": mel_batch, }
-                    # onnxruntime_names = [output.name for output in model_a.get_outputs()]
-                    # embeddings = model_a.run(onnxruntime_names, onnxruntime_inputs)[0]
-                    #
-                    # onnxruntime_inputs = {"audio_embedings__0": embeddings, "img_seqs__1": img_batch}
-                    # onnxruntime_names = [output.name for output in model_g.get_outputs()]
-                    #
-                    # start_model = time.time()
-                    # onnxruntime_output = model_g.run(onnxruntime_names, onnxruntime_inputs)[0]
-                    # end_model = time.time()
-                    # pred = onnxruntime_output
-
                     count_time += (time.perf_counter() - t)
                     count += batch_size
 
diff --git a/human/huaman_status.py b/human/huaman_status.py
new file mode 100644
index 0000000..a031f95
--- /dev/null
+++ b/human/huaman_status.py
@@ -0,0 +1,36 @@
+#encoding = utf8
+
+import logging
+
+
+from enum import Enum
+
+
+class HumanStatusEnum(Enum):
+    silence = 1
+    talking = 2
+
+
+class HumanStatus:
+    def __init__(self, total_frames=0, last_silence_frame=0):
+        self._status = HumanStatusEnum.silence
+        self._total_frames = total_frames
+        self._last_silence_frame = last_silence_frame
+        self._current_frame = 0
+
+    def get_status(self):
+        return self._status
+
+    def set_status(self, status):
+        self._status = status
+        return self._status
+
+    def try_to_talk(self):
+        if self._status == HumanStatusEnum.silence:
+            if self._current_frame - self._last_silence_frame < 0:
+                return False
+            self._status = HumanStatusEnum.talking
+        return True
+
+    def get_index(self):
+        return self._total_frames
diff --git a/ipc/ipc.dll b/ipc/ipc.dll
index a12ee07f7cd782b1aaf0bab3ff10ccf7cbaf8829..9fd872714884271f78c4c6b7d6c5183f3b2514bb 100644
GIT binary patch
delta 23489
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
Z9Sy)eZ!6u6W3R3vgg@=<&p&DLe*k$;xhVhu

delta 22588
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

diff --git a/ipc/ipc.exp b/ipc/ipc.exp
index 433ba89c281efa3f2e9fbc2716fae0a6aee0e534..6d11e2b19cd065aa3d20a5f44ea2914f3a0cdb9b 100644
GIT binary patch
delta 669
zcmZ9K&r8B!7{{M&sg={xH2YnU;3Z?4mQjI+4jrN&7!na7F|k8Ph*3eXf{3~`M)&Ac
z-NJ6su}gI559k=(JqAL3_gF&j!}i%{-@SYHz7M<h*Zdy+RHko~;v^a}J)vk-BGQQ{
zD+8!LoM{}RdVX`a5YE_{U6*)XG?ya|6*sDRoHs92^D`j1@4sdwSGjbM$rp7iDNh*z
z3{YqlY-Sq)gKX<y3!4UZvgN>5wgebrv)AKhOMzW%TcG`Eg{Hx7wr$YEmIiy+b_`s+
ztg~P*TN!L)n*;4FDzp!_v(1D3Y=@waZ3!G;I|BV|E8rm83E08b1XgjLqdgIl@N#8M
z*^q-?O8M+9{5A%oQ$E#ta^$2dYrr{d*zG~*v5rz<Z?S|OpEZ*3f`*FGjgZ9YO-RP5
zCL{^cFl~M2`aDU}g=Cy=4I!GK2O&w(qmWF}^Zz8K(TkA8=v_$S^wCJLR<avLWJO(f
Me?Lv-)s>Zg05#oGF8}}l

delta 586
zcmZ9IJ4*vW6h?1$vnDaFnujJn8-oupA*)eWut<?2p!mQDA{H^O#6Tb+C{Ylih4#yU
zrGllMq!hu*&c;7rV=btypx@qr;9Pdjp8aOHGqc~po1ku8DD;DR)`*5}JraL)5m`i(
zQ2<mwMjB7T+AACuW9v@l)H&v}_S%@{$A{lOE7|X1PpP__u*zkz<DL)|@0*A!<D%lz
z#fB1Zgs@Jf9Oz}61jB5bppPvH_ONY(?QAKqmn{!EyQyS?5jN+j9c&9=lx-i>+0tMi
zTe*N&Cu;_DZlzKc>|)D;18fIiH`@|8$aVw<*jB+Iwi7VO<_147j+=G0sAwTF1Ag(P
z<z1H|*EZ5{Zj675?P|sPN(~1-{YzrYNt8iXQZhwPQZh}SQj(%kv~6{6^_ih9DVe2f
hIhvzeX^}~HQZi5X{}Urgk5XdLizs*=nud4L^$Rj+Nr(Ud

diff --git a/ipc/ipc.lib b/ipc/ipc.lib
index 08169707e4dd55f74f3c22b062783b50948e0d07..8f4c6008038ef2ce56852d1989becdbb81233298 100644
GIT binary patch
delta 400
zcmYk&KTE?v00r=u5Irx=Ur<3hSX3~hRuD7mP_aY74-kb|aA*<H!Kn_?$-#1yeuO#}
z`~;;G+?=|&IXV=FPC|WY5;gGS@i++Y?rH61{b8>aZkJ2xcVYr40-_7ZK44A&ubmk)
z6G6(Y12Y3A`L&d*vy(MUIWds1N0};<tV$w^4%LC&?|f~!SC==(XU!N{_KMo8-U`cq
z+gy(83ZO563757#U`zqkc{re&59rLH1;h?8vVkg9*m*IyD8PXY3mWu)&4j=L=3!tC
z62EO$d#A>;?&b5M=)7?eT{qROwyZWpAo9IO;!$qy>}F3{O5Soh<%)LWyYtD3{Hu{)
XPOUnj`tTOz`~BV963+@s^H+WVwbV<A

delta 314
zcmYk%F-yZh6u|L+)986;k|tn<f`jN%I*C(?gBf(NP%7dcKS94jJBHGsa*Ig)5+*ow
zF8wt13pj``y}=&*c=xz_@7{e~zF#cTNt#}tyY*s#4yZBc0?Z2Hfz#T;PETTO=ERkp
zi)iBnbErjKCtSi#EKvkOEzci@kE5sO{O;Zs`sVfLs>~W|Z<6-^XNhE(v4TRw%D_OX
zw=L+2nW!Y+$fdb->`GjQGKr{PkWUa{2njf*fwz}w4pAK7bHx6>$*nE@#4ehr<)=UO
ZY^JiZP;c5!lN0@WR(-dntFa$R=MQ#VF`fVb

diff --git a/ipc/ipc.pdb b/ipc/ipc.pdb
index 83c7e03fa15cfff8d1a5acc50831b2abb7eecf5b..b7765b7c8de2d519b4610e0b7c7a56e2b33e149c 100644
GIT binary patch
delta 51246
zcmc${3w%yj_BVdcdCv1ZC*&@Ph=?bVL`0;K2B9uVB<hkx;?^)OiHar~1gRzlPtww%
zLmNUiEgCHqiY9KyB{WewC>nif=?{$-Lx&FY(xF3t|L;0`KZMcS{NDHf`gC>ez4qE`
zuf5jVYwvT(d5Rn2iz^aJ!(5zXNlG(I#y_hrXS#ptCKoP>Z?-s7b>dX1w$;`^_pjZ`
zZ0=qz%~U~*lU%>q8fg2gn{3jZ+};1_wm2?Mk4tlJCz~PBB<YjV-Oro0CMRuc5<DDz
z8Wc%73EcgPNs0r0Yaae5{vD{2Bn%NIv*dJle~SjPNn#N2ldQ73LGI6$c_n%2aYNl}
zn^dReD2t2xZta^{<5s3-CT{JUzte4TespkBY;2dVu~CT~Iz>fy>=4r_Dz-y>VnRZP
z-qC&fbc~9Rjq21ns%%*P5yictENDt3OG|h6wa{e5NbJBM_aTkP$y2se%v8KxrC5)q
zU@MqfG&p<GILQZf=dC60PIg&bI)~jnrzLN#uZVS5qFR=@>g~%qRd?}-Ybi;x<R`gG
z@gDtQjHt3%)i27KWml^Qc;*^y%^$R7wq(brsJ60I)vj9$wse=3{QYG=ZfnbGE3MYD
zhOIfuto>#Ew@va~wVz~4lIA0!Z&#11{bfhCMJlz#y-GQ@zwE8;lRUqFj7j=<tKW_$
zE#$bekk6o23lb4x44n#D*<}+y`&M!GD;rcFr1<)kO|KvAF~g5|x?`54x-3oEda2&7
zdc0(G9b|Ov3-ax<mrngfzOBouGC)>BTC!BL5^m2oxXe;-FRtU4M*X4Ae|xNMGX|5S
z-M*avDN%o+8L#($tp4d^{8vO>*d)&5$3_H2vPhAVy9aD0&1*;hm!xoxU;|0I)?AX@
z4TXvwt}Xl9u@;`3*2I|VAXv$-MVZg>fI*xbA_Yh(9*JR+<PVX5#5^sEvsH3-YGTox
zy__M|2ki&Yeh-l2>1ek$QKVE4N1HGD&h#pK?RYmIVwnK=7J7aIAdzVL;&^0}XrcU}
zr^`}LM-EzmPNxAOT&QO&4CW9@ZC5b4ZoDnN<Q`Y#Ea-Wl`*3=@S0LRF3f=-eC%o+V
zX&;L-n#YB+%@)PS5{7bSI6GodLIbGlMbv$HS6>oIUGqU}2xqQV@XtfJHk^f96+feV
zHk|dhDnXq|ojdKZ)Op|DCA+vf*T6p$bXQJqUvh%WR6#3jUv~bCkHsIwg7$15iH}7&
zzdifP3U#RKE!5jM)PYD+rx>&w?OA{Z{$(iFw`bins6*vz?b!%T39^tnGb76OedS}h
z2XbKqTSY9s5g00h?W3--DCbA8uQVmpVE66FEKW-QfMU=yI-re)ZQ|Ulcrzci9`qp{
z*d*{+uArROf$eir0tONP0`N~Ge%0ApyiSrlq2@@?<^c*oCn`D4;XLY7i?){>ectAM
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
SDmRuzo(e2;x&qfZ3;qi$jJja}

delta 42789
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

diff --git a/ipc/ipc_mem.py b/ipc/ipc_mem.py
new file mode 100644
index 0000000..3abb62e
--- /dev/null
+++ b/ipc/ipc_mem.py
@@ -0,0 +1,62 @@
+#encoding = utf8
+
+import logging
+import os
+
+from ctypes import *
+
+current = os.path.dirname(__file__)
+dynamic_path = os.path.join(current, 'ipc.dll')
+
+
+class IPCMem:
+    def __init__(self, sender, receiver):
+        self.__ipc_obj = WinDLL(dynamic_path)
+        print(self.__ipc_obj)
+        if self.__ipc_obj is not None:
+            self.__ipc_obj.initialize.argtypes = [c_char_p, c_char_p]
+            self.__ipc_obj.initialize.restype = c_bool
+            print('IPCUtil init', sender.encode('utf-8'), receiver.encode('utf-8'))
+            self.__init = self.__ipc_obj.initialize(sender.encode('utf-8'), receiver.encode('utf-8'))
+            print('IPCUtil init', self.__init)
+
+    def __del__(self):
+        print('IPCUtil __del__')
+        if self.__ipc_obj is None:
+            return
+        if self.__init:
+            self.__ipc_obj.uninitialize()
+
+    def listen(self):
+        if not self.__init:
+            return False
+        self.__ipc_obj.listen.restype = c_bool
+        return self.__ipc_obj.listen()
+
+    def send_text(self, data):
+        if not self.__init:
+            return False
+        self.__ipc_obj.send.argtypes = [c_char_p, c_uint]
+        self.__ipc_obj.send.restype = c_bool
+        send_data = data.encode('utf-8')
+        send_len = len(send_data) + 1
+        if not self.__ipc_obj.send(send_data, send_len):
+            self.__ipc_obj.reConnect()
+        return True
+
+    def send_binary(self, data, size):
+        if not self.__init:
+            return False
+        self.__ipc_obj.send.argtypes = [c_char_p, c_uint]
+        self.__ipc_obj.send.restype = c_bool
+        data_ptr = cast(data, c_char_p)
+        return self.__ipc_obj.send(data_ptr, size)
+
+    def set_reader_callback(self, callback):
+        if not self.__init:
+            return False
+        CALLBACK_TYPE = CFUNCTYPE(None, c_char_p, c_uint)
+        self.c_callback = CALLBACK_TYPE(callback)  # Store the callback to prevent garbage collection
+        self.__ipc_obj.setReaderCallback.argtypes = [CALLBACK_TYPE]
+        self.__ipc_obj.setReaderCallback.restype = c_bool
+        return self.__ipc_obj.setReaderCallback(self.c_callback)
diff --git a/ipc/ipc_util.py b/ipc/ipc_util.py
index 798536a..9ae5d80 100644
--- a/ipc/ipc_util.py
+++ b/ipc/ipc_util.py
@@ -38,7 +38,7 @@ class IPCUtil:
         self.__ipc_obj.send.restype = c_bool
         send_data = data.encode('utf-8')
         send_len = len(send_data) + 1
-        if not self.__ipc_obj.send(send_data, send_len):
+        if not self.__ipc_obj.trySend(send_data, send_len):
             self.__ipc_obj.reConnect()
         return True
 
@@ -48,7 +48,7 @@ class IPCUtil:
         self.__ipc_obj.send.argtypes = [c_char_p, c_uint]
         self.__ipc_obj.send.restype = c_bool
         data_ptr = cast(data, c_char_p)
-        return self.__ipc_obj.send(data_ptr, size)
+        return self.__ipc_obj.trySend(data_ptr, size)
 
     def set_reader_callback(self, callback):
         if not self.__init:
diff --git a/main.py b/main.py
index 258f3da..2a36bb6 100644
--- a/main.py
+++ b/main.py
@@ -15,4 +15,5 @@ if __name__ == '__main__':
     logger.info('------------start------------')
     render = IpcRender()
     render.run()
+    render.stop()
     logger.info('------------finish------------')
\ No newline at end of file
diff --git a/ui/ipc_render.py b/ui/ipc_render.py
index ac0c90a..17c91d9 100644
--- a/ui/ipc_render.py
+++ b/ui/ipc_render.py
@@ -64,7 +64,8 @@ class IpcRender:
         logger.info('ipc render exit')
 
     def stop(self):
-        pass
+        if self._human_context is not None:
+            self._human_context.stop()
 
     def on_render(self, image):
         self._queue.put(image)