[WIP/TEST] faster-whisperが最低限動く形で実装

config.jsonで設定変更で実行可能
This commit is contained in:
misyaguziya
2024-01-30 18:21:55 +09:00
parent ba12e39bbc
commit 9cd1831ecb
8 changed files with 511 additions and 137 deletions

View File

@@ -98,6 +98,10 @@ class Config:
def SELECTABLE_CTRANSLATE2_WEIGHT_TYPE_DICT(self):
return self._SELECTABLE_CTRANSLATE2_WEIGHT_TYPE_DICT
@property
def SELECTABLE_WHISPER_WEIGHT_TYPE_DICT(self):
return self._SELECTABLE_WHISPER_WEIGHT_TYPE_DICT
@property
def MAX_MIC_ENERGY_THRESHOLD(self):
return self._MAX_MIC_ENERGY_THRESHOLD
@@ -263,6 +267,17 @@ class Config:
self._SELECTED_TAB_TARGET_LANGUAGES = value
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
@property
@json_serializable('SELECTED_RECOGNIZER')
def SELECTED_RECOGNIZER(self):
return self._SELECTED_RECOGNIZER
@SELECTED_RECOGNIZER.setter
def SELECTED_RECOGNIZER(self, value):
if isinstance(value, str):
self._SELECTED_RECOGNIZER = value
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
@property
@json_serializable('IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE')
def IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE(self):
@@ -569,15 +584,37 @@ class Config:
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
@property
@json_serializable('WEIGHT_TYPE')
def WEIGHT_TYPE(self):
return self._WEIGHT_TYPE
@json_serializable('USE_RECOGNIZER_FEATURE')
def USE_RECOGNIZER_FEATURE(self):
return self._USE_RECOGNIZER_FEATURE
@WEIGHT_TYPE.setter
def WEIGHT_TYPE(self, value):
@USE_RECOGNIZER_FEATURE.setter
def USE_RECOGNIZER_FEATURE(self, value):
if isinstance(value, bool):
self._USE_RECOGNIZER_FEATURE = value
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
@property
@json_serializable('CTRANSLATE2_WEIGHT_TYPE')
def CTRANSLATE2_WEIGHT_TYPE(self):
return self._CTRANSLATE2_WEIGHT_TYPE
@CTRANSLATE2_WEIGHT_TYPE.setter
def CTRANSLATE2_WEIGHT_TYPE(self, value):
# if isinstance(value, str) and value in self.SELECTABLE_CTRANSLATE2_WEIGHT_TYPE_DICT:
if isinstance(value, str):
self._WEIGHT_TYPE = value
self._CTRANSLATE2_WEIGHT_TYPE = value
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
@property
@json_serializable('WHISPER_WEIGHT_TYPE')
def WHISPER_WEIGHT_TYPE(self):
return self._WHISPER_WEIGHT_TYPE
@WHISPER_WEIGHT_TYPE.setter
def WHISPER_WEIGHT_TYPE(self, value):
if isinstance(value, str):
self._WHISPER_WEIGHT_TYPE = value
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
@property
@@ -756,6 +793,23 @@ class Config:
"Small": "Small",
"Large": "Large",
}
self._SELECTABLE_WHISPER_WEIGHT_TYPE_DICT = {
# {Save json str}: {i18n_placeholder} pairs
"tiny": "tiny",
"tiny.en": "tiny.en",
"base": "base",
"base.en": "base.en",
"small": "small",
"small.en": "small.en",
"medium": "medium",
"medium.en": "medium.en",
"large-v1": "large-v1",
"large-v2": "large-v2",
"large-v3": "large-v3",
"large": "large",
}
self._MAX_MIC_ENERGY_THRESHOLD = 2000
self._MAX_SPEAKER_ENERGY_THRESHOLD = 4000
@@ -795,6 +849,7 @@ class Config:
"2":"English\n(United States)",
"3":"English\n(United States)",
}
self._SELECTED_RECOGNIZER = "Google"
self._IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = False
## Config Window
@@ -831,7 +886,9 @@ class Config:
"DeepL_API": None,
}
self._USE_TRANSLATION_FEATURE = True
self._WEIGHT_TYPE = "Small"
self._CTRANSLATE2_WEIGHT_TYPE = "Small"
self._USE_RECOGNIZER_FEATURE = True
self._WHISPER_WEIGHT_TYPE = "base"
self._SEND_MESSAGE_FORMAT = "[message]"
self._SEND_MESSAGE_FORMAT_WITH_T = "[message]([translation])"
self._RECEIVED_MESSAGE_FORMAT = "[message]"