🚧[WIP/TEST] Model : 文字起こし機能の終了時にキャッシュクリアを追加
This commit is contained in:
29
model.py
29
model.py
@@ -1,3 +1,4 @@
|
|||||||
|
import gc
|
||||||
import tempfile
|
import tempfile
|
||||||
from zipfile import ZipFile
|
from zipfile import ZipFile
|
||||||
from subprocess import Popen
|
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, mic_energy_queue)
|
||||||
self.mic_audio_recorder.recordIntoQueue(mic_audio_queue, None)
|
self.mic_audio_recorder.recordIntoQueue(mic_audio_queue, None)
|
||||||
mic_transcriber = AudioTranscriber(
|
self.mic_transcriber = AudioTranscriber(
|
||||||
speaker=False,
|
speaker=False,
|
||||||
source=self.mic_audio_recorder.source,
|
source=self.mic_audio_recorder.source,
|
||||||
phrase_timeout=phase_timeout,
|
phrase_timeout=phase_timeout,
|
||||||
@@ -346,13 +347,19 @@ class Model:
|
|||||||
whisper_weight_type=config.WHISPER_WEIGHT_TYPE,
|
whisper_weight_type=config.WHISPER_WEIGHT_TYPE,
|
||||||
)
|
)
|
||||||
def sendMicTranscript():
|
def sendMicTranscript():
|
||||||
mic_transcriber.transcribeAudioQueue(mic_audio_queue, config.SOURCE_LANGUAGE, config.SOURCE_COUNTRY)
|
self.mic_transcriber.transcribeAudioQueue(mic_audio_queue, config.SOURCE_LANGUAGE, config.SOURCE_COUNTRY)
|
||||||
message = mic_transcriber.getTranscript()
|
message = self.mic_transcriber.getTranscript()
|
||||||
try:
|
try:
|
||||||
fnc(message)
|
fnc(message)
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def endMicTranscript():
|
||||||
|
mic_audio_queue.queue.clear()
|
||||||
|
# mic_energy_queue.queue.clear()
|
||||||
|
del self.mic_transcriber
|
||||||
|
gc.collect()
|
||||||
|
|
||||||
# def sendMicEnergy():
|
# def sendMicEnergy():
|
||||||
# if mic_energy_queue.empty() is False:
|
# if mic_energy_queue.empty() is False:
|
||||||
# energy = mic_energy_queue.get()
|
# energy = mic_energy_queue.get()
|
||||||
@@ -363,7 +370,7 @@ class Model:
|
|||||||
# pass
|
# pass
|
||||||
# sleep(0.01)
|
# 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.daemon = True
|
||||||
self.mic_print_transcript.start()
|
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, speaker_energy_queue)
|
||||||
self.speaker_audio_recorder.recordIntoQueue(speaker_audio_queue ,None)
|
self.speaker_audio_recorder.recordIntoQueue(speaker_audio_queue ,None)
|
||||||
speaker_transcriber = AudioTranscriber(
|
self.speaker_transcriber = AudioTranscriber(
|
||||||
speaker=True,
|
speaker=True,
|
||||||
source=self.speaker_audio_recorder.source,
|
source=self.speaker_audio_recorder.source,
|
||||||
phrase_timeout=phase_timeout,
|
phrase_timeout=phase_timeout,
|
||||||
@@ -449,13 +456,19 @@ class Model:
|
|||||||
whisper_weight_type=config.WHISPER_WEIGHT_TYPE,
|
whisper_weight_type=config.WHISPER_WEIGHT_TYPE,
|
||||||
)
|
)
|
||||||
def sendSpeakerTranscript():
|
def sendSpeakerTranscript():
|
||||||
speaker_transcriber.transcribeAudioQueue(speaker_audio_queue, config.TARGET_LANGUAGE, config.TARGET_COUNTRY)
|
self.speaker_transcriber.transcribeAudioQueue(speaker_audio_queue, config.TARGET_LANGUAGE, config.TARGET_COUNTRY)
|
||||||
message = speaker_transcriber.getTranscript()
|
message = self.speaker_transcriber.getTranscript()
|
||||||
try:
|
try:
|
||||||
fnc(message)
|
fnc(message)
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def endSpeakerTranscript():
|
||||||
|
speaker_audio_queue.queue.clear()
|
||||||
|
# speaker_energy_queue.queue.clear()
|
||||||
|
del self.speaker_transcriber
|
||||||
|
gc.collect()
|
||||||
|
|
||||||
# def sendSpeakerEnergy():
|
# def sendSpeakerEnergy():
|
||||||
# if speaker_energy_queue.empty() is False:
|
# if speaker_energy_queue.empty() is False:
|
||||||
# energy = speaker_energy_queue.get()
|
# energy = speaker_energy_queue.get()
|
||||||
@@ -466,7 +479,7 @@ class Model:
|
|||||||
# pass
|
# pass
|
||||||
# sleep(0.01)
|
# 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.daemon = True
|
||||||
self.speaker_print_transcript.start()
|
self.speaker_print_transcript.start()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user