Merge branch 'init_optimize' into for_webui

This commit is contained in:
misyaguziya
2024-10-31 00:06:15 +09:00
3 changed files with 62 additions and 80 deletions

View File

@@ -82,10 +82,6 @@ class Config:
def TRANSPARENCY_RANGE(self):
return self._TRANSPARENCY_RANGE
@property
def APPEARANCE_THEME_LIST(self):
return self._APPEARANCE_THEME_LIST
@property
def UI_SCALING_RANGE(self):
return self._UI_SCALING_RANGE
@@ -320,17 +316,6 @@ class Config:
self._TRANSPARENCY = value
self.saveConfig(inspect.currentframe().f_code.co_name, value)
@property
@json_serializable('APPEARANCE_THEME')
def APPEARANCE_THEME(self):
return self._APPEARANCE_THEME
@APPEARANCE_THEME.setter
def APPEARANCE_THEME(self, value):
if value in self.APPEARANCE_THEME_LIST:
self._APPEARANCE_THEME = value
self.saveConfig(inspect.currentframe().f_code.co_name, value)
@property
@json_serializable('UI_SCALING')
def UI_SCALING(self):
@@ -918,7 +903,6 @@ class Config:
self._DOCUMENTS_URL = "https://mzsoftware.notion.site/VRCT-Documents-be79b7a165f64442ad8f326d86c22246"
self._DEEPL_AUTH_KEY_PAGE_URL = "https://www.deepl.com/ja/account/summary"
self._TRANSPARENCY_RANGE = (40, 100)
self._APPEARANCE_THEME_LIST = ["Light", "Dark", "System"]
self._UI_SCALING_RANGE = (40, 200)
self._TEXTBOX_UI_SCALING_RANGE = (40, 200)
self._MESSAGE_BOX_RATIO_RANGE = (1, 99)
@@ -953,7 +937,7 @@ class Config:
# Save Json Data
## Main Window
self._SELECTED_TAB_NO = "1"
self._SELECTED_TRANSLATION_ENGINES= {
self._SELECTED_TRANSLATION_ENGINES = {
"1":"CTranslate2",
"2":"CTranslate2",
"3":"CTranslate2",
@@ -1030,7 +1014,6 @@ class Config:
## Config Window
self._TRANSPARENCY = 100
self._APPEARANCE_THEME = "Dark"
self._UI_SCALING = 100
self._TEXTBOX_UI_SCALING = 100
self._MESSAGE_BOX_RATIO = 10
@@ -1043,7 +1026,7 @@ class Config:
"width": 870,
"height": 654,
}
self._AUTO_MIC_SELECT = True
self._AUTO_MIC_SELECT = False
self._SELECTED_MIC_HOST = device_manager.getDefaultMicDevice()["host"]["name"]
self._SELECTED_MIC_DEVICE = device_manager.getDefaultMicDevice()["device"]["name"]
self._MIC_THRESHOLD = 300
@@ -1052,17 +1035,17 @@ class Config:
self._MIC_PHRASE_TIMEOUT = 3
self._MIC_MAX_PHRASES = 10
self._MIC_WORD_FILTER = []
self._MIC_AVG_LOGPROB=-0.8
self._MIC_NO_SPEECH_PROB=0.6
self._AUTO_SPEAKER_SELECT = True
self._MIC_AVG_LOGPROB = -0.8
self._MIC_NO_SPEECH_PROB = 0.6
self._AUTO_SPEAKER_SELECT = False
self._SELECTED_SPEAKER_DEVICE = device_manager.getDefaultSpeakerDevice()["device"]["name"]
self._SPEAKER_THRESHOLD = 300
self._SPEAKER_AUTOMATIC_THRESHOLD = False
self._SPEAKER_RECORD_TIMEOUT = 3
self._SPEAKER_PHRASE_TIMEOUT = 3
self._SPEAKER_MAX_PHRASES = 10
self._SPEAKER_AVG_LOGPROB=-0.8
self._SPEAKER_NO_SPEECH_PROB=0.6
self._SPEAKER_AVG_LOGPROB = -0.8
self._SPEAKER_NO_SPEECH_PROB = 0.6
self._OSC_IP_ADDRESS = "127.0.0.1"
self._OSC_PORT = 9000
self._AUTH_KEYS = {

View File

@@ -398,10 +398,6 @@ class Controller:
def getTransparencyRange(*args, **kwargs) -> dict:
return {"status":200, "result":config.TRANSPARENCY_RANGE}
@staticmethod
def getAppearanceThemesList(*args, **kwargs) -> dict:
return {"status":200, "result":config.APPEARANCE_THEME_LIST}
@staticmethod
def getUiScalingRange(*args, **kwargs) -> dict:
return {"status":200, "result":config.UI_SCALING_RANGE}
@@ -416,8 +412,11 @@ class Controller:
@staticmethod
def getComputeDeviceList(*args, **kwargs) -> dict:
device_list = [{"type":"cuda", "device_index": i, "name": torch.cuda.get_device_name(i)} for i in range(torch.cuda.device_count())]
device_list.append({"type":"cpu", "device_index": 0, "name": "cpu"})
device_list = []
if torch.cuda.is_available():
for i in range(torch.cuda.device_count()):
device_list.append({"device":"cuda", "device_index": i, "name": torch.cuda.get_device_name(i)})
device_list.append({"device":"cpu", "device_index": 0, "name": "cpu"})
return {"status":200, "result":device_list}
@staticmethod
@@ -515,13 +514,33 @@ class Controller:
@staticmethod
def getSelectedTranslationEngines(*args, **kwargs) -> dict:
return {"status":200, "result":config.SELECTED_TRANSLATION_ENGINES}
data = {
"engines":config.SELECTED_TRANSLATION_ENGINES,
"weight_type":config.CTRANSLATE2_WEIGHT_TYPE,
}
return {"status":200, "result":data}
@staticmethod
def setSelectedTranslationEngines(engines:dict, *args, **kwargs) -> dict:
printLog("setSelectedTranslationEngines", engines)
config.SELECTED_TRANSLATION_ENGINES = engines
return {"status":200,"result":config.SELECTED_TRANSLATION_ENGINES}
def setSelectedTranslationEngines(data:dict, *args, **kwargs) -> dict:
config.SELECTED_TRANSLATION_ENGINES = data.get("engines", {
"1":"CTranslate2",
"2":"CTranslate2",
"3":"CTranslate2",
})
config.CTRANSLATE2_WEIGHT_TYPE = data.get("weight_type", "small")
if model.checkTranslatorCTranslate2ModelWeight(config.CTRANSLATE2_WEIGHT_TYPE):
def callback():
model.changeTranslatorCTranslate2Model()
th_callback = Thread(target=callback)
th_callback.daemon = True
th_callback.start()
data = {
"engines":config.SELECTED_TRANSLATION_ENGINES,
"weight_type":config.CTRANSLATE2_WEIGHT_TYPE,
}
return {"status":200,"result":data}
@staticmethod
def getSelectedYourLanguages(*args, **kwargs) -> dict:
@@ -543,12 +562,21 @@ class Controller:
@staticmethod
def getSelectedTranscriptionEngine(*args, **kwargs) -> dict:
return {"status":200, "result":config.SELECTED_TRANSCRIPTION_ENGINE}
data = {
"engine":config.SELECTED_TRANSCRIPTION_ENGINE,
"weight_type":config.WHISPER_WEIGHT_TYPE,
}
return {"status":200, "result":data}
@staticmethod
def setSelectedTranscriptionEngine(data, *args, **kwargs) -> dict:
config.SELECTED_TRANSCRIPTION_ENGINE = str(data)
return {"status":200, "result":config.SELECTED_TRANSCRIPTION_ENGINE}
def setSelectedTranscriptionEngine(data:dict, *args, **kwargs) -> dict:
config.SELECTED_TRANSCRIPTION_ENGINE = data.get("engine", "Google")
config.WHISPER_WEIGHT_TYPE = data.get("weight_type", "base")
data = {
"engine":config.SELECTED_TRANSCRIPTION_ENGINE,
"weight_type":config.WHISPER_WEIGHT_TYPE,
}
return {"status":200, "result":data}
@staticmethod
def getMultiLanguageTranslation(*args, **kwargs) -> dict:
@@ -615,15 +643,6 @@ class Controller:
config.TRANSPARENCY = int(data)
return {"status":200, "result":config.TRANSPARENCY}
@staticmethod
def getAppearanceTheme(*args, **kwargs) -> dict:
return {"status":200, "result":config.APPEARANCE_THEME}
@staticmethod
def setAppearanceTheme(data, *args, **kwargs) -> dict:
config.APPEARANCE_THEME = data
return {"status":200, "result":config.APPEARANCE_THEME}
@staticmethod
def getUiScaling(*args, **kwargs) -> dict:
return {"status":200, "result":config.UI_SCALING}
@@ -1111,30 +1130,6 @@ class Controller:
self.updateTranslationEngineAndEngineList()
return {"status":200, "result":config.AUTH_KEYS["DeepL_API"]}
@staticmethod
def getCtranslate2WeightType(*args, **kwargs) -> dict:
return {"status":200, "result":config.CTRANSLATE2_WEIGHT_TYPE}
@staticmethod
def setCtranslate2WeightType(data, *args, **kwargs) -> dict:
config.CTRANSLATE2_WEIGHT_TYPE = str(data)
if model.checkTranslatorCTranslate2ModelWeight(config.CTRANSLATE2_WEIGHT_TYPE):
def callback():
model.changeTranslatorCTranslate2Model()
th_callback = Thread(target=callback)
th_callback.daemon = True
th_callback.start()
return {"status":200, "result":config.CTRANSLATE2_WEIGHT_TYPE}
@staticmethod
def getWhisperWeightType(*args, **kwargs) -> dict:
return {"status":200, "result":config.WHISPER_WEIGHT_TYPE}
@staticmethod
def setWhisperWeightType(data, *args, **kwargs) -> dict:
config.WHISPER_WEIGHT_TYPE = str(data)
return {"status":200, "result": config.WHISPER_WEIGHT_TYPE}
@staticmethod
def getAutoClearMessageBox(*args, **kwargs) -> dict:
return {"status":200, "result":config.AUTO_CLEAR_MESSAGE_BOX}
@@ -1639,6 +1634,14 @@ class Controller:
th_download.daemon = True
th_download.start()
@staticmethod
def updateComputeDeviceSettings() -> None:
if torch.cuda.is_available() is False:
if config.SELECTED_TRANSLATION_COMPUTE_DEVICE["device"] != "cpu":
config.SELECTED_TRANSLATION_COMPUTE_DEVICE = {"device":"cpu", "device_index":0, "device_name":"cpu"}
if config.SELECTED_TRANSCRIPTION_COMPUTE_DEVICE["device"] != "cpu":
config.SELECTED_TRANSCRIPTION_COMPUTE_DEVICE = {"device":"cpu", "device_index":0, "device_name":"cpu"}
@staticmethod
def startWatchdog(*args, **kwargs) -> dict:
model.startWatchdog()
@@ -1689,6 +1692,10 @@ class Controller:
self.updateDownloadedWhisperModelWeight()
self.updateTranscriptionEngine()
# set Compute CPU or CUDA
printLog("Set Compute CPU or CUDA")
self.updateComputeDeviceSettings()
# set word filter
printLog("Set Word Filter")
model.addKeywords()

View File

@@ -136,10 +136,6 @@ mapping = {
"/set/data/selected_translation_compute_device": {"status": True, "variable":controller.setSelectedTranslationComputeDevice},
"/get/data/selectable_ctranslate2_weight_type_dict": {"status": True, "variable":controller.getSelectableCtranslate2WeightTypeDict},
"/get/data/ctranslate2_weight_type": {"status": True, "variable":controller.getCtranslate2WeightType},
"/set/data/ctranslate2_weight_type": {"status": True, "variable":controller.setCtranslate2WeightType},
"/run/download_ctranslate2_weight": {"status": True, "variable":controller.downloadCtranslate2Weight},
"/get/data/deepl_auth_key": {"status": False, "variable":controller.getDeepLAuthKey},
@@ -241,10 +237,6 @@ mapping = {
"/set/data/selected_transcription_compute_device": {"status": True, "variable":controller.setSelectedTranscriptionComputeDevice},
"/get/data/selectable_whisper_weight_type_dict": {"status": True, "variable":controller.getSelectableWhisperWeightTypeDict},
"/get/data/whisper_weight_type": {"status": True, "variable":controller.getWhisperWeightType},
"/set/data/whisper_weight_type": {"status": True, "variable":controller.setWhisperWeightType},
"/run/download_whisper_weight": {"status": True, "variable":controller.downloadWhisperWeight},
# VR