🚧[WIP/TEST] Model : 文字起こし機能の終了時にキャッシュクリアを追加

This commit is contained in:
misyaguziya
2024-02-14 00:00:14 +09:00
parent 7cdd9d19d7
commit bc0d2f246b

View File

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