update transcription module

Thread処理の不要な部分を削除
This commit is contained in:
misyaguziya
2023-07-01 23:30:57 +09:00
parent e7899a6b1d
commit 6b7230ff4f

98
VRCT.py
View File

@@ -447,10 +447,35 @@ class App(customtkinter.CTk):
phrase_timeout=self.INPUT_MIC_PHRASE_TIMEOUT, phrase_timeout=self.INPUT_MIC_PHRASE_TIMEOUT,
max_phrases=self.INPUT_MIC_MAX_PHRASES, max_phrases=self.INPUT_MIC_MAX_PHRASES,
) )
self.mic_transcribe = utils.thread_fnc(self.mic_transcriber.transcribe_audio_queue, args=(self.mic_audio_queue,)) def mic_transcript_to_chatbox():
self.mic_transcribe.daemon = True self.mic_transcriber.transcribe_audio_queue(self.mic_audio_queue)
self.mic_transcribe.start() message = self.mic_transcriber.get_transcript()
self.mic_print_transcript = utils.thread_fnc(self.mic_transcript_to_chatbox) if len(message) > 0:
# translate
if self.checkbox_translation.get() is False:
voice_message = f"{message}"
elif self.translator.translator_status[self.CHOICE_TRANSLATOR] is False:
utils.print_textbox(self.textbox_message_log, "Auth Key or language setting is incorrect", "ERROR")
utils.print_textbox(self.textbox_message_system_log, "Auth Key or language setting is incorrect", "ERROR")
voice_message = f"{message}"
else:
result = self.translator.translate(
translator_name=self.CHOICE_TRANSLATOR,
source_language=self.INPUT_SOURCE_LANG,
target_language=self.INPUT_TARGET_LANG,
message=message
)
voice_message = self.MESSAGE_FORMAT.replace("[message]", message).replace("[translation]", result)
if self.checkbox_transcription_send.get() is True:
# send OSC message
osc_tools.send_message(voice_message, self.OSC_IP_ADDRESS, self.OSC_PORT)
# update textbox message log
utils.print_textbox(self.textbox_message_log, f"{voice_message}", "SEND")
utils.print_textbox(self.textbox_message_send_log, f"{voice_message}", "SEND")
self.mic_print_transcript = utils.thread_fnc(mic_transcript_to_chatbox)
self.mic_print_transcript.daemon = True
self.mic_print_transcript.start() self.mic_print_transcript.start()
utils.print_textbox(self.textbox_message_log, "Start voice2chatbox", "INFO") utils.print_textbox(self.textbox_message_log, "Start voice2chatbox", "INFO")
@@ -458,8 +483,6 @@ class App(customtkinter.CTk):
else: else:
if isinstance(self.mic_print_transcript, utils.thread_fnc): if isinstance(self.mic_print_transcript, utils.thread_fnc):
self.mic_print_transcript.stop() self.mic_print_transcript.stop()
if isinstance(self.mic_transcribe, utils.thread_fnc):
self.mic_transcribe.stop()
if self.mic_audio_recorder.stop != None: if self.mic_audio_recorder.stop != None:
self.mic_audio_recorder.stop() self.mic_audio_recorder.stop()
self.mic_audio_recorder.stop = None self.mic_audio_recorder.stop = None
@@ -487,53 +510,9 @@ class App(customtkinter.CTk):
phrase_timeout=self.INPUT_SPEAKER_PHRASE_TIMEOUT, phrase_timeout=self.INPUT_SPEAKER_PHRASE_TIMEOUT,
max_phrases=self.INPUT_SPEAKER_MAX_PHRASES, max_phrases=self.INPUT_SPEAKER_MAX_PHRASES,
) )
self.spk_transcribe = utils.thread_fnc(self.spk_transcriber.transcribe_audio_queue, args=(self.spk_audio_queue,))
self.spk_transcribe.daemon = True
self.spk_transcribe.start()
self.spk_print_transcript = utils.thread_fnc(self.spk_transcript_to_textbox)
self.spk_print_transcript.start()
utils.print_textbox(self.textbox_message_log, "Start speaker2log", "INFO")
utils.print_textbox(self.textbox_message_system_log, "Start speaker2log", "INFO")
else:
if isinstance(self.spk_print_transcript, utils.thread_fnc):
self.spk_print_transcript.stop()
if isinstance(self.spk_transcribe, utils.thread_fnc):
self.spk_transcribe.stop()
if self.spk_audio_recorder.stop != None:
self.spk_audio_recorder.stop()
self.spk_audio_recorder.stop = None
utils.print_textbox(self.textbox_message_log, "Stop speaker2log", "INFO")
utils.print_textbox(self.textbox_message_system_log, "Stop speaker2log", "INFO")
utils.save_json(self.PATH_CONFIG, "ENABLE_TRANSCRIPTION_RECEIVE", self.ENABLE_TRANSCRIPTION_RECEIVE)
def mic_transcript_to_chatbox(self): def spk_transcript_to_textbox():
message = self.mic_transcriber.get_transcript() self.spk_transcriber.transcribe_audio_queue(self.spk_audio_queue)
if len(message) > 0:
# translate
if self.checkbox_translation.get() is False:
voice_message = f"{message}"
elif self.translator.translator_status[self.CHOICE_TRANSLATOR] is False:
utils.print_textbox(self.textbox_message_log, "Auth Key or language setting is incorrect", "ERROR")
utils.print_textbox(self.textbox_message_system_log, "Auth Key or language setting is incorrect", "ERROR")
voice_message = f"{message}"
else:
result = self.translator.translate(
translator_name=self.CHOICE_TRANSLATOR,
source_language=self.INPUT_SOURCE_LANG,
target_language=self.INPUT_TARGET_LANG,
message=message
)
voice_message = self.MESSAGE_FORMAT.replace("[message]", message).replace("[translation]", result)
if self.checkbox_transcription_send.get() is True:
# send OSC message
osc_tools.send_message(voice_message, self.OSC_IP_ADDRESS, self.OSC_PORT)
# update textbox message log
utils.print_textbox(self.textbox_message_log, f"{voice_message}", "SEND")
utils.print_textbox(self.textbox_message_send_log, f"{voice_message}", "SEND")
time.sleep(1)
def spk_transcript_to_textbox(self):
message = self.spk_transcriber.get_transcript() message = self.spk_transcriber.get_transcript()
if len(message) > 0: if len(message) > 0:
# translate # translate
@@ -558,7 +537,20 @@ class App(customtkinter.CTk):
# update textbox message receive log # update textbox message receive log
utils.print_textbox(self.textbox_message_log, f"{voice_message}", "RECEIVE") utils.print_textbox(self.textbox_message_log, f"{voice_message}", "RECEIVE")
utils.print_textbox(self.textbox_message_receive_log, f"{voice_message}", "RECEIVE") utils.print_textbox(self.textbox_message_receive_log, f"{voice_message}", "RECEIVE")
time.sleep(1)
self.spk_print_transcript = utils.thread_fnc(spk_transcript_to_textbox)
self.spk_print_transcript.start()
utils.print_textbox(self.textbox_message_log, "Start speaker2log", "INFO")
utils.print_textbox(self.textbox_message_system_log, "Start speaker2log", "INFO")
else:
if isinstance(self.spk_print_transcript, utils.thread_fnc):
self.spk_print_transcript.stop()
if self.spk_audio_recorder.stop != None:
self.spk_audio_recorder.stop()
self.spk_audio_recorder.stop = None
utils.print_textbox(self.textbox_message_log, "Stop speaker2log", "INFO")
utils.print_textbox(self.textbox_message_system_log, "Stop speaker2log", "INFO")
utils.save_json(self.PATH_CONFIG, "ENABLE_TRANSCRIPTION_RECEIVE", self.ENABLE_TRANSCRIPTION_RECEIVE)
def checkbox_foreground_callback(self): def checkbox_foreground_callback(self):
self.ENABLE_FOREGROUND = self.checkbox_foreground.get() self.ENABLE_FOREGROUND = self.checkbox_foreground.get()