🚧[WIP/TEST] Model : 文字起こし機能の終了時にキャッシュクリアを追加
This commit is contained in:
29
model.py
29
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()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user