From bc0d2f246b31173b09a9a10e11511efaa31f7643 Mon Sep 17 00:00:00 2001 From: misyaguziya Date: Wed, 14 Feb 2024 00:00:14 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A7[WIP/TEST]=20Model=20:=20=E6=96=87?= =?UTF-8?q?=E5=AD=97=E8=B5=B7=E3=81=93=E3=81=97=E6=A9=9F=E8=83=BD=E3=81=AE?= =?UTF-8?q?=E7=B5=82=E4=BA=86=E6=99=82=E3=81=AB=E3=82=AD=E3=83=A3=E3=83=83?= =?UTF-8?q?=E3=82=B7=E3=83=A5=E3=82=AF=E3=83=AA=E3=82=A2=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- model.py | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/model.py b/model.py index 62d727cd..f5913d17 100644 --- a/model.py +++ b/model.py @@ -1,3 +1,4 @@ +import gc import tempfile from zipfile import ZipFile from subprocess import Popen @@ -336,7 +337,7 @@ class Model: ) # self.mic_audio_recorder.recordIntoQueue(mic_audio_queue, mic_energy_queue) self.mic_audio_recorder.recordIntoQueue(mic_audio_queue, None) - mic_transcriber = AudioTranscriber( + self.mic_transcriber = AudioTranscriber( speaker=False, source=self.mic_audio_recorder.source, phrase_timeout=phase_timeout, @@ -346,13 +347,19 @@ class Model: whisper_weight_type=config.WHISPER_WEIGHT_TYPE, ) def sendMicTranscript(): - mic_transcriber.transcribeAudioQueue(mic_audio_queue, config.SOURCE_LANGUAGE, config.SOURCE_COUNTRY) - message = mic_transcriber.getTranscript() + self.mic_transcriber.transcribeAudioQueue(mic_audio_queue, config.SOURCE_LANGUAGE, config.SOURCE_COUNTRY) + message = self.mic_transcriber.getTranscript() try: fnc(message) except Exception: pass + def endMicTranscript(): + mic_audio_queue.queue.clear() + # mic_energy_queue.queue.clear() + del self.mic_transcriber + gc.collect() + # def sendMicEnergy(): # if mic_energy_queue.empty() is False: # energy = mic_energy_queue.get() @@ -363,7 +370,7 @@ class Model: # pass # sleep(0.01) - self.mic_print_transcript = threadFnc(sendMicTranscript) + self.mic_print_transcript = threadFnc(sendMicTranscript, end_fnc=endMicTranscript) self.mic_print_transcript.daemon = True self.mic_print_transcript.start() @@ -439,7 +446,7 @@ class Model: ) # self.speaker_audio_recorder.recordIntoQueue(speaker_audio_queue, speaker_energy_queue) self.speaker_audio_recorder.recordIntoQueue(speaker_audio_queue ,None) - speaker_transcriber = AudioTranscriber( + self.speaker_transcriber = AudioTranscriber( speaker=True, source=self.speaker_audio_recorder.source, phrase_timeout=phase_timeout, @@ -449,13 +456,19 @@ class Model: whisper_weight_type=config.WHISPER_WEIGHT_TYPE, ) def sendSpeakerTranscript(): - speaker_transcriber.transcribeAudioQueue(speaker_audio_queue, config.TARGET_LANGUAGE, config.TARGET_COUNTRY) - message = speaker_transcriber.getTranscript() + self.speaker_transcriber.transcribeAudioQueue(speaker_audio_queue, config.TARGET_LANGUAGE, config.TARGET_COUNTRY) + message = self.speaker_transcriber.getTranscript() try: fnc(message) except Exception: pass + def endSpeakerTranscript(): + speaker_audio_queue.queue.clear() + # speaker_energy_queue.queue.clear() + del self.speaker_transcriber + gc.collect() + # def sendSpeakerEnergy(): # if speaker_energy_queue.empty() is False: # energy = speaker_energy_queue.get() @@ -466,7 +479,7 @@ class Model: # pass # sleep(0.01) - self.speaker_print_transcript = threadFnc(sendSpeakerTranscript) + self.speaker_print_transcript = threadFnc(sendSpeakerTranscript, end_fnc=endSpeakerTranscript) self.speaker_print_transcript.daemon = True self.speaker_print_transcript.start()