diff --git a/EVT_Core/TTS/GPT_SoVITS/Convert.py b/EVT_Core/TTS/GPT_SoVITS/Convert.py index 00b3551..f41e630 100644 --- a/EVT_Core/TTS/GPT_SoVITS/Convert.py +++ b/EVT_Core/TTS/GPT_SoVITS/Convert.py @@ -8,9 +8,9 @@ import subprocess import torch from pathlib import Path +from scipy.io.wavfile import write from .config import python_exec, webui_port_infer_tts, is_share -#from .GPT_SoVITS.inference_webui import change_gpt_weights, change_sovits_weights, get_tts_wav current_dir = Path(__file__).absolute().parent.as_posix() @@ -138,16 +138,61 @@ def Convert( Model_Path_Load_s2G: str = "GPT_SoVITS/pretrained_models/s2G488k.pth", Model_Dir_Load_bert: str = "GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large", Model_Dir_Load_ssl: str = "GPT_SoVITS/pretrained_models/chinese-hubert-base", - Set_FP16_Run: bool = False + Ref_Audio: str = "", + Ref_Text_Free: bool = False, + Ref_Text: str = "", + Ref_Language: str = "多语种混合", + Text: str = '请输入语句', + Language: str = "多语种混合", + How_To_Cut: str = "按标点符号切", + Top_K: int = 5, + Top_P: float = 1., + Temperature: float = 1., + Set_FP16_Run: bool = False, + Audio_Path_Save: str = ..., + Use_WebUI: bool = False ): # 1C-推理 - change_tts_inference( - if_tts = True, - bert_path = Model_Dir_Load_bert, - cnhubert_base_path = Model_Dir_Load_ssl, - gpu_number = gpus, - is_half = Set_FP16_Run, - gpt_path = Model_Path_Load_s1, - sovits_path = Model_Path_Load_s2G - ) + if Use_WebUI: + change_tts_inference( + if_tts = True, + bert_path = Model_Dir_Load_bert, + cnhubert_base_path = Model_Dir_Load_ssl, + gpu_number = gpus, + is_half = Set_FP16_Run, + gpt_path = Model_Path_Load_s1, + sovits_path = Model_Path_Load_s2G + ) + else: + os.environ["gpt_path"] = Model_Path_Load_s1 + os.environ["sovits_path"] = Model_Path_Load_s2G + os.environ["cnhubert_base_path"] = Model_Dir_Load_ssl + os.environ["bert_path"] = Model_Dir_Load_bert + os.environ["_CUDA_VISIBLE_DEVICES"] = gpus + os.environ["is_half"] = str(Set_FP16_Run) + os.environ["infer_ttswebui"] = str(webui_port_infer_tts) + os.environ["is_share"] = str(is_share) + + from .GPT_SoVITS.inference_webui import gpt_path, sovits_path, change_gpt_weights, change_sovits_weights, get_tts_wav + + change_gpt_weights(gpt_path) + + change_sovits_weights(sovits_path) + + TTS_Result = get_tts_wav( + ref_wav_path = Ref_Audio, + prompt_text = Ref_Text, + prompt_language = Ref_Language, + text = Text, + text_language = Language, + how_to_cut = How_To_Cut, + top_k = Top_K, + top_p = Top_P, + temperature = Temperature, + ref_free = Ref_Text_Free + ) + SR, Audio = list(TTS_Result)[-1] + + write(Audio_Path_Save, SR, Audio) + # 2-GPT-SoVITS-变声 \ No newline at end of file diff --git a/EVT_Core/Train/GPT_SoVITS/GPT_SoVITS/prepare_datasets_1-get-text.py b/EVT_Core/Train/GPT_SoVITS/GPT_SoVITS/prepare_datasets_1-get-text.py index 8b5a412..8270660 100644 --- a/EVT_Core/Train/GPT_SoVITS/GPT_SoVITS/prepare_datasets_1-get-text.py +++ b/EVT_Core/Train/GPT_SoVITS/GPT_SoVITS/prepare_datasets_1-get-text.py @@ -103,9 +103,12 @@ def process(data, res): try: wav_name, spk_name, language, text = line.split("|") # todo.append([name,text,"zh"]) - todo.append( - [wav_name, text, language_v1_to_language_v2.get(language, language)] - ) + if language in language_v1_to_language_v2.keys(): + todo.append( + [wav_name, text, language_v1_to_language_v2.get(language, language)] + ) + else: + print(f"\033[33m[Waring] The {language = } of {wav_name} is not supported for training.\033[0m") except: print(line, traceback.format_exc()) diff --git a/EVT_Core/Train/GPT_SoVITS/GPT_SoVITS/prepare_datasets_2-get-hubert-wav32k.py b/EVT_Core/Train/GPT_SoVITS/GPT_SoVITS/prepare_datasets_2-get-hubert-wav32k.py index 0014bbf..ad6fb0d 100644 --- a/EVT_Core/Train/GPT_SoVITS/GPT_SoVITS/prepare_datasets_2-get-hubert-wav32k.py +++ b/EVT_Core/Train/GPT_SoVITS/GPT_SoVITS/prepare_datasets_2-get-hubert-wav32k.py @@ -72,7 +72,7 @@ def name2go(wav_name,wav_path): tensor_wav16 = tensor_wav16.to(device) ssl=model.model(tensor_wav16.unsqueeze(0))["last_hidden_state"].transpose(1,2).cpu()#torch.Size([1, 768, 215]) if np.isnan(ssl.detach().numpy()).sum()!= 0: - nan_fails.append(wav_name) + nan_fails.append((wav_name,wav_path)) print("nan filtered:%s"%wav_name) return wavfile.write( @@ -80,7 +80,7 @@ def name2go(wav_name,wav_path): 32000, tmp_audio32.astype("int16"), ) - my_save(ssl,hubert_path ) + my_save(ssl,hubert_path) with open(inp_text,"r",encoding="utf8")as f: lines=f.read().strip("\n").split("\n") @@ -103,8 +103,8 @@ def name2go(wav_name,wav_path): if(len(nan_fails)>0 and is_half==True): is_half=False model=model.float() - for wav_name in nan_fails: + for wav in nan_fails: try: - name2go(wav_name) + name2go(wav[0],wav[1]) except: print(wav_name,traceback.format_exc()) diff --git a/EVT_GUI/Functions.py b/EVT_GUI/Functions.py index 79a65ff..efd6d57 100644 --- a/EVT_GUI/Functions.py +++ b/EVT_GUI/Functions.py @@ -33,20 +33,17 @@ class CustomSignals_Functions(QObject): def Function_ScrollToWidget( Trigger: QWidget, - TargetWidget: Optional[QWidget], - ScrollArea: QScrollArea, + TargetWidget: QWidget, + ScrollArea: Optional[QScrollArea] = None, #Alignment: str = 'Top' ): ''' ''' + if ScrollArea is None: + ScrollArea = Function_FindParentUI(TargetWidget, QScrollArea) + def ScrollToWidget(): - if TargetWidget is not None: - TargetRect = TargetWidget.mapToGlobal(QPoint(0, 0)) - else: - try: - TargetRect = ScrollArea.widget().layout().itemAt(Trigger.property("Index")).mapToGlobal(QPoint(0, 0)) - except: - raise Exception("Please set property 'Index' for Trigger widget!") + TargetRect = TargetWidget.mapToGlobal(QPoint(0, 0)) TargetYPos = TargetRect.y() - ScrollArea.widget().mapToGlobal(QPoint(0, 0)).y() ScrollArea.verticalScrollBar().setValue(TargetYPos) @@ -60,11 +57,49 @@ def TreeWidgetEvent(Item, Column): Trigger.clicked.connect(ScrollToWidget) +def Function_AddToTreeWidget( + Widget: QWidget, + TreeWidget: TreeWidgetBase, + RootItemText: str, + ChildItemText: Optional[str] = None, + ScrollArea: Optional[QScrollArea] = None +): + ''' + ''' + RootItemTexts = TreeWidget.rootItemTexts() + if RootItemText in RootItemTexts: + RootItem = TreeWidget.topLevelItem(RootItemTexts.index(RootItemText)) + else: + RootItem = QTreeWidgetItem(TreeWidget) + RootItem.setText(0, RootItemText) + RootItemTextFont = QFont() + RootItemTextFont.setPixelSize(15) + RootItem.setFont(0, RootItemTextFont) + RootItem.setExpanded(True) if not RootItem.isExpanded() else None + + ChildItemTexts = TreeWidget.childItemTexts(RootItem) + if ChildItemText is None: + ChildItem = None + elif ChildItemText in ChildItemTexts: + ChildItem = RootItem.child(ChildItemTexts.index(ChildItemText)) + else: + ChildItem = QTreeWidgetItem(RootItem) + ChildItem.setText(0, ChildItemText) + ChildItemTextFont = QFont() + ChildItemTextFont.setPixelSize(12) + ChildItem.setFont(0, ChildItemTextFont) + + Function_ScrollToWidget( + Trigger = ChildItem if ChildItem is not None else RootItem, + TargetWidget = Widget, + ScrollArea = ScrollArea + ) + + def Function_SetTreeWidget( TreeWidget: QTreeWidget, ItemTexts: dict = {'RootItemText': ('ChildItemText', )}, AddVertically: bool = False, - HideHeader: bool = True, ExpandItems: bool = True ): ''' @@ -91,23 +126,8 @@ def Function_SetTreeWidget( TreeWidget.setColumnCount(1) if AddVertically else None TreeWidget.addTopLevelItems(RootItems) - TreeWidget.setHeaderHidden(HideHeader) - TreeWidget.expandAll() if ExpandItems else None -''' -def Function_SetTreeView( - TreeView: QTreeView, - HeaderTexts: list = [], - RootItemTexts: list = [()], - ChildItemTexts: list = [(())], - AddVertically: bool = False -): - - for Index, HeaderText in enumerate(HeaderTexts): - TreeView.setHeaderLabels(HeaderTexts) - TreeView.header().setOrientation(Qt.Vertical) -''' def Function_SetChildWidgetsVisibility( Container: QWidget, @@ -279,7 +299,7 @@ def Function_ParamsHandler( def Function_ParamsSynchronizer( Trigger: Union[QObject, list], FromTo: dict = {}, - Times: Optional[float] = None, + Times: Union[int, float] = 1, Connection: str = "Connect" ): ''' @@ -316,7 +336,7 @@ def Function_ParamsChecker( Params = [] for UI in ParamsFrom: - Param = Function_ParamsHandler(UI, "Get") + Param = Function_ParamsHandler(UI, "Get") if isinstance(UI, QWidget) else UI if isinstance(Param, str): if Param.strip() == "None" or Param.strip() == "": if UI in ToIterable(EmptyAllowed): diff --git a/EVT_GUI/UI_MainWindow.py b/EVT_GUI/UI_MainWindow.py index 88c9533..e5461a9 100644 --- a/EVT_GUI/UI_MainWindow.py +++ b/EVT_GUI/UI_MainWindow.py @@ -1,7 +1,7 @@ from PySide6.QtCore import (QCoreApplication, QMetaObject, QRect, QSize, Qt) from PySide6.QtWidgets import * -from .Components import WidgetBase, MenuButton, LabelBase, LineEditBase, ComboBoxBase, SpinBoxBase, DoubleSpinBoxBase, ToolBoxBase, ScrollAreaBase, Table_ViewModels, Table_EditAudioSpeaker +from .Components import WidgetBase, MenuButton, LabelBase, LineEditBase, ComboBoxBase, SpinBoxBase, DoubleSpinBoxBase, ToolBoxBase, ScrollAreaBase, TreeWidgetBase, Table_ViewModels, Table_EditAudioSpeaker from . import Sources @@ -2647,86 +2647,10 @@ def setupUi(self, MainWindow): self.verticalLayout_162.setSpacing(12) self.verticalLayout_162.setObjectName(u"verticalLayout_162") self.verticalLayout_162.setContentsMargins(12, 12, 12, 12) - self.TreeWidget_Catalogue_Process = QTreeWidget(self.Widget_Left_Process) + self.TreeWidget_Catalogue_Process = TreeWidgetBase(self.Widget_Left_Process) __qtreewidgetitem = QTreeWidgetItem(self.TreeWidget_Catalogue_Process) QTreeWidgetItem(__qtreewidgetitem) self.TreeWidget_Catalogue_Process.setObjectName(u"TreeWidget_Catalogue_Process") - self.TreeWidget_Catalogue_Process.setStyleSheet(u"QTreeView {\n" -" /*font-size: 12px;\n" -" text-align: center;*/\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"\n" -"QTreeView::item {\n" -" background-color: transparent;\n" -" padding: 2.4px;\n" -"}\n" -"QTreeView::item:hover {\n" -" background-color: rgba(36, 36, 36, 12);\n" -"}\n" -"QTreeView::item:selected {\n" -" background-color: ;\n" -"}\n" -"\n" -"QTreeView::branch {\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"QTreeView::branch:open:has-children {\n" -" image: ;\n" -"}\n" -"QTreeView::branch:closed:has-children {\n" -" image: ;\n" -"}\n" -"QTreeWidget::branch:adjoins-item {\n" -" background-color: ;\n" -"}\n" -"\n" -"\n" -"QScrollBar {\n" -" background-color: transparent;\n" -" border-width: 1.2px;\n" -" border-radius: 6px;\n" -" border-style: solid;\n" -" border-color: transparent;\n" -" margin: 0px;\n" -"}\n" -"QScrollBar:hover {\n" -"}\n" -"\n" -"QScrollBar::horizontal " - "{\n" -" height: 9px;\n" -"}\n" -"QScrollBar::vertical {\n" -" width: 9px;\n" -"}\n" -"\n" -"QScrollBar::sub-line, QScrollBar::add-line {\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"\n" -"QScrollBar::sub-page, QScrollBar::add-page {\n" -" background-color: transparent;\n" -"}\n" -"\n" -"QScrollBar::handle {\n" -" background-color: rgba(123, 123, 123, 123);\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"QScrollBar::handle:hover {\n" -" background-color: rgba(123, 123, 123, 210);\n" -"}") self.verticalLayout_162.addWidget(self.TreeWidget_Catalogue_Process) @@ -4190,86 +4114,10 @@ def setupUi(self, MainWindow): self.verticalLayout_4.setSpacing(12) self.verticalLayout_4.setObjectName(u"verticalLayout_4") self.verticalLayout_4.setContentsMargins(12, 12, 12, 12) - self.TreeWidget_Catalogue_ASR_VPR = QTreeWidget(self.Widget_Left_ASR_VPR) + self.TreeWidget_Catalogue_ASR_VPR = TreeWidgetBase(self.Widget_Left_ASR_VPR) __qtreewidgetitem1 = QTreeWidgetItem(self.TreeWidget_Catalogue_ASR_VPR) QTreeWidgetItem(__qtreewidgetitem1) self.TreeWidget_Catalogue_ASR_VPR.setObjectName(u"TreeWidget_Catalogue_ASR_VPR") - self.TreeWidget_Catalogue_ASR_VPR.setStyleSheet(u"QTreeView {\n" -" /*font-size: 12px;\n" -" text-align: center;*/\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"\n" -"QTreeView::item {\n" -" background-color: transparent;\n" -" padding: 2.4px;\n" -"}\n" -"QTreeView::item:hover {\n" -" background-color: rgba(36, 36, 36, 12);\n" -"}\n" -"QTreeView::item:selected {\n" -" background-color: ;\n" -"}\n" -"\n" -"QTreeView::branch {\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"QTreeView::branch:open:has-children {\n" -" image: ;\n" -"}\n" -"QTreeView::branch:closed:has-children {\n" -" image: ;\n" -"}\n" -"QTreeWidget::branch:adjoins-item {\n" -" background-color: ;\n" -"}\n" -"\n" -"\n" -"QScrollBar {\n" -" background-color: transparent;\n" -" border-width: 1.2px;\n" -" border-radius: 6px;\n" -" border-style: solid;\n" -" border-color: transparent;\n" -" margin: 0px;\n" -"}\n" -"QScrollBar:hover {\n" -"}\n" -"\n" -"QScrollBar::horizontal " - "{\n" -" height: 9px;\n" -"}\n" -"QScrollBar::vertical {\n" -" width: 9px;\n" -"}\n" -"\n" -"QScrollBar::sub-line, QScrollBar::add-line {\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"\n" -"QScrollBar::sub-page, QScrollBar::add-page {\n" -" background-color: transparent;\n" -"}\n" -"\n" -"QScrollBar::handle {\n" -" background-color: rgba(123, 123, 123, 123);\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"QScrollBar::handle:hover {\n" -" background-color: rgba(123, 123, 123, 210);\n" -"}") self.verticalLayout_4.addWidget(self.TreeWidget_Catalogue_ASR_VPR) @@ -5272,86 +5120,10 @@ def setupUi(self, MainWindow): self.verticalLayout_8.setSpacing(12) self.verticalLayout_8.setObjectName(u"verticalLayout_8") self.verticalLayout_8.setContentsMargins(12, 12, 12, 12) - self.TreeWidget_Catalogue_STT_Whisper = QTreeWidget(self.Widget_Left_STT_Whisper) + self.TreeWidget_Catalogue_STT_Whisper = TreeWidgetBase(self.Widget_Left_STT_Whisper) __qtreewidgetitem2 = QTreeWidgetItem(self.TreeWidget_Catalogue_STT_Whisper) QTreeWidgetItem(__qtreewidgetitem2) self.TreeWidget_Catalogue_STT_Whisper.setObjectName(u"TreeWidget_Catalogue_STT_Whisper") - self.TreeWidget_Catalogue_STT_Whisper.setStyleSheet(u"QTreeView {\n" -" /*font-size: 12px;\n" -" text-align: center;*/\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"\n" -"QTreeView::item {\n" -" background-color: transparent;\n" -" padding: 2.4px;\n" -"}\n" -"QTreeView::item:hover {\n" -" background-color: rgba(36, 36, 36, 12);\n" -"}\n" -"QTreeView::item:selected {\n" -" background-color: ;\n" -"}\n" -"\n" -"QTreeView::branch {\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"QTreeView::branch:open:has-children {\n" -" image: ;\n" -"}\n" -"QTreeView::branch:closed:has-children {\n" -" image: ;\n" -"}\n" -"QTreeWidget::branch:adjoins-item {\n" -" background-color: ;\n" -"}\n" -"\n" -"\n" -"QScrollBar {\n" -" background-color: transparent;\n" -" border-width: 1.2px;\n" -" border-radius: 6px;\n" -" border-style: solid;\n" -" border-color: transparent;\n" -" margin: 0px;\n" -"}\n" -"QScrollBar:hover {\n" -"}\n" -"\n" -"QScrollBar::horizontal " - "{\n" -" height: 9px;\n" -"}\n" -"QScrollBar::vertical {\n" -" width: 9px;\n" -"}\n" -"\n" -"QScrollBar::sub-line, QScrollBar::add-line {\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"\n" -"QScrollBar::sub-page, QScrollBar::add-page {\n" -" background-color: transparent;\n" -"}\n" -"\n" -"QScrollBar::handle {\n" -" background-color: rgba(123, 123, 123, 123);\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"QScrollBar::handle:hover {\n" -" background-color: rgba(123, 123, 123, 210);\n" -"}") self.verticalLayout_8.addWidget(self.TreeWidget_Catalogue_STT_Whisper) @@ -6386,86 +6158,10 @@ def setupUi(self, MainWindow): self.verticalLayout_62.setSpacing(12) self.verticalLayout_62.setObjectName(u"verticalLayout_62") self.verticalLayout_62.setContentsMargins(12, 12, 12, 12) - self.TreeWidget_Catalogue_DAT_GPTSoVITS = QTreeWidget(self.Widget_Left_DAT_GPTSoVITS) + self.TreeWidget_Catalogue_DAT_GPTSoVITS = TreeWidgetBase(self.Widget_Left_DAT_GPTSoVITS) __qtreewidgetitem3 = QTreeWidgetItem(self.TreeWidget_Catalogue_DAT_GPTSoVITS) QTreeWidgetItem(__qtreewidgetitem3) self.TreeWidget_Catalogue_DAT_GPTSoVITS.setObjectName(u"TreeWidget_Catalogue_DAT_GPTSoVITS") - self.TreeWidget_Catalogue_DAT_GPTSoVITS.setStyleSheet(u"QTreeView {\n" -" /*font-size: 12px;\n" -" text-align: center;*/\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"\n" -"QTreeView::item {\n" -" background-color: transparent;\n" -" padding: 2.4px;\n" -"}\n" -"QTreeView::item:hover {\n" -" background-color: rgba(36, 36, 36, 12);\n" -"}\n" -"QTreeView::item:selected {\n" -" background-color: ;\n" -"}\n" -"\n" -"QTreeView::branch {\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"QTreeView::branch:open:has-children {\n" -" image: ;\n" -"}\n" -"QTreeView::branch:closed:has-children {\n" -" image: ;\n" -"}\n" -"QTreeWidget::branch:adjoins-item {\n" -" background-color: ;\n" -"}\n" -"\n" -"\n" -"QScrollBar {\n" -" background-color: transparent;\n" -" border-width: 1.2px;\n" -" border-radius: 6px;\n" -" border-style: solid;\n" -" border-color: transparent;\n" -" margin: 0px;\n" -"}\n" -"QScrollBar:hover {\n" -"}\n" -"\n" -"QScrollBar::horizontal " - "{\n" -" height: 9px;\n" -"}\n" -"QScrollBar::vertical {\n" -" width: 9px;\n" -"}\n" -"\n" -"QScrollBar::sub-line, QScrollBar::add-line {\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"\n" -"QScrollBar::sub-page, QScrollBar::add-page {\n" -" background-color: transparent;\n" -"}\n" -"\n" -"QScrollBar::handle {\n" -" background-color: rgba(123, 123, 123, 123);\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"QScrollBar::handle:hover {\n" -" background-color: rgba(123, 123, 123, 210);\n" -"}") self.verticalLayout_62.addWidget(self.TreeWidget_Catalogue_DAT_GPTSoVITS) @@ -7139,86 +6835,10 @@ def setupUi(self, MainWindow): self.verticalLayout_9.setSpacing(12) self.verticalLayout_9.setObjectName(u"verticalLayout_9") self.verticalLayout_9.setContentsMargins(12, 12, 12, 12) - self.TreeWidget_Catalogue_DAT_VITS = QTreeWidget(self.Widget_Left_DAT_VITS) + self.TreeWidget_Catalogue_DAT_VITS = TreeWidgetBase(self.Widget_Left_DAT_VITS) __qtreewidgetitem4 = QTreeWidgetItem(self.TreeWidget_Catalogue_DAT_VITS) QTreeWidgetItem(__qtreewidgetitem4) self.TreeWidget_Catalogue_DAT_VITS.setObjectName(u"TreeWidget_Catalogue_DAT_VITS") - self.TreeWidget_Catalogue_DAT_VITS.setStyleSheet(u"QTreeView {\n" -" /*font-size: 12px;\n" -" text-align: center;*/\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"\n" -"QTreeView::item {\n" -" background-color: transparent;\n" -" padding: 2.4px;\n" -"}\n" -"QTreeView::item:hover {\n" -" background-color: rgba(36, 36, 36, 12);\n" -"}\n" -"QTreeView::item:selected {\n" -" background-color: ;\n" -"}\n" -"\n" -"QTreeView::branch {\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"QTreeView::branch:open:has-children {\n" -" image: ;\n" -"}\n" -"QTreeView::branch:closed:has-children {\n" -" image: ;\n" -"}\n" -"QTreeWidget::branch:adjoins-item {\n" -" background-color: ;\n" -"}\n" -"\n" -"\n" -"QScrollBar {\n" -" background-color: transparent;\n" -" border-width: 1.2px;\n" -" border-radius: 6px;\n" -" border-style: solid;\n" -" border-color: transparent;\n" -" margin: 0px;\n" -"}\n" -"QScrollBar:hover {\n" -"}\n" -"\n" -"QScrollBar::horizontal " - "{\n" -" height: 9px;\n" -"}\n" -"QScrollBar::vertical {\n" -" width: 9px;\n" -"}\n" -"\n" -"QScrollBar::sub-line, QScrollBar::add-line {\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"\n" -"QScrollBar::sub-page, QScrollBar::add-page {\n" -" background-color: transparent;\n" -"}\n" -"\n" -"QScrollBar::handle {\n" -" background-color: rgba(123, 123, 123, 123);\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"QScrollBar::handle:hover {\n" -" background-color: rgba(123, 123, 123, 210);\n" -"}") self.verticalLayout_9.addWidget(self.TreeWidget_Catalogue_DAT_VITS) @@ -8486,86 +8106,10 @@ def setupUi(self, MainWindow): self.verticalLayout_59.setSpacing(12) self.verticalLayout_59.setObjectName(u"verticalLayout_59") self.verticalLayout_59.setContentsMargins(12, 12, 12, 12) - self.TreeWidget_Catalogue_Train_GPTSoVITS = QTreeWidget(self.Widget_Left_Train_GPTSoVITS) + self.TreeWidget_Catalogue_Train_GPTSoVITS = TreeWidgetBase(self.Widget_Left_Train_GPTSoVITS) __qtreewidgetitem5 = QTreeWidgetItem(self.TreeWidget_Catalogue_Train_GPTSoVITS) QTreeWidgetItem(__qtreewidgetitem5) self.TreeWidget_Catalogue_Train_GPTSoVITS.setObjectName(u"TreeWidget_Catalogue_Train_GPTSoVITS") - self.TreeWidget_Catalogue_Train_GPTSoVITS.setStyleSheet(u"QTreeView {\n" -" /*font-size: 12px;\n" -" text-align: center;*/\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"\n" -"QTreeView::item {\n" -" background-color: transparent;\n" -" padding: 2.4px;\n" -"}\n" -"QTreeView::item:hover {\n" -" background-color: rgba(36, 36, 36, 12);\n" -"}\n" -"QTreeView::item:selected {\n" -" background-color: ;\n" -"}\n" -"\n" -"QTreeView::branch {\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"QTreeView::branch:open:has-children {\n" -" image: ;\n" -"}\n" -"QTreeView::branch:closed:has-children {\n" -" image: ;\n" -"}\n" -"QTreeWidget::branch:adjoins-item {\n" -" background-color: ;\n" -"}\n" -"\n" -"\n" -"QScrollBar {\n" -" background-color: transparent;\n" -" border-width: 1.2px;\n" -" border-radius: 6px;\n" -" border-style: solid;\n" -" border-color: transparent;\n" -" margin: 0px;\n" -"}\n" -"QScrollBar:hover {\n" -"}\n" -"\n" -"QScrollBar::horizontal " - "{\n" -" height: 9px;\n" -"}\n" -"QScrollBar::vertical {\n" -" width: 9px;\n" -"}\n" -"\n" -"QScrollBar::sub-line, QScrollBar::add-line {\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"\n" -"QScrollBar::sub-page, QScrollBar::add-page {\n" -" background-color: transparent;\n" -"}\n" -"\n" -"QScrollBar::handle {\n" -" background-color: rgba(123, 123, 123, 123);\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"QScrollBar::handle:hover {\n" -" background-color: rgba(123, 123, 123, 210);\n" -"}") self.verticalLayout_59.addWidget(self.TreeWidget_Catalogue_Train_GPTSoVITS) @@ -9683,86 +9227,10 @@ def setupUi(self, MainWindow): self.verticalLayout_10.setSpacing(12) self.verticalLayout_10.setObjectName(u"verticalLayout_10") self.verticalLayout_10.setContentsMargins(12, 12, 12, 12) - self.TreeWidget_Catalogue_Train_VITS = QTreeWidget(self.Widget_Left_Train_VITS) + self.TreeWidget_Catalogue_Train_VITS = TreeWidgetBase(self.Widget_Left_Train_VITS) __qtreewidgetitem6 = QTreeWidgetItem(self.TreeWidget_Catalogue_Train_VITS) QTreeWidgetItem(__qtreewidgetitem6) self.TreeWidget_Catalogue_Train_VITS.setObjectName(u"TreeWidget_Catalogue_Train_VITS") - self.TreeWidget_Catalogue_Train_VITS.setStyleSheet(u"QTreeView {\n" -" /*font-size: 12px;\n" -" text-align: center;*/\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"\n" -"QTreeView::item {\n" -" background-color: transparent;\n" -" padding: 2.4px;\n" -"}\n" -"QTreeView::item:hover {\n" -" background-color: rgba(36, 36, 36, 12);\n" -"}\n" -"QTreeView::item:selected {\n" -" background-color: ;\n" -"}\n" -"\n" -"QTreeView::branch {\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"QTreeView::branch:open:has-children {\n" -" image: ;\n" -"}\n" -"QTreeView::branch:closed:has-children {\n" -" image: ;\n" -"}\n" -"QTreeWidget::branch:adjoins-item {\n" -" background-color: ;\n" -"}\n" -"\n" -"\n" -"QScrollBar {\n" -" background-color: transparent;\n" -" border-width: 1.2px;\n" -" border-radius: 6px;\n" -" border-style: solid;\n" -" border-color: transparent;\n" -" margin: 0px;\n" -"}\n" -"QScrollBar:hover {\n" -"}\n" -"\n" -"QScrollBar::horizontal " - "{\n" -" height: 9px;\n" -"}\n" -"QScrollBar::vertical {\n" -" width: 9px;\n" -"}\n" -"\n" -"QScrollBar::sub-line, QScrollBar::add-line {\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"\n" -"QScrollBar::sub-page, QScrollBar::add-page {\n" -" background-color: transparent;\n" -"}\n" -"\n" -"QScrollBar::handle {\n" -" background-color: rgba(123, 123, 123, 123);\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"QScrollBar::handle:hover {\n" -" background-color: rgba(123, 123, 123, 210);\n" -"}") self.verticalLayout_10.addWidget(self.TreeWidget_Catalogue_Train_VITS) @@ -11026,86 +10494,10 @@ def setupUi(self, MainWindow): self.verticalLayout_69.setSpacing(12) self.verticalLayout_69.setObjectName(u"verticalLayout_69") self.verticalLayout_69.setContentsMargins(12, 12, 12, 12) - self.TreeWidget_Catalogue_TTS_GPTSoVITS = QTreeWidget(self.Widget_Left_TTS_GPTSoVITS) + self.TreeWidget_Catalogue_TTS_GPTSoVITS = TreeWidgetBase(self.Widget_Left_TTS_GPTSoVITS) __qtreewidgetitem7 = QTreeWidgetItem(self.TreeWidget_Catalogue_TTS_GPTSoVITS) QTreeWidgetItem(__qtreewidgetitem7) self.TreeWidget_Catalogue_TTS_GPTSoVITS.setObjectName(u"TreeWidget_Catalogue_TTS_GPTSoVITS") - self.TreeWidget_Catalogue_TTS_GPTSoVITS.setStyleSheet(u"QTreeView {\n" -" /*font-size: 12px;\n" -" text-align: center;*/\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"\n" -"QTreeView::item {\n" -" background-color: transparent;\n" -" padding: 2.4px;\n" -"}\n" -"QTreeView::item:hover {\n" -" background-color: rgba(36, 36, 36, 12);\n" -"}\n" -"QTreeView::item:selected {\n" -" background-color: ;\n" -"}\n" -"\n" -"QTreeView::branch {\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"QTreeView::branch:open:has-children {\n" -" image: ;\n" -"}\n" -"QTreeView::branch:closed:has-children {\n" -" image: ;\n" -"}\n" -"QTreeWidget::branch:adjoins-item {\n" -" background-color: ;\n" -"}\n" -"\n" -"\n" -"QScrollBar {\n" -" background-color: transparent;\n" -" border-width: 1.2px;\n" -" border-radius: 6px;\n" -" border-style: solid;\n" -" border-color: transparent;\n" -" margin: 0px;\n" -"}\n" -"QScrollBar:hover {\n" -"}\n" -"\n" -"QScrollBar::horizontal " - "{\n" -" height: 9px;\n" -"}\n" -"QScrollBar::vertical {\n" -" width: 9px;\n" -"}\n" -"\n" -"QScrollBar::sub-line, QScrollBar::add-line {\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"\n" -"QScrollBar::sub-page, QScrollBar::add-page {\n" -" background-color: transparent;\n" -"}\n" -"\n" -"QScrollBar::handle {\n" -" background-color: rgba(123, 123, 123, 123);\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"QScrollBar::handle:hover {\n" -" background-color: rgba(123, 123, 123, 210);\n" -"}") self.verticalLayout_69.addWidget(self.TreeWidget_Catalogue_TTS_GPTSoVITS) @@ -11119,7 +10511,7 @@ def setupUi(self, MainWindow): self.ScrollArea_Middle_TTS_GPTSoVITS.setWidgetResizable(True) self.ScrollArea_Middle_WidgetContents_TTS_GPTSoVITS = QWidget() self.ScrollArea_Middle_WidgetContents_TTS_GPTSoVITS.setObjectName(u"ScrollArea_Middle_WidgetContents_TTS_GPTSoVITS") - self.ScrollArea_Middle_WidgetContents_TTS_GPTSoVITS.setGeometry(QRect(0, 0, 581, 649)) + self.ScrollArea_Middle_WidgetContents_TTS_GPTSoVITS.setGeometry(QRect(0, 0, 581, 1545)) self.verticalLayout_66 = QVBoxLayout(self.ScrollArea_Middle_WidgetContents_TTS_GPTSoVITS) self.verticalLayout_66.setSpacing(12) self.verticalLayout_66.setObjectName(u"verticalLayout_66") @@ -11377,9 +10769,9 @@ def setupUi(self, MainWindow): self.verticalLayout_66.addWidget(self.GroupBox_TTS_GPTSoVITS_InputParams) - self.GroupBox_TTS_GPTSoVITS_GPTSoVITSParams = QGroupBox(self.ScrollArea_Middle_WidgetContents_TTS_GPTSoVITS) - self.GroupBox_TTS_GPTSoVITS_GPTSoVITSParams.setObjectName(u"GroupBox_TTS_GPTSoVITS_GPTSoVITSParams") - self.GroupBox_TTS_GPTSoVITS_GPTSoVITSParams.setStyleSheet(u"QGroupBox {\n" + self.GroupBox_TTS_GPTSoVITS_RefParams = QGroupBox(self.ScrollArea_Middle_WidgetContents_TTS_GPTSoVITS) + self.GroupBox_TTS_GPTSoVITS_RefParams.setObjectName(u"GroupBox_TTS_GPTSoVITS_RefParams") + self.GroupBox_TTS_GPTSoVITS_RefParams.setStyleSheet(u"QGroupBox {\n" " font-size: 15px;\n" " margin-top: 1.5ex;\n" " background-color: transparent;\n" @@ -11394,20 +10786,20 @@ def setupUi(self, MainWindow): " subcontrol-position: top left;\n" " padding: 3px;\n" "}") - self.verticalLayout_126 = QVBoxLayout(self.GroupBox_TTS_GPTSoVITS_GPTSoVITSParams) - self.verticalLayout_126.setSpacing(0) - self.verticalLayout_126.setObjectName(u"verticalLayout_126") - self.verticalLayout_126.setContentsMargins(0, 12, 0, 12) - self.Frame_TTS_GPTSoVITS_GPTSoVITSParams_BasicSettings = QFrame(self.GroupBox_TTS_GPTSoVITS_GPTSoVITSParams) - self.Frame_TTS_GPTSoVITS_GPTSoVITSParams_BasicSettings.setObjectName(u"Frame_TTS_GPTSoVITS_GPTSoVITSParams_BasicSettings") - self.verticalLayout_70 = QVBoxLayout(self.Frame_TTS_GPTSoVITS_GPTSoVITSParams_BasicSettings) - self.verticalLayout_70.setSpacing(0) - self.verticalLayout_70.setObjectName(u"verticalLayout_70") - self.verticalLayout_70.setContentsMargins(0, 0, 0, 0) - self.Frame_TTS_GPTSoVITS_FP16Run = QFrame(self.Frame_TTS_GPTSoVITS_GPTSoVITSParams_BasicSettings) - self.Frame_TTS_GPTSoVITS_FP16Run.setObjectName(u"Frame_TTS_GPTSoVITS_FP16Run") - self.Frame_TTS_GPTSoVITS_FP16Run.setMinimumSize(QSize(0, 105)) - self.Frame_TTS_GPTSoVITS_FP16Run.setStyleSheet(u"QFrame {\n" + self.verticalLayout_134 = QVBoxLayout(self.GroupBox_TTS_GPTSoVITS_RefParams) + self.verticalLayout_134.setSpacing(0) + self.verticalLayout_134.setObjectName(u"verticalLayout_134") + self.verticalLayout_134.setContentsMargins(0, 12, 0, 12) + self.Frame_TTS_GPTSoVITS_RefParams_BasicSettings = QFrame(self.GroupBox_TTS_GPTSoVITS_RefParams) + self.Frame_TTS_GPTSoVITS_RefParams_BasicSettings.setObjectName(u"Frame_TTS_GPTSoVITS_RefParams_BasicSettings") + self.verticalLayout_140 = QVBoxLayout(self.Frame_TTS_GPTSoVITS_RefParams_BasicSettings) + self.verticalLayout_140.setSpacing(0) + self.verticalLayout_140.setObjectName(u"verticalLayout_140") + self.verticalLayout_140.setContentsMargins(0, 0, 0, 0) + self.Frame_TTS_GPTSoVITS_RefAudio = QFrame(self.Frame_TTS_GPTSoVITS_RefParams_BasicSettings) + self.Frame_TTS_GPTSoVITS_RefAudio.setObjectName(u"Frame_TTS_GPTSoVITS_RefAudio") + self.Frame_TTS_GPTSoVITS_RefAudio.setMinimumSize(QSize(0, 105)) + self.Frame_TTS_GPTSoVITS_RefAudio.setStyleSheet(u"QFrame {\n" " background-color: transparent;\n" " border-width: 0px;\n" " border-style: solid;\n" @@ -11415,15 +10807,15 @@ def setupUi(self, MainWindow): "QFrame:hover {\n" " background-color: rgba(36, 36, 36, 12);\n" "}") - self.gridLayout_96 = QGridLayout(self.Frame_TTS_GPTSoVITS_FP16Run) - self.gridLayout_96.setSpacing(12) - self.gridLayout_96.setObjectName(u"gridLayout_96") - self.gridLayout_96.setContentsMargins(21, 12, 21, 12) - self.Label_TTS_GPTSoVITS_FP16Run = QLabel(self.Frame_TTS_GPTSoVITS_FP16Run) - self.Label_TTS_GPTSoVITS_FP16Run.setObjectName(u"Label_TTS_GPTSoVITS_FP16Run") - sizePolicy5.setHeightForWidth(self.Label_TTS_GPTSoVITS_FP16Run.sizePolicy().hasHeightForWidth()) - self.Label_TTS_GPTSoVITS_FP16Run.setSizePolicy(sizePolicy5) - self.Label_TTS_GPTSoVITS_FP16Run.setStyleSheet(u"QLabel {\n" + self.gridLayout_123 = QGridLayout(self.Frame_TTS_GPTSoVITS_RefAudio) + self.gridLayout_123.setSpacing(12) + self.gridLayout_123.setObjectName(u"gridLayout_123") + self.gridLayout_123.setContentsMargins(21, 12, 21, 12) + self.Label_TTS_GPTSoVITS_RefAudio = QLabel(self.Frame_TTS_GPTSoVITS_RefAudio) + self.Label_TTS_GPTSoVITS_RefAudio.setObjectName(u"Label_TTS_GPTSoVITS_RefAudio") + sizePolicy5.setHeightForWidth(self.Label_TTS_GPTSoVITS_RefAudio.sizePolicy().hasHeightForWidth()) + self.Label_TTS_GPTSoVITS_RefAudio.setSizePolicy(sizePolicy5) + self.Label_TTS_GPTSoVITS_RefAudio.setStyleSheet(u"QLabel {\n" " /*text-align: center;*/\n" " background-color: transparent;\n" " padding: 0px;\n" @@ -11432,32 +10824,856 @@ def setupUi(self, MainWindow): " border-style: solid;\n" "}") - self.gridLayout_96.addWidget(self.Label_TTS_GPTSoVITS_FP16Run, 0, 0, 1, 1) + self.gridLayout_123.addWidget(self.Label_TTS_GPTSoVITS_RefAudio, 0, 0, 1, 1) - self.HorizontalSpacer_TTS_GPTSoVITS_FP16Run = QSpacerItem(443, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + self.HorizontalSpacer_TTS_GPTSoVITS_RefAudio = QSpacerItem(445, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) - self.gridLayout_96.addItem(self.HorizontalSpacer_TTS_GPTSoVITS_FP16Run, 0, 1, 1, 1) + self.gridLayout_123.addItem(self.HorizontalSpacer_TTS_GPTSoVITS_RefAudio, 0, 1, 1, 1) - self.Button_TTS_GPTSoVITS_FP16Run_MoreActions = MenuButton(self.Frame_TTS_GPTSoVITS_FP16Run) - self.Button_TTS_GPTSoVITS_FP16Run_MoreActions.setObjectName(u"Button_TTS_GPTSoVITS_FP16Run_MoreActions") - self.Button_TTS_GPTSoVITS_FP16Run_MoreActions.setMinimumSize(QSize(27, 27)) - self.Button_TTS_GPTSoVITS_FP16Run_MoreActions.setMaximumSize(QSize(27, 27)) - self.Button_TTS_GPTSoVITS_FP16Run_MoreActions.setStyleSheet(u"QPushButton {\n" + self.Button_TTS_GPTSoVITS_RefAudio_MoreActions = MenuButton(self.Frame_TTS_GPTSoVITS_RefAudio) + self.Button_TTS_GPTSoVITS_RefAudio_MoreActions.setObjectName(u"Button_TTS_GPTSoVITS_RefAudio_MoreActions") + self.Button_TTS_GPTSoVITS_RefAudio_MoreActions.setMinimumSize(QSize(27, 27)) + self.Button_TTS_GPTSoVITS_RefAudio_MoreActions.setMaximumSize(QSize(27, 27)) + self.Button_TTS_GPTSoVITS_RefAudio_MoreActions.setStyleSheet(u"QPushButton {\n" " border-width: 1px;\n" " border-style: solid;\n" " border-color: rgb(123, 123, 123);\n" "}") - self.gridLayout_96.addWidget(self.Button_TTS_GPTSoVITS_FP16Run_MoreActions, 0, 2, 1, 1) + self.gridLayout_123.addWidget(self.Button_TTS_GPTSoVITS_RefAudio_MoreActions, 0, 2, 1, 1) - self.CheckBox_TTS_GPTSoVITS_FP16Run = QCheckBox(self.Frame_TTS_GPTSoVITS_FP16Run) - self.CheckBox_TTS_GPTSoVITS_FP16Run.setObjectName(u"CheckBox_TTS_GPTSoVITS_FP16Run") - self.CheckBox_TTS_GPTSoVITS_FP16Run.setMinimumSize(QSize(0, 27)) - self.CheckBox_TTS_GPTSoVITS_FP16Run.setStyleSheet(u"QCheckBox {\n" -" font-size: 12px;\n" -" spacing: 12.3px;\n" -" background-color: transparent;\n" -" padding: 0px;\n" + self.LineEdit_TTS_GPTSoVITS_RefAudio = LineEditBase(self.Frame_TTS_GPTSoVITS_RefAudio) + self.LineEdit_TTS_GPTSoVITS_RefAudio.setObjectName(u"LineEdit_TTS_GPTSoVITS_RefAudio") + self.LineEdit_TTS_GPTSoVITS_RefAudio.setMinimumSize(QSize(0, 27)) + + self.gridLayout_123.addWidget(self.LineEdit_TTS_GPTSoVITS_RefAudio, 1, 0, 1, 3) + + + self.verticalLayout_140.addWidget(self.Frame_TTS_GPTSoVITS_RefAudio) + + self.Frame_TTS_GPTSoVITS_RefTextFree = QFrame(self.Frame_TTS_GPTSoVITS_RefParams_BasicSettings) + self.Frame_TTS_GPTSoVITS_RefTextFree.setObjectName(u"Frame_TTS_GPTSoVITS_RefTextFree") + self.Frame_TTS_GPTSoVITS_RefTextFree.setMinimumSize(QSize(0, 105)) + self.Frame_TTS_GPTSoVITS_RefTextFree.setStyleSheet(u"QFrame {\n" +" background-color: transparent;\n" +" border-width: 0px;\n" +" border-style: solid;\n" +"}\n" +"QFrame:hover {\n" +" background-color: rgba(36, 36, 36, 12);\n" +"}") + self.gridLayout_115 = QGridLayout(self.Frame_TTS_GPTSoVITS_RefTextFree) + self.gridLayout_115.setSpacing(12) + self.gridLayout_115.setObjectName(u"gridLayout_115") + self.gridLayout_115.setContentsMargins(21, 12, 21, 12) + self.Label_TTS_GPTSoVITS_RefTextFree = QLabel(self.Frame_TTS_GPTSoVITS_RefTextFree) + self.Label_TTS_GPTSoVITS_RefTextFree.setObjectName(u"Label_TTS_GPTSoVITS_RefTextFree") + sizePolicy5.setHeightForWidth(self.Label_TTS_GPTSoVITS_RefTextFree.sizePolicy().hasHeightForWidth()) + self.Label_TTS_GPTSoVITS_RefTextFree.setSizePolicy(sizePolicy5) + self.Label_TTS_GPTSoVITS_RefTextFree.setStyleSheet(u"QLabel {\n" +" /*text-align: center;*/\n" +" background-color: transparent;\n" +" padding: 0px;\n" +" border-width: 0px;\n" +" border-radius: 0px;\n" +" border-style: solid;\n" +"}") + + self.gridLayout_115.addWidget(self.Label_TTS_GPTSoVITS_RefTextFree, 0, 0, 1, 1) + + self.HorizontalSpacer_TTS_GPTSoVITS_RefTextFree = QSpacerItem(443, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.gridLayout_115.addItem(self.HorizontalSpacer_TTS_GPTSoVITS_RefTextFree, 0, 1, 1, 1) + + self.Button_TTS_GPTSoVITS_RefTextFree_MoreActions = MenuButton(self.Frame_TTS_GPTSoVITS_RefTextFree) + self.Button_TTS_GPTSoVITS_RefTextFree_MoreActions.setObjectName(u"Button_TTS_GPTSoVITS_RefTextFree_MoreActions") + self.Button_TTS_GPTSoVITS_RefTextFree_MoreActions.setMinimumSize(QSize(27, 27)) + self.Button_TTS_GPTSoVITS_RefTextFree_MoreActions.setMaximumSize(QSize(27, 27)) + self.Button_TTS_GPTSoVITS_RefTextFree_MoreActions.setStyleSheet(u"QPushButton {\n" +" border-width: 1px;\n" +" border-style: solid;\n" +" border-color: rgb(123, 123, 123);\n" +"}") + + self.gridLayout_115.addWidget(self.Button_TTS_GPTSoVITS_RefTextFree_MoreActions, 0, 2, 1, 1) + + self.CheckBox_TTS_GPTSoVITS_RefTextFree = QCheckBox(self.Frame_TTS_GPTSoVITS_RefTextFree) + self.CheckBox_TTS_GPTSoVITS_RefTextFree.setObjectName(u"CheckBox_TTS_GPTSoVITS_RefTextFree") + self.CheckBox_TTS_GPTSoVITS_RefTextFree.setMinimumSize(QSize(0, 27)) + self.CheckBox_TTS_GPTSoVITS_RefTextFree.setStyleSheet(u"QCheckBox {\n" +" font-size: 12px;\n" +" spacing: 12.3px;\n" +" background-color: transparent;\n" +" padding: 0px;\n" +" border-width: 0px;\n" +" border-radius: 6px;\n" +" border-style: solid;\n" +"}\n" +"QCheckBox:hover {\n" +"}\n" +"\n" +"QCheckBox::indicator {\n" +" width: 24px;\n" +" height: 24px;\n" +" background-color: transparent;\n" +" padding: 1.2px;\n" +" border-width: 0px;\n" +" border-radius: 6px;\n" +" border-style: solid;\n" +"}\n" +"QCheckBox::indicator:hover {\n" +" background-color: rgba(255, 255, 255, 21);\n" +"}\n" +"QCheckBox::indicator:unchecked {\n" +" border-image: url(:/CheckBox_Icon/Sources/ToggleOff.png);\n" +"}\n" +"QCheckBox::indicator:checked {\n" +" border-image: url(:/CheckBox_Icon/Sources/ToggleOn.png);\n" +"}") + + self.gridLayout_115.addWidget(self.CheckBox_TTS_GPTSoVITS_RefTextFree, 1, 0, 1, 3) + + + self.verticalLayout_140.addWidget(self.Frame_TTS_GPTSoVITS_RefTextFree) + + self.Frame_TTS_GPTSoVITS_RefText = QFrame(self.Frame_TTS_GPTSoVITS_RefParams_BasicSettings) + self.Frame_TTS_GPTSoVITS_RefText.setObjectName(u"Frame_TTS_GPTSoVITS_RefText") + self.Frame_TTS_GPTSoVITS_RefText.setMinimumSize(QSize(0, 105)) + self.Frame_TTS_GPTSoVITS_RefText.setStyleSheet(u"QFrame {\n" +" background-color: transparent;\n" +" border-width: 0px;\n" +" border-style: solid;\n" +"}\n" +"QFrame:hover {\n" +" background-color: rgba(36, 36, 36, 12);\n" +"}") + self.gridLayout_124 = QGridLayout(self.Frame_TTS_GPTSoVITS_RefText) + self.gridLayout_124.setSpacing(12) + self.gridLayout_124.setObjectName(u"gridLayout_124") + self.gridLayout_124.setContentsMargins(21, 12, 21, 12) + self.Label_TTS_GPTSoVITS_RefText = QLabel(self.Frame_TTS_GPTSoVITS_RefText) + self.Label_TTS_GPTSoVITS_RefText.setObjectName(u"Label_TTS_GPTSoVITS_RefText") + sizePolicy5.setHeightForWidth(self.Label_TTS_GPTSoVITS_RefText.sizePolicy().hasHeightForWidth()) + self.Label_TTS_GPTSoVITS_RefText.setSizePolicy(sizePolicy5) + self.Label_TTS_GPTSoVITS_RefText.setStyleSheet(u"QLabel {\n" +" /*text-align: center;*/\n" +" background-color: transparent;\n" +" padding: 0px;\n" +" border-width: 0px;\n" +" border-radius: 0px;\n" +" border-style: solid;\n" +"}") + + self.gridLayout_124.addWidget(self.Label_TTS_GPTSoVITS_RefText, 0, 0, 1, 1) + + self.HorizontalSpacer_TTS_GPTSoVITS_RefText = QSpacerItem(445, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.gridLayout_124.addItem(self.HorizontalSpacer_TTS_GPTSoVITS_RefText, 0, 1, 1, 1) + + self.Button_TTS_GPTSoVITS_RefText_MoreActions = MenuButton(self.Frame_TTS_GPTSoVITS_RefText) + self.Button_TTS_GPTSoVITS_RefText_MoreActions.setObjectName(u"Button_TTS_GPTSoVITS_RefText_MoreActions") + self.Button_TTS_GPTSoVITS_RefText_MoreActions.setMinimumSize(QSize(27, 27)) + self.Button_TTS_GPTSoVITS_RefText_MoreActions.setMaximumSize(QSize(27, 27)) + self.Button_TTS_GPTSoVITS_RefText_MoreActions.setStyleSheet(u"QPushButton {\n" +" border-width: 1px;\n" +" border-style: solid;\n" +" border-color: rgb(123, 123, 123);\n" +"}") + + self.gridLayout_124.addWidget(self.Button_TTS_GPTSoVITS_RefText_MoreActions, 0, 2, 1, 1) + + self.LineEdit_TTS_GPTSoVITS_RefText = LineEditBase(self.Frame_TTS_GPTSoVITS_RefText) + self.LineEdit_TTS_GPTSoVITS_RefText.setObjectName(u"LineEdit_TTS_GPTSoVITS_RefText") + self.LineEdit_TTS_GPTSoVITS_RefText.setMinimumSize(QSize(0, 27)) + + self.gridLayout_124.addWidget(self.LineEdit_TTS_GPTSoVITS_RefText, 1, 0, 1, 3) + + + self.verticalLayout_140.addWidget(self.Frame_TTS_GPTSoVITS_RefText) + + self.Frame_TTS_GPTSoVITS_RefLanguage = QFrame(self.Frame_TTS_GPTSoVITS_RefParams_BasicSettings) + self.Frame_TTS_GPTSoVITS_RefLanguage.setObjectName(u"Frame_TTS_GPTSoVITS_RefLanguage") + self.Frame_TTS_GPTSoVITS_RefLanguage.setMinimumSize(QSize(0, 105)) + self.Frame_TTS_GPTSoVITS_RefLanguage.setStyleSheet(u"QFrame {\n" +" background-color: transparent;\n" +" border-width: 0px;\n" +" border-style: solid;\n" +"}\n" +"QFrame:hover {\n" +" background-color: rgba(36, 36, 36, 12);\n" +"}") + self.gridLayout_117 = QGridLayout(self.Frame_TTS_GPTSoVITS_RefLanguage) + self.gridLayout_117.setSpacing(12) + self.gridLayout_117.setObjectName(u"gridLayout_117") + self.gridLayout_117.setContentsMargins(21, 12, 21, 12) + self.Label_TTS_GPTSoVITS_RefLanguage = QLabel(self.Frame_TTS_GPTSoVITS_RefLanguage) + self.Label_TTS_GPTSoVITS_RefLanguage.setObjectName(u"Label_TTS_GPTSoVITS_RefLanguage") + sizePolicy5.setHeightForWidth(self.Label_TTS_GPTSoVITS_RefLanguage.sizePolicy().hasHeightForWidth()) + self.Label_TTS_GPTSoVITS_RefLanguage.setSizePolicy(sizePolicy5) + self.Label_TTS_GPTSoVITS_RefLanguage.setStyleSheet(u"QLabel {\n" +" /*text-align: center;*/\n" +" background-color: transparent;\n" +" padding: 0px;\n" +" border-width: 0px;\n" +" border-radius: 0px;\n" +" border-style: solid;\n" +"}") + + self.gridLayout_117.addWidget(self.Label_TTS_GPTSoVITS_RefLanguage, 0, 0, 1, 1) + + self.HorizontalSpacer_TTS_GPTSoVITS_RefLanguage = QSpacerItem(415, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.gridLayout_117.addItem(self.HorizontalSpacer_TTS_GPTSoVITS_RefLanguage, 0, 1, 1, 1) + + self.Button_TTS_GPTSoVITS_RefLanguage_MoreActions = MenuButton(self.Frame_TTS_GPTSoVITS_RefLanguage) + self.Button_TTS_GPTSoVITS_RefLanguage_MoreActions.setObjectName(u"Button_TTS_GPTSoVITS_RefLanguage_MoreActions") + self.Button_TTS_GPTSoVITS_RefLanguage_MoreActions.setMinimumSize(QSize(27, 27)) + self.Button_TTS_GPTSoVITS_RefLanguage_MoreActions.setMaximumSize(QSize(27, 27)) + self.Button_TTS_GPTSoVITS_RefLanguage_MoreActions.setStyleSheet(u"QPushButton {\n" +" border-width: 1px;\n" +" border-style: solid;\n" +" border-color: rgb(123, 123, 123);\n" +"}") + + self.gridLayout_117.addWidget(self.Button_TTS_GPTSoVITS_RefLanguage_MoreActions, 0, 2, 1, 1) + + self.ComboBox_TTS_GPTSoVITS_RefLanguage = ComboBoxBase(self.Frame_TTS_GPTSoVITS_RefLanguage) + self.ComboBox_TTS_GPTSoVITS_RefLanguage.setObjectName(u"ComboBox_TTS_GPTSoVITS_RefLanguage") + self.ComboBox_TTS_GPTSoVITS_RefLanguage.setMinimumSize(QSize(0, 27)) + + self.gridLayout_117.addWidget(self.ComboBox_TTS_GPTSoVITS_RefLanguage, 1, 0, 1, 3) + + + self.verticalLayout_140.addWidget(self.Frame_TTS_GPTSoVITS_RefLanguage) + + + self.verticalLayout_134.addWidget(self.Frame_TTS_GPTSoVITS_RefParams_BasicSettings) + + + self.verticalLayout_66.addWidget(self.GroupBox_TTS_GPTSoVITS_RefParams) + + self.GroupBox_TTS_GPTSoVITS_GPTSoVITSParams = QGroupBox(self.ScrollArea_Middle_WidgetContents_TTS_GPTSoVITS) + self.GroupBox_TTS_GPTSoVITS_GPTSoVITSParams.setObjectName(u"GroupBox_TTS_GPTSoVITS_GPTSoVITSParams") + self.GroupBox_TTS_GPTSoVITS_GPTSoVITSParams.setStyleSheet(u"QGroupBox {\n" +" font-size: 15px;\n" +" margin-top: 1.5ex;\n" +" background-color: transparent;\n" +" border-width: 1px;\n" +" border-style: solid;\n" +" border-color: transparent;\n" +"}\n" +"QGroupBox::title {\n" +" left: 9px;\n" +" margin-left: 0px;\n" +" subcontrol-origin: margin;\n" +" subcontrol-position: top left;\n" +" padding: 3px;\n" +"}") + self.verticalLayout_82 = QVBoxLayout(self.GroupBox_TTS_GPTSoVITS_GPTSoVITSParams) + self.verticalLayout_82.setSpacing(0) + self.verticalLayout_82.setObjectName(u"verticalLayout_82") + self.verticalLayout_82.setContentsMargins(0, 12, 0, 12) + self.Frame_TTS_GPTSoVITS_GPTSoVITSParams_BasicSettings = QFrame(self.GroupBox_TTS_GPTSoVITS_GPTSoVITSParams) + self.Frame_TTS_GPTSoVITS_GPTSoVITSParams_BasicSettings.setObjectName(u"Frame_TTS_GPTSoVITS_GPTSoVITSParams_BasicSettings") + self.verticalLayout_70 = QVBoxLayout(self.Frame_TTS_GPTSoVITS_GPTSoVITSParams_BasicSettings) + self.verticalLayout_70.setSpacing(0) + self.verticalLayout_70.setObjectName(u"verticalLayout_70") + self.verticalLayout_70.setContentsMargins(0, 0, 0, 0) + self.Frame_TTS_GPTSoVITS_Text = QFrame(self.Frame_TTS_GPTSoVITS_GPTSoVITSParams_BasicSettings) + self.Frame_TTS_GPTSoVITS_Text.setObjectName(u"Frame_TTS_GPTSoVITS_Text") + self.Frame_TTS_GPTSoVITS_Text.setMinimumSize(QSize(0, 222)) + self.Frame_TTS_GPTSoVITS_Text.setStyleSheet(u"QFrame {\n" +" background-color: transparent;\n" +" border-width: 0px;\n" +" border-style: solid;\n" +"}\n" +"QFrame:hover {\n" +" background-color: rgba(36, 36, 36, 12);\n" +"}") + self.verticalLayout_133 = QVBoxLayout(self.Frame_TTS_GPTSoVITS_Text) + self.verticalLayout_133.setSpacing(12) + self.verticalLayout_133.setObjectName(u"verticalLayout_133") + self.verticalLayout_133.setContentsMargins(21, 12, 21, 12) + self.Label_TTS_GPTSoVITS_Text = QLabel(self.Frame_TTS_GPTSoVITS_Text) + self.Label_TTS_GPTSoVITS_Text.setObjectName(u"Label_TTS_GPTSoVITS_Text") + sizePolicy5.setHeightForWidth(self.Label_TTS_GPTSoVITS_Text.sizePolicy().hasHeightForWidth()) + self.Label_TTS_GPTSoVITS_Text.setSizePolicy(sizePolicy5) + self.Label_TTS_GPTSoVITS_Text.setStyleSheet(u"QLabel {\n" +" /*text-align: center;*/\n" +" background-color: transparent;\n" +" padding: 0px;\n" +" border-width: 0px;\n" +" border-radius: 0px;\n" +" border-style: solid;\n" +"}") + + self.verticalLayout_133.addWidget(self.Label_TTS_GPTSoVITS_Text) + + self.PlainTextEdit_TTS_GPTSoVITS_Text = QPlainTextEdit(self.Frame_TTS_GPTSoVITS_Text) + self.PlainTextEdit_TTS_GPTSoVITS_Text.setObjectName(u"PlainTextEdit_TTS_GPTSoVITS_Text") + sizePolicy3.setHeightForWidth(self.PlainTextEdit_TTS_GPTSoVITS_Text.sizePolicy().hasHeightForWidth()) + self.PlainTextEdit_TTS_GPTSoVITS_Text.setSizePolicy(sizePolicy3) + self.PlainTextEdit_TTS_GPTSoVITS_Text.setStyleSheet(u"QPlainTextEdit {\n" +" /*font-size: 12px;*/\n" +" text-align: left;\n" +" selection-background-color: darkgrey;\n" +" background-color: transparent;\n" +" padding-top: 3px;\n" +" padding-left: 6px;\n" +" padding-bottom: 3px;\n" +" padding-right: 6px;\n" +" border-width: 1.2px;\n" +" border-radius: 6px;\n" +" border-style: solid;\n" +" border-color: rgba(201, 210, 222, 123);\n" +"}\n" +"QPlainTextEdit:hover {\n" +" border-color: rgba(201, 210, 222, 246);\n" +"}\n" +"\n" +"\n" +"QScrollBar {\n" +" background-color: transparent;\n" +" border-width: 1.2px;\n" +" border-radius: 6px;\n" +" border-style: solid;\n" +" border-color: transparent;\n" +" margin: 0px;\n" +"}\n" +"QScrollBar:hover {\n" +"}\n" +"\n" +"QScrollBar::horizontal {\n" +" height: 9px;\n" +"}\n" +"QScrollBar::vertical {\n" +" width: 9px;\n" +"}\n" +"\n" +"QScrollBar::sub-line, QScrollBar::add-line {\n" +" background-color: transparent;\n" +" border-width: 0px;\n" +" border-radius: 0px;\n" +" border-style: solid;\n" +"}\n" +"\n" +"QScrollBar::sub-page, QScrollBar::add-page {\n" +" background-co" + "lor: transparent;\n" +"}\n" +"\n" +"QScrollBar::handle {\n" +" background-color: rgba(123, 123, 123, 123);\n" +" border-width: 0px;\n" +" border-radius: 0px;\n" +" border-style: solid;\n" +"}\n" +"QScrollBar::handle:hover {\n" +" background-color: rgba(123, 123, 123, 210);\n" +"}") + + self.verticalLayout_133.addWidget(self.PlainTextEdit_TTS_GPTSoVITS_Text) + + + self.verticalLayout_70.addWidget(self.Frame_TTS_GPTSoVITS_Text) + + self.Frame_TTS_GPTSoVITS_Language = QFrame(self.Frame_TTS_GPTSoVITS_GPTSoVITSParams_BasicSettings) + self.Frame_TTS_GPTSoVITS_Language.setObjectName(u"Frame_TTS_GPTSoVITS_Language") + self.Frame_TTS_GPTSoVITS_Language.setMinimumSize(QSize(0, 105)) + self.Frame_TTS_GPTSoVITS_Language.setStyleSheet(u"QFrame {\n" +" background-color: transparent;\n" +" border-width: 0px;\n" +" border-style: solid;\n" +"}\n" +"QFrame:hover {\n" +" background-color: rgba(36, 36, 36, 12);\n" +"}") + self.gridLayout_106 = QGridLayout(self.Frame_TTS_GPTSoVITS_Language) + self.gridLayout_106.setSpacing(12) + self.gridLayout_106.setObjectName(u"gridLayout_106") + self.gridLayout_106.setContentsMargins(21, 12, 21, 12) + self.Label_TTS_GPTSoVITS_Language = QLabel(self.Frame_TTS_GPTSoVITS_Language) + self.Label_TTS_GPTSoVITS_Language.setObjectName(u"Label_TTS_GPTSoVITS_Language") + sizePolicy5.setHeightForWidth(self.Label_TTS_GPTSoVITS_Language.sizePolicy().hasHeightForWidth()) + self.Label_TTS_GPTSoVITS_Language.setSizePolicy(sizePolicy5) + self.Label_TTS_GPTSoVITS_Language.setStyleSheet(u"QLabel {\n" +" /*text-align: center;*/\n" +" background-color: transparent;\n" +" padding: 0px;\n" +" border-width: 0px;\n" +" border-radius: 0px;\n" +" border-style: solid;\n" +"}") + + self.gridLayout_106.addWidget(self.Label_TTS_GPTSoVITS_Language, 0, 0, 1, 1) + + self.HorizontalSpacer_TTS_GPTSoVITS_Language = QSpacerItem(415, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.gridLayout_106.addItem(self.HorizontalSpacer_TTS_GPTSoVITS_Language, 0, 1, 1, 1) + + self.Button_TTS_GPTSoVITS_Language_MoreActions = MenuButton(self.Frame_TTS_GPTSoVITS_Language) + self.Button_TTS_GPTSoVITS_Language_MoreActions.setObjectName(u"Button_TTS_GPTSoVITS_Language_MoreActions") + self.Button_TTS_GPTSoVITS_Language_MoreActions.setMinimumSize(QSize(27, 27)) + self.Button_TTS_GPTSoVITS_Language_MoreActions.setMaximumSize(QSize(27, 27)) + self.Button_TTS_GPTSoVITS_Language_MoreActions.setStyleSheet(u"QPushButton {\n" +" border-width: 1px;\n" +" border-style: solid;\n" +" border-color: rgb(123, 123, 123);\n" +"}") + + self.gridLayout_106.addWidget(self.Button_TTS_GPTSoVITS_Language_MoreActions, 0, 2, 1, 1) + + self.ComboBox_TTS_GPTSoVITS_Language = ComboBoxBase(self.Frame_TTS_GPTSoVITS_Language) + self.ComboBox_TTS_GPTSoVITS_Language.setObjectName(u"ComboBox_TTS_GPTSoVITS_Language") + self.ComboBox_TTS_GPTSoVITS_Language.setMinimumSize(QSize(0, 27)) + + self.gridLayout_106.addWidget(self.ComboBox_TTS_GPTSoVITS_Language, 1, 0, 1, 3) + + + self.verticalLayout_70.addWidget(self.Frame_TTS_GPTSoVITS_Language) + + self.Frame_TTS_GPTSoVITS_HowToCut = QFrame(self.Frame_TTS_GPTSoVITS_GPTSoVITSParams_BasicSettings) + self.Frame_TTS_GPTSoVITS_HowToCut.setObjectName(u"Frame_TTS_GPTSoVITS_HowToCut") + self.Frame_TTS_GPTSoVITS_HowToCut.setMinimumSize(QSize(0, 105)) + self.Frame_TTS_GPTSoVITS_HowToCut.setStyleSheet(u"QFrame {\n" +" background-color: transparent;\n" +" border-width: 0px;\n" +" border-style: solid;\n" +"}\n" +"QFrame:hover {\n" +" background-color: rgba(36, 36, 36, 12);\n" +"}") + self.gridLayout_116 = QGridLayout(self.Frame_TTS_GPTSoVITS_HowToCut) + self.gridLayout_116.setSpacing(12) + self.gridLayout_116.setObjectName(u"gridLayout_116") + self.gridLayout_116.setContentsMargins(21, 12, 21, 12) + self.Label_TTS_GPTSoVITS_HowToCut = QLabel(self.Frame_TTS_GPTSoVITS_HowToCut) + self.Label_TTS_GPTSoVITS_HowToCut.setObjectName(u"Label_TTS_GPTSoVITS_HowToCut") + sizePolicy5.setHeightForWidth(self.Label_TTS_GPTSoVITS_HowToCut.sizePolicy().hasHeightForWidth()) + self.Label_TTS_GPTSoVITS_HowToCut.setSizePolicy(sizePolicy5) + self.Label_TTS_GPTSoVITS_HowToCut.setStyleSheet(u"QLabel {\n" +" /*text-align: center;*/\n" +" background-color: transparent;\n" +" padding: 0px;\n" +" border-width: 0px;\n" +" border-radius: 0px;\n" +" border-style: solid;\n" +"}") + + self.gridLayout_116.addWidget(self.Label_TTS_GPTSoVITS_HowToCut, 0, 0, 1, 1) + + self.HorizontalSpacer_TTS_GPTSoVITS_HowToCut = QSpacerItem(415, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.gridLayout_116.addItem(self.HorizontalSpacer_TTS_GPTSoVITS_HowToCut, 0, 1, 1, 1) + + self.Button_TTS_GPTSoVITS_HowToCut_MoreActions = MenuButton(self.Frame_TTS_GPTSoVITS_HowToCut) + self.Button_TTS_GPTSoVITS_HowToCut_MoreActions.setObjectName(u"Button_TTS_GPTSoVITS_HowToCut_MoreActions") + self.Button_TTS_GPTSoVITS_HowToCut_MoreActions.setMinimumSize(QSize(27, 27)) + self.Button_TTS_GPTSoVITS_HowToCut_MoreActions.setMaximumSize(QSize(27, 27)) + self.Button_TTS_GPTSoVITS_HowToCut_MoreActions.setStyleSheet(u"QPushButton {\n" +" border-width: 1px;\n" +" border-style: solid;\n" +" border-color: rgb(123, 123, 123);\n" +"}") + + self.gridLayout_116.addWidget(self.Button_TTS_GPTSoVITS_HowToCut_MoreActions, 0, 2, 1, 1) + + self.ComboBox_TTS_GPTSoVITS_HowToCut = ComboBoxBase(self.Frame_TTS_GPTSoVITS_HowToCut) + self.ComboBox_TTS_GPTSoVITS_HowToCut.setObjectName(u"ComboBox_TTS_GPTSoVITS_HowToCut") + self.ComboBox_TTS_GPTSoVITS_HowToCut.setMinimumSize(QSize(0, 27)) + + self.gridLayout_116.addWidget(self.ComboBox_TTS_GPTSoVITS_HowToCut, 1, 0, 1, 3) + + + self.verticalLayout_70.addWidget(self.Frame_TTS_GPTSoVITS_HowToCut) + + + self.verticalLayout_82.addWidget(self.Frame_TTS_GPTSoVITS_GPTSoVITSParams_BasicSettings) + + self.ToolBox_TTS_GPTSoVITS_GPTSoVITSParams_AdvanceSettings = ToolBoxBase(self.GroupBox_TTS_GPTSoVITS_GPTSoVITSParams) + self.ToolBox_TTS_GPTSoVITS_GPTSoVITSParams_AdvanceSettings.setObjectName(u"ToolBox_TTS_GPTSoVITS_GPTSoVITSParams_AdvanceSettings") + self.ToolBox_TTS_GPTSoVITS_GPTSoVITSParams_AdvanceSettings_Page1Content = WidgetBase() + self.ToolBox_TTS_GPTSoVITS_GPTSoVITSParams_AdvanceSettings_Page1Content.setObjectName(u"ToolBox_TTS_GPTSoVITS_GPTSoVITSParams_AdvanceSettings_Page1Content") + self.ToolBox_TTS_GPTSoVITS_GPTSoVITSParams_AdvanceSettings_Page1Content.setGeometry(QRect(0, 0, 538, 420)) + self.verticalLayout_126 = QVBoxLayout(self.ToolBox_TTS_GPTSoVITS_GPTSoVITSParams_AdvanceSettings_Page1Content) + self.verticalLayout_126.setSpacing(0) + self.verticalLayout_126.setObjectName(u"verticalLayout_126") + self.verticalLayout_126.setContentsMargins(0, 0, 0, 0) + self.Frame_TTS_GPTSoVITS_TopK = QFrame(self.ToolBox_TTS_GPTSoVITS_GPTSoVITSParams_AdvanceSettings_Page1Content) + self.Frame_TTS_GPTSoVITS_TopK.setObjectName(u"Frame_TTS_GPTSoVITS_TopK") + self.Frame_TTS_GPTSoVITS_TopK.setMinimumSize(QSize(0, 105)) + self.Frame_TTS_GPTSoVITS_TopK.setStyleSheet(u"QFrame {\n" +" background-color: transparent;\n" +" border-width: 0px;\n" +" border-style: solid;\n" +"}\n" +"QFrame:hover {\n" +" background-color: rgba(36, 36, 36, 12);\n" +"}") + self.gridLayout_75 = QGridLayout(self.Frame_TTS_GPTSoVITS_TopK) + self.gridLayout_75.setSpacing(12) + self.gridLayout_75.setObjectName(u"gridLayout_75") + self.gridLayout_75.setContentsMargins(21, 12, 21, 12) + self.ChildFrame_TTS_GPTSoVITS_TopK = QFrame(self.Frame_TTS_GPTSoVITS_TopK) + self.ChildFrame_TTS_GPTSoVITS_TopK.setObjectName(u"ChildFrame_TTS_GPTSoVITS_TopK") + sizePolicy5.setHeightForWidth(self.ChildFrame_TTS_GPTSoVITS_TopK.sizePolicy().hasHeightForWidth()) + self.ChildFrame_TTS_GPTSoVITS_TopK.setSizePolicy(sizePolicy5) + self.ChildFrame_TTS_GPTSoVITS_TopK.setStyleSheet(u"QFrame {\n" +" background-color: transparent;\n" +" border-width: 0px;\n" +" border-style: solid;\n" +"}\n" +"QFrame:hover {\n" +" background-color: transparent;\n" +"}") + self.horizontalLayout_60 = QHBoxLayout(self.ChildFrame_TTS_GPTSoVITS_TopK) + self.horizontalLayout_60.setSpacing(12) + self.horizontalLayout_60.setObjectName(u"horizontalLayout_60") + self.horizontalLayout_60.setContentsMargins(0, 0, 0, 0) + self.HorizontalSlider_TTS_GPTSoVITS_TopK = QSlider(self.ChildFrame_TTS_GPTSoVITS_TopK) + self.HorizontalSlider_TTS_GPTSoVITS_TopK.setObjectName(u"HorizontalSlider_TTS_GPTSoVITS_TopK") + self.HorizontalSlider_TTS_GPTSoVITS_TopK.setMinimumSize(QSize(0, 27)) + self.HorizontalSlider_TTS_GPTSoVITS_TopK.setStyleSheet(u"QSlider::groove:horizontal {\n" +" height: 1.2px;\n" +" background-color: rgba(201, 210, 222, 123);\n" +" border-width: 0px;\n" +" border-radius: 6px;\n" +" border-style: solid;\n" +"}\n" +"QSlider::groove:horizontal:hover {\n" +" background-color: rgba(201, 210, 222, 210);\n" +"}\n" +"\n" +"QSlider::handle:horizontal {\n" +" width: 12px;\n" +" height: 12px;\n" +" background-color: rgba(201, 210, 222, 210);\n" +" margin-top: -6px;\n" +" margin-bottom: -6px;\n" +" border-width: 1.2px;\n" +" border-radius: 6px;\n" +" border-style: solid;\n" +" /*border-color: rgba(201, 210, 222, 123);*/\n" +"}\n" +"QSlider::handle:horizontal:hover {\n" +" background-color: rgba(210, 222, 234, 234);\n" +" /*border-color: rgba(201, 210, 222, 210);*/\n" +"}") + self.HorizontalSlider_TTS_GPTSoVITS_TopK.setOrientation(Qt.Horizontal) + + self.horizontalLayout_60.addWidget(self.HorizontalSlider_TTS_GPTSoVITS_TopK) + + self.SpinBox_TTS_GPTSoVITS_TopK = SpinBoxBase(self.ChildFrame_TTS_GPTSoVITS_TopK) + self.SpinBox_TTS_GPTSoVITS_TopK.setObjectName(u"SpinBox_TTS_GPTSoVITS_TopK") + self.SpinBox_TTS_GPTSoVITS_TopK.setMinimumSize(QSize(0, 27)) + + self.horizontalLayout_60.addWidget(self.SpinBox_TTS_GPTSoVITS_TopK) + + + self.gridLayout_75.addWidget(self.ChildFrame_TTS_GPTSoVITS_TopK, 1, 0, 1, 3) + + self.Button_TTS_GPTSoVITS_TopK_MoreActions = MenuButton(self.Frame_TTS_GPTSoVITS_TopK) + self.Button_TTS_GPTSoVITS_TopK_MoreActions.setObjectName(u"Button_TTS_GPTSoVITS_TopK_MoreActions") + self.Button_TTS_GPTSoVITS_TopK_MoreActions.setMinimumSize(QSize(27, 27)) + self.Button_TTS_GPTSoVITS_TopK_MoreActions.setMaximumSize(QSize(27, 27)) + self.Button_TTS_GPTSoVITS_TopK_MoreActions.setStyleSheet(u"QPushButton {\n" +" border-width: 1px;\n" +" border-style: solid;\n" +" border-color: rgb(123, 123, 123);\n" +"}") + + self.gridLayout_75.addWidget(self.Button_TTS_GPTSoVITS_TopK_MoreActions, 0, 2, 1, 1) + + self.HorizontalSpacer_TTS_GPTSoVITS_TopK = QSpacerItem(445, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.gridLayout_75.addItem(self.HorizontalSpacer_TTS_GPTSoVITS_TopK, 0, 1, 1, 1) + + self.Label_TTS_GPTSoVITS_TopK = QLabel(self.Frame_TTS_GPTSoVITS_TopK) + self.Label_TTS_GPTSoVITS_TopK.setObjectName(u"Label_TTS_GPTSoVITS_TopK") + sizePolicy5.setHeightForWidth(self.Label_TTS_GPTSoVITS_TopK.sizePolicy().hasHeightForWidth()) + self.Label_TTS_GPTSoVITS_TopK.setSizePolicy(sizePolicy5) + self.Label_TTS_GPTSoVITS_TopK.setStyleSheet(u"QLabel {\n" +" /*text-align: center;*/\n" +" background-color: transparent;\n" +" padding: 0px;\n" +" border-width: 0px;\n" +" border-radius: 0px;\n" +" border-style: solid;\n" +"}") + + self.gridLayout_75.addWidget(self.Label_TTS_GPTSoVITS_TopK, 0, 0, 1, 1) + + + self.verticalLayout_126.addWidget(self.Frame_TTS_GPTSoVITS_TopK) + + self.Frame_TTS_GPTSoVITS_TopP = QFrame(self.ToolBox_TTS_GPTSoVITS_GPTSoVITSParams_AdvanceSettings_Page1Content) + self.Frame_TTS_GPTSoVITS_TopP.setObjectName(u"Frame_TTS_GPTSoVITS_TopP") + self.Frame_TTS_GPTSoVITS_TopP.setMinimumSize(QSize(0, 105)) + self.Frame_TTS_GPTSoVITS_TopP.setStyleSheet(u"QFrame {\n" +" background-color: transparent;\n" +" border-width: 0px;\n" +" border-style: solid;\n" +"}\n" +"QFrame:hover {\n" +" background-color: rgba(36, 36, 36, 12);\n" +"}") + self.gridLayout_78 = QGridLayout(self.Frame_TTS_GPTSoVITS_TopP) + self.gridLayout_78.setSpacing(12) + self.gridLayout_78.setObjectName(u"gridLayout_78") + self.gridLayout_78.setContentsMargins(21, 12, 21, 12) + self.HorizontalSpacer_TTS_GPTSoVITS_TopP = QSpacerItem(445, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.gridLayout_78.addItem(self.HorizontalSpacer_TTS_GPTSoVITS_TopP, 0, 1, 1, 1) + + self.ChildFrame_TTS_GPTSoVITS_TopP = QFrame(self.Frame_TTS_GPTSoVITS_TopP) + self.ChildFrame_TTS_GPTSoVITS_TopP.setObjectName(u"ChildFrame_TTS_GPTSoVITS_TopP") + sizePolicy5.setHeightForWidth(self.ChildFrame_TTS_GPTSoVITS_TopP.sizePolicy().hasHeightForWidth()) + self.ChildFrame_TTS_GPTSoVITS_TopP.setSizePolicy(sizePolicy5) + self.ChildFrame_TTS_GPTSoVITS_TopP.setStyleSheet(u"QFrame {\n" +" background-color: transparent;\n" +" border-width: 0px;\n" +" border-style: solid;\n" +"}\n" +"QFrame:hover {\n" +" background-color: transparent;\n" +"}") + self.horizontalLayout_61 = QHBoxLayout(self.ChildFrame_TTS_GPTSoVITS_TopP) + self.horizontalLayout_61.setSpacing(12) + self.horizontalLayout_61.setObjectName(u"horizontalLayout_61") + self.horizontalLayout_61.setContentsMargins(0, 0, 0, 0) + self.HorizontalSlider_TTS_GPTSoVITS_TopP = QSlider(self.ChildFrame_TTS_GPTSoVITS_TopP) + self.HorizontalSlider_TTS_GPTSoVITS_TopP.setObjectName(u"HorizontalSlider_TTS_GPTSoVITS_TopP") + self.HorizontalSlider_TTS_GPTSoVITS_TopP.setMinimumSize(QSize(0, 27)) + self.HorizontalSlider_TTS_GPTSoVITS_TopP.setStyleSheet(u"QSlider::groove:horizontal {\n" +" height: 1.2px;\n" +" background-color: rgba(201, 210, 222, 123);\n" +" border-width: 0px;\n" +" border-radius: 6px;\n" +" border-style: solid;\n" +"}\n" +"QSlider::groove:horizontal:hover {\n" +" background-color: rgba(201, 210, 222, 210);\n" +"}\n" +"\n" +"QSlider::handle:horizontal {\n" +" width: 12px;\n" +" height: 12px;\n" +" background-color: rgba(201, 210, 222, 210);\n" +" margin-top: -6px;\n" +" margin-bottom: -6px;\n" +" border-width: 1.2px;\n" +" border-radius: 6px;\n" +" border-style: solid;\n" +" /*border-color: rgba(201, 210, 222, 123);*/\n" +"}\n" +"QSlider::handle:horizontal:hover {\n" +" background-color: rgba(210, 222, 234, 234);\n" +" /*border-color: rgba(201, 210, 222, 210);*/\n" +"}") + self.HorizontalSlider_TTS_GPTSoVITS_TopP.setOrientation(Qt.Horizontal) + + self.horizontalLayout_61.addWidget(self.HorizontalSlider_TTS_GPTSoVITS_TopP) + + self.DoubleSpinBox_TTS_GPTSoVITS_TopP = DoubleSpinBoxBase(self.ChildFrame_TTS_GPTSoVITS_TopP) + self.DoubleSpinBox_TTS_GPTSoVITS_TopP.setObjectName(u"DoubleSpinBox_TTS_GPTSoVITS_TopP") + self.DoubleSpinBox_TTS_GPTSoVITS_TopP.setMinimumSize(QSize(0, 27)) + + self.horizontalLayout_61.addWidget(self.DoubleSpinBox_TTS_GPTSoVITS_TopP) + + + self.gridLayout_78.addWidget(self.ChildFrame_TTS_GPTSoVITS_TopP, 1, 0, 1, 3) + + self.Label_TTS_GPTSoVITS_TopP = QLabel(self.Frame_TTS_GPTSoVITS_TopP) + self.Label_TTS_GPTSoVITS_TopP.setObjectName(u"Label_TTS_GPTSoVITS_TopP") + sizePolicy5.setHeightForWidth(self.Label_TTS_GPTSoVITS_TopP.sizePolicy().hasHeightForWidth()) + self.Label_TTS_GPTSoVITS_TopP.setSizePolicy(sizePolicy5) + self.Label_TTS_GPTSoVITS_TopP.setStyleSheet(u"QLabel {\n" +" /*text-align: center;*/\n" +" background-color: transparent;\n" +" padding: 0px;\n" +" border-width: 0px;\n" +" border-radius: 0px;\n" +" border-style: solid;\n" +"}") + + self.gridLayout_78.addWidget(self.Label_TTS_GPTSoVITS_TopP, 0, 0, 1, 1) + + self.Button_TTS_GPTSoVITS_TopP_MoreActions = MenuButton(self.Frame_TTS_GPTSoVITS_TopP) + self.Button_TTS_GPTSoVITS_TopP_MoreActions.setObjectName(u"Button_TTS_GPTSoVITS_TopP_MoreActions") + self.Button_TTS_GPTSoVITS_TopP_MoreActions.setMinimumSize(QSize(27, 27)) + self.Button_TTS_GPTSoVITS_TopP_MoreActions.setMaximumSize(QSize(27, 27)) + self.Button_TTS_GPTSoVITS_TopP_MoreActions.setStyleSheet(u"QPushButton {\n" +" border-width: 1px;\n" +" border-style: solid;\n" +" border-color: rgb(123, 123, 123);\n" +"}") + + self.gridLayout_78.addWidget(self.Button_TTS_GPTSoVITS_TopP_MoreActions, 0, 2, 1, 1) + + + self.verticalLayout_126.addWidget(self.Frame_TTS_GPTSoVITS_TopP) + + self.Frame_TTS_GPTSoVITS_Temperature = QFrame(self.ToolBox_TTS_GPTSoVITS_GPTSoVITSParams_AdvanceSettings_Page1Content) + self.Frame_TTS_GPTSoVITS_Temperature.setObjectName(u"Frame_TTS_GPTSoVITS_Temperature") + self.Frame_TTS_GPTSoVITS_Temperature.setMinimumSize(QSize(0, 105)) + self.Frame_TTS_GPTSoVITS_Temperature.setStyleSheet(u"QFrame {\n" +" background-color: transparent;\n" +" border-width: 0px;\n" +" border-style: solid;\n" +"}\n" +"QFrame:hover {\n" +" background-color: rgba(36, 36, 36, 12);\n" +"}") + self.gridLayout_107 = QGridLayout(self.Frame_TTS_GPTSoVITS_Temperature) + self.gridLayout_107.setSpacing(12) + self.gridLayout_107.setObjectName(u"gridLayout_107") + self.gridLayout_107.setContentsMargins(21, 12, 21, 12) + self.Label_TTS_GPTSoVITS_Temperature = QLabel(self.Frame_TTS_GPTSoVITS_Temperature) + self.Label_TTS_GPTSoVITS_Temperature.setObjectName(u"Label_TTS_GPTSoVITS_Temperature") + sizePolicy5.setHeightForWidth(self.Label_TTS_GPTSoVITS_Temperature.sizePolicy().hasHeightForWidth()) + self.Label_TTS_GPTSoVITS_Temperature.setSizePolicy(sizePolicy5) + self.Label_TTS_GPTSoVITS_Temperature.setStyleSheet(u"QLabel {\n" +" /*text-align: center;*/\n" +" background-color: transparent;\n" +" padding: 0px;\n" +" border-width: 0px;\n" +" border-radius: 0px;\n" +" border-style: solid;\n" +"}") + + self.gridLayout_107.addWidget(self.Label_TTS_GPTSoVITS_Temperature, 0, 0, 1, 1) + + self.HorizontalSpacer_TTS_GPTSoVITS_Temperature = QSpacerItem(445, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.gridLayout_107.addItem(self.HorizontalSpacer_TTS_GPTSoVITS_Temperature, 0, 1, 1, 1) + + self.Button_TTS_GPTSoVITS_Temperature_MoreActions = MenuButton(self.Frame_TTS_GPTSoVITS_Temperature) + self.Button_TTS_GPTSoVITS_Temperature_MoreActions.setObjectName(u"Button_TTS_GPTSoVITS_Temperature_MoreActions") + self.Button_TTS_GPTSoVITS_Temperature_MoreActions.setMinimumSize(QSize(27, 27)) + self.Button_TTS_GPTSoVITS_Temperature_MoreActions.setMaximumSize(QSize(27, 27)) + self.Button_TTS_GPTSoVITS_Temperature_MoreActions.setStyleSheet(u"QPushButton {\n" +" border-width: 1px;\n" +" border-style: solid;\n" +" border-color: rgb(123, 123, 123);\n" +"}") + + self.gridLayout_107.addWidget(self.Button_TTS_GPTSoVITS_Temperature_MoreActions, 0, 2, 1, 1) + + self.ChildFrame_TTS_GPTSoVITS_Temperature = QFrame(self.Frame_TTS_GPTSoVITS_Temperature) + self.ChildFrame_TTS_GPTSoVITS_Temperature.setObjectName(u"ChildFrame_TTS_GPTSoVITS_Temperature") + sizePolicy5.setHeightForWidth(self.ChildFrame_TTS_GPTSoVITS_Temperature.sizePolicy().hasHeightForWidth()) + self.ChildFrame_TTS_GPTSoVITS_Temperature.setSizePolicy(sizePolicy5) + self.ChildFrame_TTS_GPTSoVITS_Temperature.setStyleSheet(u"QFrame {\n" +" background-color: transparent;\n" +" border-width: 0px;\n" +" border-style: solid;\n" +"}\n" +"QFrame:hover {\n" +" background-color: transparent;\n" +"}") + self.horizontalLayout_63 = QHBoxLayout(self.ChildFrame_TTS_GPTSoVITS_Temperature) + self.horizontalLayout_63.setSpacing(12) + self.horizontalLayout_63.setObjectName(u"horizontalLayout_63") + self.horizontalLayout_63.setContentsMargins(0, 0, 0, 0) + self.HorizontalSlider_TTS_GPTSoVITS_Temperature = QSlider(self.ChildFrame_TTS_GPTSoVITS_Temperature) + self.HorizontalSlider_TTS_GPTSoVITS_Temperature.setObjectName(u"HorizontalSlider_TTS_GPTSoVITS_Temperature") + self.HorizontalSlider_TTS_GPTSoVITS_Temperature.setMinimumSize(QSize(0, 27)) + self.HorizontalSlider_TTS_GPTSoVITS_Temperature.setStyleSheet(u"QSlider::groove:horizontal {\n" +" height: 1.2px;\n" +" background-color: rgba(201, 210, 222, 123);\n" +" border-width: 0px;\n" +" border-radius: 6px;\n" +" border-style: solid;\n" +"}\n" +"QSlider::groove:horizontal:hover {\n" +" background-color: rgba(201, 210, 222, 210);\n" +"}\n" +"\n" +"QSlider::handle:horizontal {\n" +" width: 12px;\n" +" height: 12px;\n" +" background-color: rgba(201, 210, 222, 210);\n" +" margin-top: -6px;\n" +" margin-bottom: -6px;\n" +" border-width: 1.2px;\n" +" border-radius: 6px;\n" +" border-style: solid;\n" +" /*border-color: rgba(201, 210, 222, 123);*/\n" +"}\n" +"QSlider::handle:horizontal:hover {\n" +" background-color: rgba(210, 222, 234, 234);\n" +" /*border-color: rgba(201, 210, 222, 210);*/\n" +"}") + self.HorizontalSlider_TTS_GPTSoVITS_Temperature.setOrientation(Qt.Horizontal) + + self.horizontalLayout_63.addWidget(self.HorizontalSlider_TTS_GPTSoVITS_Temperature) + + self.DoubleSpinBox_TTS_GPTSoVITS_Temperature = DoubleSpinBoxBase(self.ChildFrame_TTS_GPTSoVITS_Temperature) + self.DoubleSpinBox_TTS_GPTSoVITS_Temperature.setObjectName(u"DoubleSpinBox_TTS_GPTSoVITS_Temperature") + self.DoubleSpinBox_TTS_GPTSoVITS_Temperature.setMinimumSize(QSize(0, 27)) + + self.horizontalLayout_63.addWidget(self.DoubleSpinBox_TTS_GPTSoVITS_Temperature) + + + self.gridLayout_107.addWidget(self.ChildFrame_TTS_GPTSoVITS_Temperature, 1, 0, 1, 3) + + + self.verticalLayout_126.addWidget(self.Frame_TTS_GPTSoVITS_Temperature) + + self.Frame_TTS_GPTSoVITS_FP16Run = QFrame(self.ToolBox_TTS_GPTSoVITS_GPTSoVITSParams_AdvanceSettings_Page1Content) + self.Frame_TTS_GPTSoVITS_FP16Run.setObjectName(u"Frame_TTS_GPTSoVITS_FP16Run") + self.Frame_TTS_GPTSoVITS_FP16Run.setMinimumSize(QSize(0, 105)) + self.Frame_TTS_GPTSoVITS_FP16Run.setStyleSheet(u"QFrame {\n" +" background-color: transparent;\n" +" border-width: 0px;\n" +" border-style: solid;\n" +"}\n" +"QFrame:hover {\n" +" background-color: rgba(36, 36, 36, 12);\n" +"}") + self.gridLayout_96 = QGridLayout(self.Frame_TTS_GPTSoVITS_FP16Run) + self.gridLayout_96.setSpacing(12) + self.gridLayout_96.setObjectName(u"gridLayout_96") + self.gridLayout_96.setContentsMargins(21, 12, 21, 12) + self.Label_TTS_GPTSoVITS_FP16Run = QLabel(self.Frame_TTS_GPTSoVITS_FP16Run) + self.Label_TTS_GPTSoVITS_FP16Run.setObjectName(u"Label_TTS_GPTSoVITS_FP16Run") + sizePolicy5.setHeightForWidth(self.Label_TTS_GPTSoVITS_FP16Run.sizePolicy().hasHeightForWidth()) + self.Label_TTS_GPTSoVITS_FP16Run.setSizePolicy(sizePolicy5) + self.Label_TTS_GPTSoVITS_FP16Run.setStyleSheet(u"QLabel {\n" +" /*text-align: center;*/\n" +" background-color: transparent;\n" +" padding: 0px;\n" +" border-width: 0px;\n" +" border-radius: 0px;\n" +" border-style: solid;\n" +"}") + + self.gridLayout_96.addWidget(self.Label_TTS_GPTSoVITS_FP16Run, 0, 0, 1, 1) + + self.HorizontalSpacer_TTS_GPTSoVITS_FP16Run = QSpacerItem(443, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.gridLayout_96.addItem(self.HorizontalSpacer_TTS_GPTSoVITS_FP16Run, 0, 1, 1, 1) + + self.Button_TTS_GPTSoVITS_FP16Run_MoreActions = MenuButton(self.Frame_TTS_GPTSoVITS_FP16Run) + self.Button_TTS_GPTSoVITS_FP16Run_MoreActions.setObjectName(u"Button_TTS_GPTSoVITS_FP16Run_MoreActions") + self.Button_TTS_GPTSoVITS_FP16Run_MoreActions.setMinimumSize(QSize(27, 27)) + self.Button_TTS_GPTSoVITS_FP16Run_MoreActions.setMaximumSize(QSize(27, 27)) + self.Button_TTS_GPTSoVITS_FP16Run_MoreActions.setStyleSheet(u"QPushButton {\n" +" border-width: 1px;\n" +" border-style: solid;\n" +" border-color: rgb(123, 123, 123);\n" +"}") + + self.gridLayout_96.addWidget(self.Button_TTS_GPTSoVITS_FP16Run_MoreActions, 0, 2, 1, 1) + + self.CheckBox_TTS_GPTSoVITS_FP16Run = QCheckBox(self.Frame_TTS_GPTSoVITS_FP16Run) + self.CheckBox_TTS_GPTSoVITS_FP16Run.setObjectName(u"CheckBox_TTS_GPTSoVITS_FP16Run") + self.CheckBox_TTS_GPTSoVITS_FP16Run.setMinimumSize(QSize(0, 27)) + self.CheckBox_TTS_GPTSoVITS_FP16Run.setStyleSheet(u"QCheckBox {\n" +" font-size: 12px;\n" +" spacing: 12.3px;\n" +" background-color: transparent;\n" +" padding: 0px;\n" " border-width: 0px;\n" " border-radius: 6px;\n" " border-style: solid;\n" @@ -11487,10 +11703,11 @@ def setupUi(self, MainWindow): self.gridLayout_96.addWidget(self.CheckBox_TTS_GPTSoVITS_FP16Run, 1, 0, 1, 3) - self.verticalLayout_70.addWidget(self.Frame_TTS_GPTSoVITS_FP16Run) + self.verticalLayout_126.addWidget(self.Frame_TTS_GPTSoVITS_FP16Run) + self.ToolBox_TTS_GPTSoVITS_GPTSoVITSParams_AdvanceSettings.addItem(self.ToolBox_TTS_GPTSoVITS_GPTSoVITSParams_AdvanceSettings_Page1Content, u"") - self.verticalLayout_126.addWidget(self.Frame_TTS_GPTSoVITS_GPTSoVITSParams_BasicSettings) + self.verticalLayout_82.addWidget(self.ToolBox_TTS_GPTSoVITS_GPTSoVITSParams_AdvanceSettings) self.verticalLayout_66.addWidget(self.GroupBox_TTS_GPTSoVITS_GPTSoVITSParams) @@ -11627,6 +11844,24 @@ def setupUi(self, MainWindow): self.gridLayout_15.addWidget(self.Button_ExportSettings_TTS_GPTSoVITS, 1, 2, 1, 1) + self.Button_CheckOutput_TTS_GPTSoVITS = QPushButton(self.Widget_Right_TTS_GPTSoVITS) + self.Button_CheckOutput_TTS_GPTSoVITS.setObjectName(u"Button_CheckOutput_TTS_GPTSoVITS") + self.Button_CheckOutput_TTS_GPTSoVITS.setStyleSheet(u"QPushButton {\n" +" text-align: center;\n" +" font-size: 12px;\n" +" background-color: transparent;\n" +" padding: 6.6px;\n" +" border-width: 1.2px;\n" +" border-radius: 6px;\n" +" border-style: solid;\n" +" border-color: rgb(90, 90, 90);\n" +"}\n" +"QPushButton:hover {\n" +" border-color: rgb(120, 120, 120);\n" +"}") + + self.gridLayout_15.addWidget(self.Button_CheckOutput_TTS_GPTSoVITS, 2, 0, 1, 3) + self.gridLayout_109.addWidget(self.Widget_Right_TTS_GPTSoVITS, 0, 2, 1, 1) @@ -11743,86 +11978,10 @@ def setupUi(self, MainWindow): self.verticalLayout_11.setSpacing(12) self.verticalLayout_11.setObjectName(u"verticalLayout_11") self.verticalLayout_11.setContentsMargins(12, 12, 12, 12) - self.TreeWidget_Catalogue_TTS_VITS = QTreeWidget(self.Widget_Left_TTS_VITS) + self.TreeWidget_Catalogue_TTS_VITS = TreeWidgetBase(self.Widget_Left_TTS_VITS) __qtreewidgetitem8 = QTreeWidgetItem(self.TreeWidget_Catalogue_TTS_VITS) QTreeWidgetItem(__qtreewidgetitem8) self.TreeWidget_Catalogue_TTS_VITS.setObjectName(u"TreeWidget_Catalogue_TTS_VITS") - self.TreeWidget_Catalogue_TTS_VITS.setStyleSheet(u"QTreeView {\n" -" /*font-size: 12px;\n" -" text-align: center;*/\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"\n" -"QTreeView::item {\n" -" background-color: transparent;\n" -" padding: 2.4px;\n" -"}\n" -"QTreeView::item:hover {\n" -" background-color: rgba(36, 36, 36, 12);\n" -"}\n" -"QTreeView::item:selected {\n" -" background-color: ;\n" -"}\n" -"\n" -"QTreeView::branch {\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"QTreeView::branch:open:has-children {\n" -" image: ;\n" -"}\n" -"QTreeView::branch:closed:has-children {\n" -" image: ;\n" -"}\n" -"QTreeWidget::branch:adjoins-item {\n" -" background-color: ;\n" -"}\n" -"\n" -"\n" -"QScrollBar {\n" -" background-color: transparent;\n" -" border-width: 1.2px;\n" -" border-radius: 6px;\n" -" border-style: solid;\n" -" border-color: transparent;\n" -" margin: 0px;\n" -"}\n" -"QScrollBar:hover {\n" -"}\n" -"\n" -"QScrollBar::horizontal " - "{\n" -" height: 9px;\n" -"}\n" -"QScrollBar::vertical {\n" -" width: 9px;\n" -"}\n" -"\n" -"QScrollBar::sub-line, QScrollBar::add-line {\n" -" background-color: transparent;\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"\n" -"QScrollBar::sub-page, QScrollBar::add-page {\n" -" background-color: transparent;\n" -"}\n" -"\n" -"QScrollBar::handle {\n" -" background-color: rgba(123, 123, 123, 123);\n" -" border-width: 0px;\n" -" border-radius: 0px;\n" -" border-style: solid;\n" -"}\n" -"QScrollBar::handle:hover {\n" -" background-color: rgba(123, 123, 123, 210);\n" -"}") self.verticalLayout_11.addWidget(self.TreeWidget_Catalogue_TTS_VITS) @@ -14715,9 +14874,22 @@ def retranslateUi(self, MainWindow): self.Label_TTS_GPTSoVITS_ModelPathLoadS2G.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None)) self.Label_TTS_GPTSoVITS_ModelDirLoadBert.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None)) self.Label_TTS_GPTSoVITS_ModelDirLoadSSL.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None)) + self.GroupBox_TTS_GPTSoVITS_RefParams.setTitle(QCoreApplication.translate("MainWindow", u"GroupBox2", None)) + self.Label_TTS_GPTSoVITS_RefAudio.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None)) + self.Label_TTS_GPTSoVITS_RefTextFree.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None)) + self.CheckBox_TTS_GPTSoVITS_RefTextFree.setText(QCoreApplication.translate("MainWindow", u"CheckBox", None)) + self.Label_TTS_GPTSoVITS_RefText.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None)) + self.Label_TTS_GPTSoVITS_RefLanguage.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None)) self.GroupBox_TTS_GPTSoVITS_GPTSoVITSParams.setTitle(QCoreApplication.translate("MainWindow", u"GroupBox2", None)) + self.Label_TTS_GPTSoVITS_Text.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None)) + self.Label_TTS_GPTSoVITS_Language.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None)) + self.Label_TTS_GPTSoVITS_HowToCut.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None)) + self.Label_TTS_GPTSoVITS_TopK.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None)) + self.Label_TTS_GPTSoVITS_TopP.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None)) + self.Label_TTS_GPTSoVITS_Temperature.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None)) self.Label_TTS_GPTSoVITS_FP16Run.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None)) self.CheckBox_TTS_GPTSoVITS_FP16Run.setText(QCoreApplication.translate("MainWindow", u"CheckBox", None)) + self.ToolBox_TTS_GPTSoVITS_GPTSoVITSParams_AdvanceSettings.setItemText(self.ToolBox_TTS_GPTSoVITS_GPTSoVITSParams_AdvanceSettings.indexOf(self.ToolBox_TTS_GPTSoVITS_GPTSoVITSParams_AdvanceSettings_Page1Content), "") ___qtreewidgetitem24 = self.TreeWidget_Catalogue_TTS_VITS.headerItem() ___qtreewidgetitem24.setText(0, QCoreApplication.translate("MainWindow", u"HeaderView", None)); diff --git a/EVT_GUI/Window.py b/EVT_GUI/Window.py index 5cd9e96..cc0287e 100644 --- a/EVT_GUI/Window.py +++ b/EVT_GUI/Window.py @@ -70,6 +70,17 @@ def __init__(self, parent = None): self.setTitleBar(self.ui.TitleBar) +class Window_ChildWindow_TTS_GPTSoVITS(ChildWindowBase): + ui = Ui_ChildWindow_TTS() + + def __init__(self, parent = None): + super().__init__(parent, min_width = 450, min_height = 300) + + self.ui.setupUi(self) + + self.setTitleBar(self.ui.TitleBar) + + class Window_ChildWindow_TTS(ChildWindowBase): ui = Ui_ChildWindow_TTS() diff --git a/README.md b/README.md index 81c76c7..14ddc0c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@
-# 简易语音工具箱
Easy Voice Toolkit +# Easy Voice Toolkit ![Title](/docs/media/Title.png "Home Page") @@ -32,17 +32,17 @@ A toolkit based on open source voice projects,which provides a variety of auto Functions that are currently included in the toolkit are as follows: -- [Audio Processing](/docs/Audio-Processor.md) +- [Audio Processing](/docs/EN/Audio-Processor.md) -- [Voice Recognition](/docs/Voice-Recognizer.md) +- [Voice Recognition](/docs/EN/Voice-Recognizer.md) -- [Voice Transcribing](/docs/Voice-Transcriber.md) +- [Voice Transcribing](/docs/EN/Voice-Transcriber.md) -- [Dataset Creating (SRT Converting & WAV Splitting)](/docs/Dataset-Creator.md) +- [Dataset Creating (SRT Converting & WAV Splitting)](/docs/EN/Dataset-Creator.md) -- [Model Training](/docs/Voice-Trainer.md) +- [Model Training](/docs/EN/Voice-Trainer.md) -- [Voice Convertion](/docs/Voice-Converter.md) +- [Voice Convertion](/docs/EN/Voice-Converter.md)
These functions can be seamlessly integrated to form a complete workflow
Users can use these tools selectively according to their own needs, or use them in sequence to gradually transform raw audio files into ideal speech models @@ -235,7 +235,7 @@ Reference: [so-vits-svc](https://github.com/svc-develop-team/so-vits-svc) ## Contact Details [![QQ](https://img.shields.io/badge/QQ-2835946988-brightgreen?style=for-the-badge&logo=tencent-qq&logoColor=white)]() -
Please feel free to contact me at any time, any comments and suggestions will be appreciated:) +
Feel free to contact me at any time, any comments and suggestions will be appreciated:) ## Stargazers over time diff --git a/Run.py b/Run.py index 61fa08c..b0a51c6 100644 --- a/Run.py +++ b/Run.py @@ -20,7 +20,7 @@ ############################################################################################################################## # Set current version -CurrentVersion = "v1.1.0" +CurrentVersion = "v1.1.1" ############################################################################################################################## @@ -1549,8 +1549,17 @@ def AppendModel(): ) ) + # Left + self.ui.TreeWidget_Catalogue_Process.clear() + self.ui.TreeWidget_Catalogue_Process.setHeaderHidden(True) + # Middle self.ui.GroupBox_Process_InputParams.setTitle(QCA.translate("GroupBox", "输入参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_Process_InputParams, + TreeWidget = self.ui.TreeWidget_Catalogue_Process, + RootItemText = QCA.translate("Tree", "输入参数") + ) Function_SetText( Widget = self.ui.Label_Process_MediaDirInput, @@ -1574,8 +1583,19 @@ def AppendModel(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_Process_MediaDirInput.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Process_MediaDirInput, + TreeWidget = self.ui.TreeWidget_Catalogue_Process, + RootItemText = QCA.translate("Tree", "输入参数"), + ChildItemText = QCA.translate("Tree", "媒体输入目录") + ) self.ui.GroupBox_Process_DenoiserParams.setTitle(QCA.translate("GroupBox", "降噪参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_Process_DenoiserParams, + TreeWidget = self.ui.TreeWidget_Catalogue_Process, + RootItemText = QCA.translate("Tree", "降噪参数") + ) Function_SetText( Widget = self.ui.Label_Process_DenoiseAudio, @@ -1620,6 +1640,12 @@ def AppendModel(): "重置": lambda: ParamsManager_Process.ResetParam(self.ui.CheckBox_Process_DenoiseAudio) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Process_DenoiseAudio, + TreeWidget = self.ui.TreeWidget_Catalogue_Process, + RootItemText = QCA.translate("Tree", "降噪参数"), + ChildItemText = QCA.translate("Tree", "启用杂音去除") + ) Function_SetText( Widget = self.ui.Label_Process_DenoiseModelPath, @@ -1646,6 +1672,12 @@ def AppendModel(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_Process_DenoiseModelPath.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Process_DenoiseModelPath, + TreeWidget = self.ui.TreeWidget_Catalogue_Process, + RootItemText = QCA.translate("Tree", "降噪参数"), + ChildItemText = QCA.translate("Tree", "uvr5模型路径") + ) Function_SetText( Widget = self.ui.Label_Process_DenoiseTarget, @@ -1665,8 +1697,19 @@ def AppendModel(): "重置": lambda: ParamsManager_Process.ResetParam(self.ui.ComboBox_Process_DenoiseTarget) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Process_DenoiseTarget, + TreeWidget = self.ui.TreeWidget_Catalogue_Process, + RootItemText = QCA.translate("Tree", "降噪参数"), + ChildItemText = QCA.translate("Tree", "提取目标") + ) self.ui.GroupBox_Process_SlicerParams.setTitle(QCA.translate("GroupBox", "静音切除参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_Process_SlicerParams, + TreeWidget = self.ui.TreeWidget_Catalogue_Process, + RootItemText = QCA.translate("Tree", "静音切除参数") + ) Function_SetText( Widget = self.ui.Label_Process_SliceAudio, @@ -1719,6 +1762,12 @@ def AppendModel(): "重置": lambda: ParamsManager_Process.ResetParam(self.ui.CheckBox_Process_SliceAudio) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Process_SliceAudio, + TreeWidget = self.ui.TreeWidget_Catalogue_Process, + RootItemText = QCA.translate("Tree", "静音切除参数"), + ChildItemText = QCA.translate("Tree", "启用静音切除") + ) self.ui.ToolBox_Process_SlicerParams_AdvanceSettings.widget(0).setText(QCA.translate("ToolBox", "高级设置")) self.ui.ToolBox_Process_SlicerParams_AdvanceSettings.widget(0).collapse() @@ -1743,6 +1792,12 @@ def AppendModel(): } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Process_RMSThreshold, + TreeWidget = self.ui.TreeWidget_Catalogue_Process, + RootItemText = QCA.translate("Tree", "静音切除参数"), + ChildItemText = QCA.translate("Tree", "均方根阈值") + ) Function_SetText( Widget = self.ui.Label_Process_HopSize, @@ -1763,6 +1818,12 @@ def AppendModel(): "重置": lambda: ParamsManager_Process.ResetParam(self.ui.SpinBox_Process_HopSize) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Process_HopSize, + TreeWidget = self.ui.TreeWidget_Catalogue_Process, + RootItemText = QCA.translate("Tree", "静音切除参数"), + ChildItemText = QCA.translate("Tree", "跃点大小") + ) Function_SetText( Widget = self.ui.Label_Process_SilentIntervalMin, @@ -1784,6 +1845,12 @@ def AppendModel(): "重置": lambda: ParamsManager_Process.ResetParam(self.ui.SpinBox_Process_SilentIntervalMin) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Process_SilentIntervalMin, + TreeWidget = self.ui.TreeWidget_Catalogue_Process, + RootItemText = QCA.translate("Tree", "静音切除参数"), + ChildItemText = QCA.translate("Tree", "最小静音间隔") + ) Function_SetText( Widget = self.ui.Label_Process_SilenceKeptMax, @@ -1805,6 +1872,12 @@ def AppendModel(): "重置": lambda: ParamsManager_Process.ResetParam(self.ui.SpinBox_Process_SilenceKeptMax) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Process_SilenceKeptMax, + TreeWidget = self.ui.TreeWidget_Catalogue_Process, + RootItemText = QCA.translate("Tree", "静音切除参数"), + ChildItemText = QCA.translate("Tree", "最大静音长度") + ) Function_SetText( Widget = self.ui.Label_Process_AudioLengthMin, @@ -1825,8 +1898,19 @@ def AppendModel(): "重置": lambda: ParamsManager_Process.ResetParam(self.ui.SpinBox_Process_AudioLengthMin) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Process_AudioLengthMin, + TreeWidget = self.ui.TreeWidget_Catalogue_Process, + RootItemText = QCA.translate("Tree", "静音切除参数"), + ChildItemText = QCA.translate("Tree", "最小音频长度") + ) self.ui.GroupBox_Process_OutputParams.setTitle(QCA.translate("GroupBox", "输出参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_Process_OutputParams, + TreeWidget = self.ui.TreeWidget_Catalogue_Process, + RootItemText = QCA.translate("Tree", "输出参数") + ) Function_SetText( Widget = self.ui.Label_Process_MediaFormatOutput, @@ -1846,6 +1930,12 @@ def AppendModel(): "重置": lambda: ParamsManager_Process.ResetParam(self.ui.ComboBox_Process_MediaFormatOutput) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Process_AudioLengthMin, + TreeWidget = self.ui.TreeWidget_Catalogue_Process, + RootItemText = QCA.translate("Tree", "输出参数"), + ChildItemText = QCA.translate("Tree", "媒体输出格式") + ) Function_SetText( Widget = self.ui.Label_Process_OutputDirName, @@ -1869,6 +1959,12 @@ def AppendModel(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_Process_OutputDirName.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Process_OutputDirName, + TreeWidget = self.ui.TreeWidget_Catalogue_Process, + RootItemText = QCA.translate("Tree", "输出参数"), + ChildItemText = QCA.translate("Tree", "输出目录名") + ) LineEdit_Process_OutputDir = QLineEdit() def SetText_LineEdit_Process_OutputDir(): @@ -1914,6 +2010,12 @@ def SetText_LineEdit_Process_OutputDir(): "重置": lambda: ParamsManager_Process.ResetParam(self.ui.CheckBox_Process_ToMono) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Process_ToMono, + TreeWidget = self.ui.TreeWidget_Catalogue_Process, + RootItemText = QCA.translate("Tree", "输出参数"), + ChildItemText = QCA.translate("Tree", "合并声道") + ) Function_SetText( Widget = self.ui.Label_Process_SampleRate, @@ -1933,6 +2035,12 @@ def SetText_LineEdit_Process_OutputDir(): "重置": lambda: ParamsManager_Process.ResetParam(self.ui.ComboBox_Process_SampleRate) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Process_SampleRate, + TreeWidget = self.ui.TreeWidget_Catalogue_Process, + RootItemText = QCA.translate("Tree", "输出参数"), + ChildItemText = QCA.translate("Tree", "输出采样率") + ) Function_SetText( Widget = self.ui.Label_Process_SampleWidth, @@ -1952,67 +2060,11 @@ def SetText_LineEdit_Process_OutputDir(): "重置": lambda: ParamsManager_Process.ResetParam(self.ui.ComboBox_Process_SampleWidth) } ) - - # Left - Function_SetTreeWidget( + Function_AddToTreeWidget( + Widget = self.ui.Label_Process_SampleWidth, TreeWidget = self.ui.TreeWidget_Catalogue_Process, - ItemTexts = { - self.ui.GroupBox_Process_InputParams.title(): ("基础设置"), - self.ui.GroupBox_Process_DenoiserParams.title(): ("基础设置"), - self.ui.GroupBox_Process_SlicerParams.title(): ("基础设置","高级设置"), - self.ui.GroupBox_Process_OutputParams.title(): ("基础设置","高级设置") - }, - AddVertically = True - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Process.topLevelItem(0), - TargetWidget = self.ui.GroupBox_Process_InputParams, - ScrollArea = self.ui.ScrollArea_Middle_Process - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Process.topLevelItem(0).child(0), - TargetWidget = self.ui.Frame_Process_InputParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_Process - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Process.topLevelItem(1), - TargetWidget = self.ui.GroupBox_Process_DenoiserParams, - ScrollArea = self.ui.ScrollArea_Middle_Process - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Process.topLevelItem(1).child(0), - TargetWidget = self.ui.Frame_Process_DenoiserParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_Process - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Process.topLevelItem(2), - TargetWidget = self.ui.GroupBox_Process_SlicerParams, - ScrollArea = self.ui.ScrollArea_Middle_Process - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Process.topLevelItem(2).child(0), - TargetWidget = self.ui.Frame_Process_SlicerParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_Process - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Process.topLevelItem(2).child(1), - TargetWidget = self.ui.ToolBox_Process_SlicerParams_AdvanceSettings, - ScrollArea = self.ui.ScrollArea_Middle_Process - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Process.topLevelItem(3), - TargetWidget = self.ui.GroupBox_Process_OutputParams, - ScrollArea = self.ui.ScrollArea_Middle_Process - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Process.topLevelItem(3).child(0), - TargetWidget = self.ui.Frame_Process_OutputParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_Process - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Process.topLevelItem(3).child(1), - TargetWidget = self.ui.ToolBox_Process_OutputParams_AdvanceSettings, - ScrollArea = self.ui.ScrollArea_Middle_Process + RootItemText = QCA.translate("Tree", "输出参数"), + ChildItemText = QCA.translate("Tree", "输出采样位数") ) # Right @@ -2139,8 +2191,17 @@ def SetText_LineEdit_Process_OutputDir(): ) ) + # Left + self.ui.TreeWidget_Catalogue_ASR_VPR.clear() + self.ui.TreeWidget_Catalogue_ASR_VPR.setHeaderHidden(True) + # Middle self.ui.GroupBox_ASR_VPR_InputParams.setTitle(QCA.translate("GroupBox", "输入参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_ASR_VPR_InputParams, + TreeWidget = self.ui.TreeWidget_Catalogue_ASR_VPR, + RootItemText = QCA.translate("Tree", "输入参数") + ) Function_SetText( Widget = self.ui.Label_ASR_VPR_AudioDirInput, @@ -2165,6 +2226,12 @@ def SetText_LineEdit_Process_OutputDir(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_ASR_VPR_AudioDirInput.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_ASR_VPR_AudioDirInput, + TreeWidget = self.ui.TreeWidget_Catalogue_ASR_VPR, + RootItemText = QCA.translate("Tree", "输入参数"), + ChildItemText = QCA.translate("Tree", "音频输入目录") + ) Function_SetText( Widget = self.ui.Label_ASR_VPR_StdAudioSpeaker, @@ -2182,8 +2249,19 @@ def SetText_LineEdit_Process_OutputDir(): self.ui.Table_ASR_VPR_StdAudioSpeaker.SetFileDialog( FileType = "音频类型 (*.flac *.wav *.mp3 *.aac *.m4a *.wma *.aiff *.au *.ogg)" ) + Function_AddToTreeWidget( + Widget = self.ui.Label_ASR_VPR_StdAudioSpeaker, + TreeWidget = self.ui.TreeWidget_Catalogue_ASR_VPR, + RootItemText = QCA.translate("Tree", "输入参数"), + ChildItemText = QCA.translate("Tree", "目标人物与音频") + ) self.ui.GroupBox_ASR_VPR_VPRParams.setTitle(QCA.translate("GroupBox", "语音识别参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_ASR_VPR_VPRParams, + TreeWidget = self.ui.TreeWidget_Catalogue_ASR_VPR, + RootItemText = QCA.translate("Tree", "语音识别参数") + ) Function_SetText( Widget = self.ui.Label_ASR_VPR_DecisionThreshold, @@ -2204,6 +2282,12 @@ def SetText_LineEdit_Process_OutputDir(): "重置": lambda: ParamsManager_ASR_VPR.ResetParam(self.ui.DoubleSpinBox_ASR_VPR_DecisionThreshold) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_ASR_VPR_DecisionThreshold, + TreeWidget = self.ui.TreeWidget_Catalogue_ASR_VPR, + RootItemText = QCA.translate("Tree", "语音识别参数"), + ChildItemText = QCA.translate("Tree", "判断阈值") + ) Function_SetText( Widget = self.ui.Label_ASR_VPR_ModelPath, @@ -2231,6 +2315,12 @@ def SetText_LineEdit_Process_OutputDir(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_ASR_VPR_ModelPath.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_ASR_VPR_ModelPath, + TreeWidget = self.ui.TreeWidget_Catalogue_ASR_VPR, + RootItemText = QCA.translate("Tree", "语音识别参数"), + ChildItemText = QCA.translate("Tree", "模型加载路径") + ) self.ui.ToolBox_ASR_VPR_VPRParams_AdvanceSettings.widget(0).setText(QCA.translate("ToolBox", "高级设置")) self.ui.ToolBox_ASR_VPR_VPRParams_AdvanceSettings.widget(0).collapse() @@ -2253,6 +2343,12 @@ def SetText_LineEdit_Process_OutputDir(): "重置": lambda: ParamsManager_ASR_VPR.ResetParam(self.ui.ComboBox_ASR_VPR_ModelType) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_ASR_VPR_ModelType, + TreeWidget = self.ui.TreeWidget_Catalogue_ASR_VPR, + RootItemText = QCA.translate("Tree", "语音识别参数"), + ChildItemText = QCA.translate("Tree", "模型类型") + ) Function_SetText( Widget = self.ui.Label_ASR_VPR_FeatureMethod, @@ -2272,6 +2368,12 @@ def SetText_LineEdit_Process_OutputDir(): "重置": lambda: ParamsManager_ASR_VPR.ResetParam(self.ui.ComboBox_ASR_VPR_FeatureMethod) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_ASR_VPR_FeatureMethod, + TreeWidget = self.ui.TreeWidget_Catalogue_ASR_VPR, + RootItemText = QCA.translate("Tree", "语音识别参数"), + ChildItemText = QCA.translate("Tree", "预处理方法") + ) Function_SetText( Widget = self.ui.Label_ASR_VPR_DurationOfAudio, @@ -2292,8 +2394,19 @@ def SetText_LineEdit_Process_OutputDir(): "重置": lambda: ParamsManager_ASR_VPR.ResetParam(self.ui.DoubleSpinBox_ASR_VPR_DurationOfAudio) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_ASR_VPR_DurationOfAudio, + TreeWidget = self.ui.TreeWidget_Catalogue_ASR_VPR, + RootItemText = QCA.translate("Tree", "语音识别参数"), + ChildItemText = QCA.translate("Tree", "音频长度") + ) self.ui.GroupBox_ASR_VPR_OutputParams.setTitle(QCA.translate("GroupBox", "输出参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_ASR_VPR_OutputParams, + TreeWidget = self.ui.TreeWidget_Catalogue_ASR_VPR, + RootItemText = QCA.translate("Tree", "输出参数") + ) ''' Function_SetText( @@ -2323,6 +2436,12 @@ def SetText_LineEdit_Process_OutputDir(): "重置": lambda: ParamsManager_ASR_VPR.ResetParam(self.ui.CheckBox_ASR_VPR_FilterResult) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_ASR_VPR_FilterResult, + TreeWidget = self.ui.TreeWidget_Catalogue_ASR_VPR, + RootItemText = QCA.translate("Tree", "输出参数"), + ChildItemText = QCA.translate("Tree", "按阈值过滤结果") + ) ''' Function_SetText( @@ -2347,6 +2466,12 @@ def SetText_LineEdit_Process_OutputDir(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_ASR_VPR_OutputDirName.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_ASR_VPR_OutputDirName, + TreeWidget = self.ui.TreeWidget_Catalogue_ASR_VPR, + RootItemText = QCA.translate("Tree", "输出参数"), + ChildItemText = QCA.translate("Tree", "输出目录名") + ) self.ui.ToolBox_ASR_VPR_OutputParams_AdvanceSettings.widget(0).setText(QCA.translate("ToolBox", "高级设置")) self.ui.ToolBox_ASR_VPR_OutputParams_AdvanceSettings.widget(0).collapse() @@ -2373,6 +2498,12 @@ def SetText_LineEdit_Process_OutputDir(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_ASR_VPR_AudioSpeakersDataName.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_ASR_VPR_AudioSpeakersDataName, + TreeWidget = self.ui.TreeWidget_Catalogue_ASR_VPR, + RootItemText = QCA.translate("Tree", "输出参数"), + ChildItemText = QCA.translate("Tree", "识别结果文本名") + ) LineEdit_ASR_VPR_OutputDir = QLineEdit() def SetText_LineEdit_ASR_VPR_OutputDir(): @@ -2478,57 +2609,6 @@ def SetText_LineEdit_ASR_VPR_AudioSpeakersDataPath(): ) ) - # Left - Function_SetTreeWidget( - TreeWidget = self.ui.TreeWidget_Catalogue_ASR_VPR, - ItemTexts = { - self.ui.GroupBox_ASR_VPR_InputParams.title(): ("基础设置"), - self.ui.GroupBox_ASR_VPR_VPRParams.title(): ("基础设置","高级设置"), - self.ui.GroupBox_ASR_VPR_OutputParams.title(): ("基础设置","高级设置") - }, - AddVertically = True - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_ASR_VPR.topLevelItem(0), - TargetWidget = self.ui.GroupBox_ASR_VPR_InputParams, - ScrollArea = self.ui.ScrollArea_Middle_ASR_VPR - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_ASR_VPR.topLevelItem(0).child(0), - TargetWidget = self.ui.Frame_ASR_VPR_InputParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_ASR_VPR - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_ASR_VPR.topLevelItem(1), - TargetWidget = self.ui.GroupBox_ASR_VPR_VPRParams, - ScrollArea = self.ui.ScrollArea_Middle_ASR_VPR - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_ASR_VPR.topLevelItem(1).child(0), - TargetWidget = self.ui.Frame_ASR_VPR_VPRParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_ASR_VPR - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_ASR_VPR.topLevelItem(1).child(1), - TargetWidget = self.ui.ToolBox_ASR_VPR_VPRParams_AdvanceSettings, - ScrollArea = self.ui.ScrollArea_Middle_ASR_VPR - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_ASR_VPR.topLevelItem(2), - TargetWidget = self.ui.GroupBox_ASR_VPR_OutputParams, - ScrollArea = self.ui.ScrollArea_Middle_ASR_VPR - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_ASR_VPR.topLevelItem(2).child(0), - TargetWidget = self.ui.Frame_ASR_VPR_OutputParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_ASR_VPR - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_ASR_VPR.topLevelItem(2).child(1), - TargetWidget = self.ui.ToolBox_ASR_VPR_OutputParams_AdvanceSettings, - ScrollArea = self.ui.ScrollArea_Middle_ASR_VPR - ) - # Right MonitorFile_Config_VoiceIdentifier = MonitorFile(Path_Config_ASR_VPR) MonitorFile_Config_VoiceIdentifier.start() @@ -2664,8 +2744,17 @@ def EditASRResult(): ) ) + # Left + self.ui.TreeWidget_Catalogue_STT_Whisper.clear() + self.ui.TreeWidget_Catalogue_STT_Whisper.setHeaderHidden(True) + # Middle self.ui.GroupBox_STT_Whisper_InputParams.setTitle(QCA.translate("GroupBox", "输入参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_STT_Whisper_InputParams, + TreeWidget = self.ui.TreeWidget_Catalogue_STT_Whisper, + RootItemText = QCA.translate("Tree", "输入参数") + ) Function_SetText( Widget = self.ui.Label_STT_Whisper_AudioDir, @@ -2689,8 +2778,19 @@ def EditASRResult(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_STT_Whisper_AudioDir.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_STT_Whisper_AudioDir, + TreeWidget = self.ui.TreeWidget_Catalogue_STT_Whisper, + RootItemText = QCA.translate("Tree", "输入参数"), + ChildItemText = QCA.translate("Tree", "音频输入目录") + ) self.ui.GroupBox_STT_Whisper_WhisperParams.setTitle(QCA.translate("GroupBox", "语音转录参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_STT_Whisper_WhisperParams, + TreeWidget = self.ui.TreeWidget_Catalogue_STT_Whisper, + RootItemText = QCA.translate("Tree", "语音转录参数") + ) Function_SetText( Widget = self.ui.Label_STT_Whisper_AddLanguageInfo, @@ -2719,6 +2819,12 @@ def EditASRResult(): "重置": lambda: ParamsManager_STT_Whisper.ResetParam(self.ui.CheckBox_STT_Whisper_AddLanguageInfo) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_STT_Whisper_AddLanguageInfo, + TreeWidget = self.ui.TreeWidget_Catalogue_STT_Whisper, + RootItemText = QCA.translate("Tree", "语音转录参数"), + ChildItemText = QCA.translate("Tree", "语种标注") + ) Function_SetText( Widget = self.ui.Label_STT_Whisper_ModelPath, @@ -2746,6 +2852,12 @@ def EditASRResult(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_STT_Whisper_ModelPath.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_STT_Whisper_ModelPath, + TreeWidget = self.ui.TreeWidget_Catalogue_STT_Whisper, + RootItemText = QCA.translate("Tree", "语音转录参数"), + ChildItemText = QCA.translate("Tree", "模型加载路径") + ) self.ui.ToolBox_STT_Whisper_WhisperParams_AdvanceSettings.widget(0).setText(QCA.translate("ToolBox", "高级设置")) self.ui.ToolBox_STT_Whisper_WhisperParams_AdvanceSettings.widget(0).collapse() @@ -2777,6 +2889,12 @@ def EditASRResult(): "重置": lambda: ParamsManager_STT_Whisper.ResetParam(self.ui.CheckBox_STT_Whisper_Verbose) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_STT_Whisper_Verbose, + TreeWidget = self.ui.TreeWidget_Catalogue_STT_Whisper, + RootItemText = QCA.translate("Tree", "语音转录参数"), + ChildItemText = QCA.translate("Tree", "显示转录内容") + ) Function_SetText( Widget = self.ui.Label_STT_Whisper_fp16, @@ -2805,6 +2923,12 @@ def EditASRResult(): "重置": lambda: ParamsManager_STT_Whisper.ResetParam(self.ui.CheckBox_STT_Whisper_fp16) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_STT_Whisper_fp16, + TreeWidget = self.ui.TreeWidget_Catalogue_STT_Whisper, + RootItemText = QCA.translate("Tree", "语音转录参数"), + ChildItemText = QCA.translate("Tree", "半精度计算") + ) Function_SetText( Widget = self.ui.Label_STT_Whisper_ConditionOnPreviousText, @@ -2833,8 +2957,19 @@ def EditASRResult(): "重置": lambda: ParamsManager_STT_Whisper.ResetParam(self.ui.CheckBox_STT_Whisper_ConditionOnPreviousText) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_STT_Whisper_ConditionOnPreviousText, + TreeWidget = self.ui.TreeWidget_Catalogue_STT_Whisper, + RootItemText = QCA.translate("Tree", "语音转录参数"), + ChildItemText = QCA.translate("Tree", "关联上下文") + ) self.ui.GroupBox_STT_Whisper_OutputParams.setTitle(QCA.translate("GroupBox", "输出参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_STT_Whisper_OutputParams, + TreeWidget = self.ui.TreeWidget_Catalogue_STT_Whisper, + RootItemText = QCA.translate("Tree", "输出参数") + ) Function_SetText( Widget = self.ui.Label_STT_Whisper_OutputDirName, @@ -2858,6 +2993,12 @@ def EditASRResult(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_STT_Whisper_OutputDirName.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_STT_Whisper_OutputDirName, + TreeWidget = self.ui.TreeWidget_Catalogue_STT_Whisper, + RootItemText = QCA.translate("Tree", "输出参数"), + ChildItemText = QCA.translate("Tree", "输出目录名") + ) LineEdit_STT_Whisper_OutputDir = QLineEdit() def SetText_LineEdit_STT_Whisper_OutputDir(): @@ -2925,52 +3066,6 @@ def SetText_LineEdit_STT_Whisper_OutputDir(): ) ) - # Left - Function_SetTreeWidget( - TreeWidget = self.ui.TreeWidget_Catalogue_STT_Whisper, - ItemTexts = { - self.ui.GroupBox_STT_Whisper_InputParams.title(): ("基础设置"), - self.ui.GroupBox_STT_Whisper_WhisperParams.title(): ("基础设置","高级设置"), - self.ui.GroupBox_STT_Whisper_OutputParams.title(): ("基础设置") - }, - AddVertically = True - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_STT_Whisper.topLevelItem(0), - TargetWidget = self.ui.GroupBox_STT_Whisper_InputParams, - ScrollArea = self.ui.ScrollArea_Middle_STT_Whisper - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_STT_Whisper.topLevelItem(0).child(0), - TargetWidget = self.ui.Frame_STT_Whisper_InputParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_STT_Whisper - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_STT_Whisper.topLevelItem(1), - TargetWidget = self.ui.GroupBox_STT_Whisper_WhisperParams, - ScrollArea = self.ui.ScrollArea_Middle_STT_Whisper - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_STT_Whisper.topLevelItem(1).child(0), - TargetWidget = self.ui.Frame_STT_Whisper_WhisperParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_STT_Whisper - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_STT_Whisper.topLevelItem(1).child(1), - TargetWidget = self.ui.ToolBox_STT_Whisper_WhisperParams_AdvanceSettings, - ScrollArea = self.ui.ScrollArea_Middle_STT_Whisper - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_STT_Whisper.topLevelItem(2), - TargetWidget = self.ui.GroupBox_STT_Whisper_OutputParams, - ScrollArea = self.ui.ScrollArea_Middle_STT_Whisper - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_STT_Whisper.topLevelItem(2).child(0), - TargetWidget = self.ui.Frame_STT_Whisper_OutputParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_STT_Whisper - ) - # Right MonitorFile_Config_VoiceTranscriber = MonitorFile(Path_Config_STT_Whisper) MonitorFile_Config_VoiceTranscriber.start() @@ -3087,8 +3182,17 @@ def SetText_LineEdit_STT_Whisper_OutputDir(): ) ) + # GPT-SoVITS - Left + self.ui.TreeWidget_Catalogue_DAT_GPTSoVITS.clear() + self.ui.TreeWidget_Catalogue_DAT_GPTSoVITS.setHeaderHidden(True) + # GPT-SoVITS - Middle self.ui.GroupBox_DAT_GPTSoVITS_InputParams.setTitle(QCA.translate("GroupBox", "输入参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_DAT_GPTSoVITS_InputParams, + TreeWidget = self.ui.TreeWidget_Catalogue_DAT_GPTSoVITS, + RootItemText = QCA.translate("Tree", "输入参数") + ) DialogBox_GPTSoVITS_AudioSpeakersDataPath = MessageBox_Buttons(self) DialogBox_GPTSoVITS_AudioSpeakersDataPath.setText(QCA.translate("MsgBox", "请选择参数类型")) @@ -3140,6 +3244,12 @@ def SetText_LineEdit_STT_Whisper_OutputDir(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_DAT_GPTSoVITS_AudioSpeakersDataPath.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_DAT_GPTSoVITS_AudioSpeakersDataPath, + TreeWidget = self.ui.TreeWidget_Catalogue_DAT_GPTSoVITS, + RootItemText = QCA.translate("Tree", "输入参数"), + ChildItemText = QCA.translate("Tree", "音频文件目录") + ) Function_SetText( Widget = self.ui.Label_DAT_GPTSoVITS_SRTDir, @@ -3164,8 +3274,19 @@ def SetText_LineEdit_STT_Whisper_OutputDir(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_DAT_GPTSoVITS_SRTDir.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_DAT_GPTSoVITS_SRTDir, + TreeWidget = self.ui.TreeWidget_Catalogue_DAT_GPTSoVITS, + RootItemText = QCA.translate("Tree", "输入参数"), + ChildItemText = QCA.translate("Tree", "字幕输入目录") + ) self.ui.GroupBox_DAT_GPTSoVITS_GPTSoVITSParams.setTitle(QCA.translate("GroupBox", "数据集参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_DAT_GPTSoVITS_GPTSoVITSParams, + TreeWidget = self.ui.TreeWidget_Catalogue_DAT_GPTSoVITS, + RootItemText = QCA.translate("Tree", "数据集参数") + ) Function_SetText( Widget = self.ui.Label_DAT_GPTSoVITS_DataFormat, @@ -3199,79 +3320,19 @@ def SetText_LineEdit_STT_Whisper_OutputDir(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_DAT_GPTSoVITS_DataFormat.text()) } ) - - ''' - Function_SetText( - Widget = self.ui.Label_DAT_GPTSoVITS_AddAuxiliaryData, - Text = SetRichText( - Body = QCA.translate("Label", "添加辅助数据\n添加用以辅助训练的数据集,若当前语音数据的质量/数量较低则建议启用。") - ) - ) - ParamsManager_DAT_GPTSoVITS.SetParam( - Widget = self.ui.CheckBox_DAT_GPTSoVITS_AddAuxiliaryData, - Section = 'GPT-SoVITS Params', - Option = 'Add_AuxiliaryData', - DefaultValue = False - ) - Function_ConfigureCheckBox( - CheckBox = self.ui.CheckBox_DAT_GPTSoVITS_AddAuxiliaryData, - CheckedText = "已启用", - CheckedEvents = [ - lambda: Function_SetChildWidgetsVisibility( - self.ui.Frame_DAT_GPTSoVITS_GPTSoVITSParams_BasicSettings, - [ - self.ui.Frame_DAT_GPTSoVITS_AuxiliaryDataPath - ], - True - ) - ], - UncheckedText = "未启用", - UncheckedEvents = [ - lambda: Function_SetChildWidgetsVisibility( - self.ui.Frame_DAT_GPTSoVITS_GPTSoVITSParams_BasicSettings, - [ - self.ui.Frame_DAT_GPTSoVITS_AuxiliaryDataPath - ], - False - ) - ], - TakeEffect = True - ) - self.ui.Button_DAT_GPTSoVITS_AddAuxiliaryData_MoreActions.SetMenu( - ActionEvents = { - "重置": lambda: ParamsManager_DAT_GPTSoVITS.ResetParam(self.ui.CheckBox_DAT_GPTSoVITS_AddAuxiliaryData) - } - ) - - Function_SetText( - Widget = self.ui.Label_DAT_GPTSoVITS_AuxiliaryDataPath, - Text = SetRichText( - Body = QCA.translate("Label", "辅助数据文本路径\n辅助数据集的文本的路径。") - ) - ) - DAT_GPTSoVITS_AuxiliaryDataPath_Default = Path(CurrentDir).joinpath('AuxiliaryData', 'GPT-SoVITS', 'AuxiliaryData.txt').as_posix() - ParamsManager_DAT_GPTSoVITS.SetParam( - Widget = self.ui.LineEdit_DAT_GPTSoVITS_AuxiliaryDataPath, - Section = 'GPT-SoVITS Params', - Option = 'Add_AuxiliaryData', - DefaultValue = False, - SetPlaceholderText = True, - PlaceholderText = DAT_GPTSoVITS_AuxiliaryDataPath_Default - ) - self.ui.LineEdit_DAT_GPTSoVITS_AuxiliaryDataPath.SetFileDialog( - Mode = "SelectFile", - FileType = "文本类型 (*.csv *.txt)", - Directory = NormPath(Path(CurrentDir).joinpath('AuxiliaryData', 'GPT-SoVITS')) - ) - self.ui.Button_DAT_GPTSoVITS_AuxiliaryDataPath_MoreActions.SetMenu( - ActionEvents = { - "重置": lambda: ParamsManager_DAT_GPTSoVITS.ResetParam(self.ui.LineEdit_DAT_GPTSoVITS_AuxiliaryDataPath), - "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_DAT_GPTSoVITS_AuxiliaryDataPath.text()) - } + Function_AddToTreeWidget( + Widget = self.ui.Label_DAT_GPTSoVITS_DataFormat, + TreeWidget = self.ui.TreeWidget_Catalogue_DAT_GPTSoVITS, + RootItemText = QCA.translate("Tree", "数据集参数"), + ChildItemText = QCA.translate("Tree", "数据文本格式") ) - ''' self.ui.GroupBox_DAT_GPTSoVITS_OutputParams.setTitle(QCA.translate("GroupBox", "输出参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_DAT_GPTSoVITS_OutputParams, + TreeWidget = self.ui.TreeWidget_Catalogue_DAT_GPTSoVITS, + RootItemText = QCA.translate("Tree", "输出参数") + ) Function_SetText( Widget = self.ui.Label_DAT_GPTSoVITS_OutputDirName, @@ -3295,6 +3356,12 @@ def SetText_LineEdit_STT_Whisper_OutputDir(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_DAT_GPTSoVITS_OutputDirName.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_DAT_GPTSoVITS_OutputDirName, + TreeWidget = self.ui.TreeWidget_Catalogue_DAT_GPTSoVITS, + RootItemText = QCA.translate("Tree", "输出参数"), + ChildItemText = QCA.translate("Tree", "输出目录名") + ) self.ui.ToolBox_DAT_GPTSoVITS_OutputParams_AdvanceSettings.widget(0).setText(QCA.translate("ToolBox", "高级设置")) self.ui.ToolBox_DAT_GPTSoVITS_OutputParams_AdvanceSettings.widget(0).collapse() @@ -3321,6 +3388,12 @@ def SetText_LineEdit_STT_Whisper_OutputDir(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_DAT_GPTSoVITS_FileListName.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_DAT_GPTSoVITS_FileListName, + TreeWidget = self.ui.TreeWidget_Catalogue_DAT_GPTSoVITS, + RootItemText = QCA.translate("Tree", "输出参数"), + ChildItemText = QCA.translate("Tree", "数据集文本名") + ) LineEdit_DAT_GPTSoVITS_OutputDir = QLineEdit() def SetText_LineEdit_DAT_GPTSoVITS_OutputDir(): @@ -3401,52 +3474,6 @@ def SetText_LineEdit_DAT_GPTSoVITS_FileListPath(): ) ) - # GPT-SoVITS - Left - Function_SetTreeWidget( - TreeWidget = self.ui.TreeWidget_Catalogue_DAT_GPTSoVITS, - ItemTexts = { - self.ui.GroupBox_DAT_GPTSoVITS_InputParams.title(): ("基础设置"), - self.ui.GroupBox_DAT_GPTSoVITS_GPTSoVITSParams.title(): ("基础设置"), - self.ui.GroupBox_DAT_GPTSoVITS_OutputParams.title(): ("基础设置","高级设置") - }, - AddVertically = True - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_DAT_GPTSoVITS.topLevelItem(0), - TargetWidget = self.ui.GroupBox_DAT_GPTSoVITS_InputParams, - ScrollArea = self.ui.ScrollArea_Middle_DAT_GPTSoVITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_DAT_GPTSoVITS.topLevelItem(0).child(0), - TargetWidget = self.ui.Frame_DAT_GPTSoVITS_InputParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_DAT_GPTSoVITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_DAT_GPTSoVITS.topLevelItem(1), - TargetWidget = self.ui.GroupBox_DAT_GPTSoVITS_GPTSoVITSParams, - ScrollArea = self.ui.ScrollArea_Middle_DAT_GPTSoVITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_DAT_GPTSoVITS.topLevelItem(1).child(0), - TargetWidget = self.ui.Frame_DAT_GPTSoVITS_GPTSoVITSParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_DAT_GPTSoVITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_DAT_GPTSoVITS.topLevelItem(2), - TargetWidget = self.ui.GroupBox_DAT_GPTSoVITS_OutputParams, - ScrollArea = self.ui.ScrollArea_Middle_DAT_GPTSoVITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_DAT_GPTSoVITS.topLevelItem(2).child(0), - TargetWidget = self.ui.Frame_DAT_GPTSoVITS_OutputParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_DAT_GPTSoVITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_DAT_GPTSoVITS.topLevelItem(2).child(1), - TargetWidget = self.ui.ToolBox_DAT_GPTSoVITS_OutputParams_AdvanceSettings, - ScrollArea = self.ui.ScrollArea_Middle_DAT_GPTSoVITS - ) - # GPT-SoVITS - Right MonitorFile_Config_DatasetCreator_GPTSoVITS = MonitorFile(Path_Config_DAT_GPTSoVITS) MonitorFile_Config_DatasetCreator_GPTSoVITS.start() @@ -3502,14 +3529,11 @@ def SetText_LineEdit_DAT_GPTSoVITS_FileListPath(): self.ui.LineEdit_DAT_GPTSoVITS_SRTDir, self.ui.LineEdit_DAT_GPTSoVITS_AudioSpeakersDataPath, self.ui.LineEdit_DAT_GPTSoVITS_DataFormat, - #self.ui.CheckBox_DAT_GPTSoVITS_AddAuxiliaryData, - #self.ui.LineEdit_DAT_GPTSoVITS_AuxiliaryDataPath, self.ui.LineEdit_DAT_GPTSoVITS_OutputRoot, self.ui.LineEdit_DAT_GPTSoVITS_OutputDirName, self.ui.LineEdit_DAT_GPTSoVITS_FileListName ], EmptyAllowed = [ - #self.ui.LineEdit_DAT_GPTSoVITS_AuxiliaryDataPath ], FinishEvents = [ lambda: self.ShowMask(True, "正在加载表单"), @@ -3540,8 +3564,17 @@ def SetText_LineEdit_DAT_GPTSoVITS_FileListPath(): ) ) + # VITS - Left + self.ui.TreeWidget_Catalogue_DAT_VITS.clear() + self.ui.TreeWidget_Catalogue_DAT_VITS.setHeaderHidden(True) + # VITS - Middle self.ui.GroupBox_DAT_VITS_InputParams.setTitle(QCA.translate("GroupBox", "输入参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_DAT_VITS_InputParams, + TreeWidget = self.ui.TreeWidget_Catalogue_DAT_VITS, + RootItemText = QCA.translate("Tree", "输入参数") + ) DialogBox_VITS_AudioSpeakersDataPath = MessageBox_Buttons(self) DialogBox_VITS_AudioSpeakersDataPath.setText(QCA.translate("MsgBox", "请选择参数类型")) @@ -3593,6 +3626,12 @@ def SetText_LineEdit_DAT_GPTSoVITS_FileListPath(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_DAT_VITS_AudioSpeakersDataPath.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_DAT_VITS_AudioSpeakersDataPath, + TreeWidget = self.ui.TreeWidget_Catalogue_DAT_VITS, + RootItemText = QCA.translate("Tree", "输入参数"), + ChildItemText = QCA.translate("Tree", "音频文件目录") + ) Function_SetText( Widget = self.ui.Label_DAT_VITS_SRTDir, @@ -3617,8 +3656,19 @@ def SetText_LineEdit_DAT_GPTSoVITS_FileListPath(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_DAT_VITS_SRTDir.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_DAT_VITS_SRTDir, + TreeWidget = self.ui.TreeWidget_Catalogue_DAT_VITS, + RootItemText = QCA.translate("Tree", "输入参数"), + ChildItemText = QCA.translate("Tree", "字幕输入目录") + ) self.ui.GroupBox_DAT_VITS_VITSParams.setTitle(QCA.translate("GroupBox", "数据集参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_DAT_VITS_VITSParams, + TreeWidget = self.ui.TreeWidget_Catalogue_DAT_VITS, + RootItemText = QCA.translate("Tree", "数据集参数") + ) Function_SetText( Widget = self.ui.Label_DAT_VITS_DataFormat, @@ -3652,6 +3702,12 @@ def SetText_LineEdit_DAT_GPTSoVITS_FileListPath(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_DAT_VITS_DataFormat.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_DAT_VITS_DataFormat, + TreeWidget = self.ui.TreeWidget_Catalogue_DAT_VITS, + RootItemText = QCA.translate("Tree", "数据集参数"), + ChildItemText = QCA.translate("Tree", "数据文本格式") + ) Function_SetText( Widget = self.ui.Label_DAT_VITS_AddAuxiliaryData, @@ -3694,6 +3750,12 @@ def SetText_LineEdit_DAT_GPTSoVITS_FileListPath(): "重置": lambda: ParamsManager_DAT_VITS.ResetParam(self.ui.CheckBox_DAT_VITS_AddAuxiliaryData) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_DAT_VITS_AddAuxiliaryData, + TreeWidget = self.ui.TreeWidget_Catalogue_DAT_VITS, + RootItemText = QCA.translate("Tree", "数据集参数"), + ChildItemText = QCA.translate("Tree", "添加辅助数据") + ) Function_SetText( Widget = self.ui.Label_DAT_VITS_AuxiliaryDataPath, @@ -3721,6 +3783,12 @@ def SetText_LineEdit_DAT_GPTSoVITS_FileListPath(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_DAT_VITS_AuxiliaryDataPath.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_DAT_VITS_AuxiliaryDataPath, + TreeWidget = self.ui.TreeWidget_Catalogue_DAT_VITS, + RootItemText = QCA.translate("Tree", "数据集参数"), + ChildItemText = QCA.translate("Tree", "辅助数据文本路径") + ) self.ui.ToolBox_DAT_VITS_VITSParams_AdvanceSettings.widget(0).setText(QCA.translate("ToolBox", "高级设置")) self.ui.ToolBox_DAT_VITS_VITSParams_AdvanceSettings.widget(0).collapse() @@ -3744,8 +3812,14 @@ def SetText_LineEdit_DAT_GPTSoVITS_FileListPath(): "重置": lambda: ParamsManager_DAT_VITS.ResetParam(self.ui.DoubleSpinBox_DAT_VITS_TrainRatio) } ) - - Function_SetText( + Function_AddToTreeWidget( + Widget = self.ui.Label_DAT_VITS_TrainRatio, + TreeWidget = self.ui.TreeWidget_Catalogue_DAT_VITS, + RootItemText = QCA.translate("Tree", "数据集参数"), + ChildItemText = QCA.translate("Tree", "训练集占比") + ) + + Function_SetText( Widget = self.ui.Label_DAT_VITS_SampleRate, Text = SetRichText( Body = QCA.translate("Label", "采样率 (HZ)\n数据集所要求的音频采样率,若维持不变则保持'None'即可。") @@ -3763,6 +3837,12 @@ def SetText_LineEdit_DAT_GPTSoVITS_FileListPath(): "重置": lambda: ParamsManager_DAT_VITS.ResetParam(self.ui.ComboBox_DAT_VITS_SampleRate) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_DAT_VITS_SampleRate, + TreeWidget = self.ui.TreeWidget_Catalogue_DAT_VITS, + RootItemText = QCA.translate("Tree", "数据集参数"), + ChildItemText = QCA.translate("Tree", "采样率") + ) Function_SetText( Widget = self.ui.Label_DAT_VITS_SampleWidth, @@ -3782,6 +3862,12 @@ def SetText_LineEdit_DAT_GPTSoVITS_FileListPath(): "重置": lambda: ParamsManager_DAT_VITS.ResetParam(self.ui.ComboBox_DAT_VITS_SampleWidth) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_DAT_VITS_SampleWidth, + TreeWidget = self.ui.TreeWidget_Catalogue_DAT_VITS, + RootItemText = QCA.translate("Tree", "数据集参数"), + ChildItemText = QCA.translate("Tree", "采样位数") + ) Function_SetText( Widget = self.ui.Label_DAT_VITS_ToMono, @@ -3810,8 +3896,19 @@ def SetText_LineEdit_DAT_GPTSoVITS_FileListPath(): "重置": lambda: ParamsManager_DAT_VITS.ResetParam(self.ui.CheckBox_DAT_VITS_ToMono) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_DAT_VITS_ToMono, + TreeWidget = self.ui.TreeWidget_Catalogue_DAT_VITS, + RootItemText = QCA.translate("Tree", "数据集参数"), + ChildItemText = QCA.translate("Tree", "合并声道") + ) self.ui.GroupBox_DAT_VITS_OutputParams.setTitle(QCA.translate("GroupBox", "输出参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_DAT_VITS_OutputParams, + TreeWidget = self.ui.TreeWidget_Catalogue_DAT_VITS, + RootItemText = QCA.translate("Tree", "输出参数") + ) Function_SetText( Widget = self.ui.Label_DAT_VITS_OutputDirName, @@ -3835,6 +3932,12 @@ def SetText_LineEdit_DAT_GPTSoVITS_FileListPath(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_DAT_VITS_OutputDirName.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_DAT_VITS_OutputDirName, + TreeWidget = self.ui.TreeWidget_Catalogue_DAT_VITS, + RootItemText = QCA.translate("Tree", "输出参数"), + ChildItemText = QCA.translate("Tree", "输出目录名") + ) self.ui.ToolBox_DAT_VITS_OutputParams_AdvanceSettings.widget(0).setText(QCA.translate("ToolBox", "高级设置")) self.ui.ToolBox_DAT_VITS_OutputParams_AdvanceSettings.widget(0).collapse() @@ -3861,6 +3964,12 @@ def SetText_LineEdit_DAT_GPTSoVITS_FileListPath(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_DAT_VITS_FileListNameTraining.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_DAT_VITS_FileListNameTraining, + TreeWidget = self.ui.TreeWidget_Catalogue_DAT_VITS, + RootItemText = QCA.translate("Tree", "输出参数"), + ChildItemText = QCA.translate("Tree", "训练集文本名") + ) Function_SetText( Widget = self.ui.Label_DAT_VITS_FileListNameValidation, @@ -3884,6 +3993,12 @@ def SetText_LineEdit_DAT_GPTSoVITS_FileListPath(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_DAT_VITS_FileListNameValidation.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_DAT_VITS_FileListNameValidation, + TreeWidget = self.ui.TreeWidget_Catalogue_DAT_VITS, + RootItemText = QCA.translate("Tree", "输出参数"), + ChildItemText = QCA.translate("Tree", "验证集文本名") + ) LineEdit_DAT_VITS_OutputDir = QLineEdit() def SetText_LineEdit_DAT_VITS_OutputDir(): @@ -3984,57 +4099,6 @@ def SetText_LineEdit_DAT_VITS_FileListPathValidation(): ) ) - # VITS - Left - Function_SetTreeWidget( - TreeWidget = self.ui.TreeWidget_Catalogue_DAT_VITS, - ItemTexts = { - self.ui.GroupBox_DAT_VITS_InputParams.title(): ("基础设置"), - self.ui.GroupBox_DAT_VITS_VITSParams.title(): ("基础设置","高级设置"), - self.ui.GroupBox_DAT_VITS_OutputParams.title(): ("基础设置","高级设置") - }, - AddVertically = True - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_DAT_VITS.topLevelItem(0), - TargetWidget = self.ui.GroupBox_DAT_VITS_InputParams, - ScrollArea = self.ui.ScrollArea_Middle_DAT_VITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_DAT_VITS.topLevelItem(0).child(0), - TargetWidget = self.ui.Frame_DAT_VITS_InputParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_DAT_VITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_DAT_VITS.topLevelItem(1), - TargetWidget = self.ui.GroupBox_DAT_VITS_VITSParams, - ScrollArea = self.ui.ScrollArea_Middle_DAT_VITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_DAT_VITS.topLevelItem(1).child(0), - TargetWidget = self.ui.Frame_DAT_VITS_VITSParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_DAT_VITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_DAT_VITS.topLevelItem(1).child(1), - TargetWidget = self.ui.ToolBox_DAT_VITS_VITSParams_AdvanceSettings, - ScrollArea = self.ui.ScrollArea_Middle_DAT_VITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_DAT_VITS.topLevelItem(2), - TargetWidget = self.ui.GroupBox_DAT_VITS_OutputParams, - ScrollArea = self.ui.ScrollArea_Middle_DAT_VITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_DAT_VITS.topLevelItem(2).child(0), - TargetWidget = self.ui.Frame_DAT_VITS_OutputParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_DAT_VITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_DAT_VITS.topLevelItem(2).child(1), - TargetWidget = self.ui.ToolBox_DAT_VITS_OutputParams_AdvanceSettings, - ScrollArea = self.ui.ScrollArea_Middle_DAT_VITS - ) - # VITS - Right MonitorFile_Config_DatasetCreator_VITS = MonitorFile(Path_Config_DAT_VITS) MonitorFile_Config_DatasetCreator_VITS.start() @@ -4164,8 +4228,17 @@ def SetText_LineEdit_DAT_VITS_FileListPathValidation(): ) ) + # GPT-SoVITS - Left + self.ui.TreeWidget_Catalogue_Train_GPTSoVITS.clear() + self.ui.TreeWidget_Catalogue_Train_GPTSoVITS.setHeaderHidden(True) + # GPT-SoVITS - Midlle self.ui.GroupBox_Train_GPTSoVITS_InputParams.setTitle(QCA.translate("GroupBox", "输入参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_Train_GPTSoVITS_InputParams, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_GPTSoVITS, + RootItemText = QCA.translate("Tree", "输入参数") + ) Function_SetText( Widget = self.ui.Label_Train_GPTSoVITS_FileListPath, @@ -4191,8 +4264,19 @@ def SetText_LineEdit_DAT_VITS_FileListPathValidation(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_Train_GPTSoVITS_FileListPath.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_GPTSoVITS_FileListPath, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_GPTSoVITS, + RootItemText = QCA.translate("Tree", "输入参数"), + ChildItemText = QCA.translate("Tree", "训练集文本路径") + ) self.ui.GroupBox_Train_GPTSoVITS_GPTSoVITSParams.setTitle(QCA.translate("GroupBox", "训练参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_Train_GPTSoVITS_GPTSoVITSParams, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_GPTSoVITS, + RootItemText = QCA.translate("Tree", "训练参数") + ) ''' Function_SetText( @@ -4214,6 +4298,12 @@ def SetText_LineEdit_DAT_VITS_FileListPathValidation(): "重置": lambda: ParamsManager_Train_GPTSoVITS.ResetParam(self.ui.SpinBox_Train_GPTSoVITS_S1Epochs) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_GPTSoVITS_Epochs, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_GPTSoVITS, + RootItemText = QCA.translate("Tree", "训练参数"), + ChildItemText = QCA.translate("Tree", "s1迭代轮数") + ) Function_SetText( Widget = self.ui.Label_Train_GPTSoVITS_S2Epochs, @@ -4234,6 +4324,12 @@ def SetText_LineEdit_DAT_VITS_FileListPathValidation(): "重置": lambda: ParamsManager_Train_GPTSoVITS.ResetParam(self.ui.SpinBox_Train_GPTSoVITS_S2Epochs) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_GPTSoVITS_S2Epochs, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_GPTSoVITS, + RootItemText = QCA.translate("Tree", "训练参数"), + ChildItemText = QCA.translate("Tree", "s2迭代轮数") + ) ''' Function_SetText( @@ -4262,6 +4358,12 @@ def SetText_LineEdit_DAT_VITS_FileListPathValidation(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_Train_GPTSoVITS_ModelPathPretrainedS1.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_GPTSoVITS_ModelPathPretrainedS1, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_GPTSoVITS, + RootItemText = QCA.translate("Tree", "训练参数"), + ChildItemText = QCA.translate("Tree", "预训练s1模型路径") + ) Function_SetText( Widget = self.ui.Label_Train_GPTSoVITS_ModelPathPretrainedS2G, @@ -4289,6 +4391,12 @@ def SetText_LineEdit_DAT_VITS_FileListPathValidation(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_Train_GPTSoVITS_ModelPathPretrainedS2G.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_GPTSoVITS_ModelPathPretrainedS2G, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_GPTSoVITS, + RootItemText = QCA.translate("Tree", "训练参数"), + ChildItemText = QCA.translate("Tree", "预训练s2G模型路径") + ) Function_SetText( Widget = self.ui.Label_Train_GPTSoVITS_ModelPathPretrainedS2D, @@ -4316,6 +4424,12 @@ def SetText_LineEdit_DAT_VITS_FileListPathValidation(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_Train_GPTSoVITS_ModelPathPretrainedS2D.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_GPTSoVITS_ModelPathPretrainedS2D, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_GPTSoVITS, + RootItemText = QCA.translate("Tree", "训练参数"), + ChildItemText = QCA.translate("Tree", "预训练s2D模型路径") + ) Function_SetText( Widget = self.ui.Label_Train_GPTSoVITS_ModelDirPretrainedBert, @@ -4342,6 +4456,12 @@ def SetText_LineEdit_DAT_VITS_FileListPathValidation(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_Train_GPTSoVITS_ModelDirPretrainedBert.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_GPTSoVITS_ModelDirPretrainedBert, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_GPTSoVITS, + RootItemText = QCA.translate("Tree", "训练参数"), + ChildItemText = QCA.translate("Tree", "预训练bert模型路径") + ) Function_SetText( Widget = self.ui.Label_Train_GPTSoVITS_ModelDirPretrainedSSL, @@ -4368,6 +4488,12 @@ def SetText_LineEdit_DAT_VITS_FileListPathValidation(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_Train_GPTSoVITS_ModelDirPretrainedSSL.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_GPTSoVITS_ModelDirPretrainedSSL, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_GPTSoVITS, + RootItemText = QCA.translate("Tree", "训练参数"), + ChildItemText = QCA.translate("Tree", "预训练ssl模型路径") + ) self.ui.ToolBox_Train_GPTSoVITS_GPTSoVITSParams_AdvanceSettings.widget(0).setText(QCA.translate("ToolBox", "高级设置")) self.ui.ToolBox_Train_GPTSoVITS_GPTSoVITSParams_AdvanceSettings.widget(0).collapse() @@ -4399,8 +4525,19 @@ def SetText_LineEdit_DAT_VITS_FileListPathValidation(): "重置": lambda: ParamsManager_Train_GPTSoVITS.ResetParam(self.ui.CheckBox_Train_GPTSoVITS_FP16Run) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_GPTSoVITS_FP16Run, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_GPTSoVITS, + RootItemText = QCA.translate("Tree", "训练参数"), + ChildItemText = QCA.translate("Tree", "半精度训练") + ) self.ui.GroupBox_Train_GPTSoVITS_OutputParams.setTitle(QCA.translate("GroupBox", "输出参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_Train_GPTSoVITS_OutputParams, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_GPTSoVITS, + RootItemText = QCA.translate("Tree", "输出参数") + ) Function_SetText( Widget = self.ui.Label_Train_GPTSoVITS_OutputDirName, @@ -4424,6 +4561,12 @@ def SetText_LineEdit_DAT_VITS_FileListPathValidation(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_Train_GPTSoVITS_OutputDirName.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.LineEdit_Train_GPTSoVITS_OutputDirName, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_GPTSoVITS, + RootItemText = QCA.translate("Tree", "输出参数"), + ChildItemText = QCA.translate("Tree", "输出目录名") + ) self.ui.ToolBox_Train_GPTSoVITS_OutputParams_AdvanceSettings.widget(0).setText(QCA.translate("ToolBox", "高级设置")) self.ui.ToolBox_Train_GPTSoVITS_OutputParams_AdvanceSettings.widget(0).collapse() @@ -4463,6 +4606,12 @@ def SetText_LineEdit_DAT_VITS_FileListPathValidation(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_Train_GPTSoVITS_LogDir.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_GPTSoVITS_LogDir, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_GPTSoVITS, + RootItemText = QCA.translate("Tree", "输出参数"), + ChildItemText = QCA.translate("Tree", "日志输出目录") + ) LineEdit_Train_GPTSoVITS_OutputDir = QLineEdit() def SetText_LineEdit_Train_GPTSoVITS_OutputDir(): @@ -4478,57 +4627,6 @@ def SetText_LineEdit_Train_GPTSoVITS_OutputDir(): self.ui.LineEdit_Train_GPTSoVITS_OutputRoot.interacted.connect(SetText_LineEdit_Train_GPTSoVITS_OutputDir) #SetText_LineEdit_Train_GPTSoVITS_OutputDir() - # GPTSo-VITS - Left - Function_SetTreeWidget( - TreeWidget = self.ui.TreeWidget_Catalogue_Train_GPTSoVITS, - ItemTexts = { - self.ui.GroupBox_Train_GPTSoVITS_InputParams.title(): ("基础设置"), - self.ui.GroupBox_Train_GPTSoVITS_GPTSoVITSParams.title(): ("基础设置","高级设置"), - self.ui.GroupBox_Train_GPTSoVITS_OutputParams.title(): ("基础设置","高级设置") - }, - AddVertically = True - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Train_GPTSoVITS.topLevelItem(0), - TargetWidget = self.ui.GroupBox_Train_GPTSoVITS_InputParams, - ScrollArea = self.ui.ScrollArea_Middle_Train_GPTSoVITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Train_GPTSoVITS.topLevelItem(0).child(0), - TargetWidget = self.ui.Frame_Train_GPTSoVITS_InputParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_Train_GPTSoVITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Train_GPTSoVITS.topLevelItem(1), - TargetWidget = self.ui.GroupBox_Train_GPTSoVITS_GPTSoVITSParams, - ScrollArea = self.ui.ScrollArea_Middle_Train_GPTSoVITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Train_GPTSoVITS.topLevelItem(1).child(0), - TargetWidget = self.ui.Frame_Train_GPTSoVITS_GPTSoVITSParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_Train_GPTSoVITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Train_GPTSoVITS.topLevelItem(1).child(1), - TargetWidget = self.ui.ToolBox_Train_GPTSoVITS_GPTSoVITSParams_AdvanceSettings, - ScrollArea = self.ui.ScrollArea_Middle_Train_GPTSoVITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Train_GPTSoVITS.topLevelItem(2), - TargetWidget = self.ui.GroupBox_Train_GPTSoVITS_OutputParams, - ScrollArea = self.ui.ScrollArea_Middle_Train_GPTSoVITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Train_GPTSoVITS.topLevelItem(2).child(0), - TargetWidget = self.ui.Frame_Train_GPTSoVITS_OutputParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_Train_GPTSoVITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Train_GPTSoVITS.topLevelItem(2).child(1), - TargetWidget = self.ui.ToolBox_Train_GPTSoVITS_OutputParams_AdvanceSettings, - ScrollArea = self.ui.ScrollArea_Middle_Train_GPTSoVITS - ) - # GPT-SoVITS - Right MonitorFile_Config_VoiceTrainer_GPTSoVITS = MonitorFile(Path_Config_Train_GPTSoVITS) MonitorFile_Config_VoiceTrainer_GPTSoVITS.start() @@ -4639,8 +4737,17 @@ def SetText_LineEdit_Train_GPTSoVITS_OutputDir(): ) ) + # VITS - Left + self.ui.TreeWidget_Catalogue_Train_VITS.clear() + self.ui.TreeWidget_Catalogue_Train_VITS.setHeaderHidden(True) + # VITS - Midlle self.ui.GroupBox_Train_VITS_InputParams.setTitle(QCA.translate("GroupBox", "输入参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_Train_VITS_InputParams, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_VITS, + RootItemText = QCA.translate("Tree", "输入参数") + ) Function_SetText( Widget = self.ui.Label_Train_VITS_FileListPathTraining, @@ -4666,6 +4773,12 @@ def SetText_LineEdit_Train_GPTSoVITS_OutputDir(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_Train_VITS_FileListPathTraining.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_VITS_FileListPathTraining, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_VITS, + RootItemText = QCA.translate("Tree", "输入参数"), + ChildItemText = QCA.translate("Tree", "训练集文本路径") + ) Function_SetText( Widget = self.ui.Label_Train_VITS_FileListPathValidation, @@ -4691,8 +4804,19 @@ def SetText_LineEdit_Train_GPTSoVITS_OutputDir(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_Train_VITS_FileListPathValidation.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_VITS_FileListPathValidation, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_VITS, + RootItemText = QCA.translate("Tree", "输入参数"), + ChildItemText = QCA.translate("Tree", "验证集文本路径") + ) self.ui.GroupBox_Train_VITS_VITSParams.setTitle(QCA.translate("GroupBox", "训练参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_Train_VITS_VITSParams, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_VITS, + RootItemText = QCA.translate("Tree", "训练参数") + ) Function_SetText( Widget = self.ui.Label_Train_VITS_Epochs, @@ -4713,6 +4837,12 @@ def SetText_LineEdit_Train_GPTSoVITS_OutputDir(): "重置": lambda: ParamsManager_Train_VITS.ResetParam(self.ui.SpinBox_Train_VITS_Epochs) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_VITS_Epochs, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_VITS, + RootItemText = QCA.translate("Tree", "训练参数"), + ChildItemText = QCA.translate("Tree", "迭代轮数") + ) Function_SetText( Widget = self.ui.Label_Train_VITS_BatchSize, @@ -4734,6 +4864,12 @@ def SetText_LineEdit_Train_GPTSoVITS_OutputDir(): "重置": lambda: ParamsManager_Train_VITS.ResetParam(self.ui.SpinBox_Train_VITS_BatchSize) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_VITS_BatchSize, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_VITS, + RootItemText = QCA.translate("Tree", "训练参数"), + ChildItemText = QCA.translate("Tree", "批处理量") + ) Function_SetText( Widget = self.ui.Label_Train_VITS_UsePretrainedModels, @@ -4782,6 +4918,12 @@ def SetText_LineEdit_Train_GPTSoVITS_OutputDir(): "重置": lambda: ParamsManager_Train_VITS.ResetParam(self.ui.CheckBox_Train_VITS_UsePretrainedModels) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_VITS_UsePretrainedModels, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_VITS, + RootItemText = QCA.translate("Tree", "训练参数"), + ChildItemText = QCA.translate("Tree", "使用预训练模型") + ) Function_SetText( Widget = self.ui.Label_Train_VITS_ModelPathPretrainedG, @@ -4809,6 +4951,12 @@ def SetText_LineEdit_Train_GPTSoVITS_OutputDir(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_Train_VITS_ModelPathPretrainedG.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_VITS_ModelPathPretrainedG, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_VITS, + RootItemText = QCA.translate("Tree", "训练参数"), + ChildItemText = QCA.translate("Tree", "预训练G模型路径") + ) Function_SetText( Widget = self.ui.Label_Train_VITS_ModelPathPretrainedD, @@ -4836,6 +4984,12 @@ def SetText_LineEdit_Train_GPTSoVITS_OutputDir(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_Train_VITS_ModelPathPretrainedD.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_VITS_ModelPathPretrainedD, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_VITS, + RootItemText = QCA.translate("Tree", "训练参数"), + ChildItemText = QCA.translate("Tree", "预训练D模型路径") + ) DialogBox_KeepOriginalSpeakers = MessageBox_LineEdit(self) DialogBox_KeepOriginalSpeakers.setWindowTitle('Tip') @@ -4919,6 +5073,12 @@ def SetText_LineEdit_Train_GPTSoVITS_OutputDir(): "重置": lambda: ParamsManager_Train_VITS.ResetParam(self.ui.CheckBox_Train_VITS_KeepOriginalSpeakers) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_VITS_KeepOriginalSpeakers, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_VITS, + RootItemText = QCA.translate("Tree", "训练参数"), + ChildItemText = QCA.translate("Tree", "保留原说话人") + ) Function_SetText( Widget = self.ui.Label_Train_VITS_ConfigPathLoad, @@ -4950,6 +5110,12 @@ def SetText_LineEdit_Train_GPTSoVITS_OutputDir(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_Train_VITS_ConfigPathLoad.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_VITS_ConfigPathLoad, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_VITS, + RootItemText = QCA.translate("Tree", "训练参数"), + ChildItemText = QCA.translate("Tree", "配置加载路径") + ) self.ui.ToolBox_Train_VITS_VITSParams_AdvanceSettings.widget(0).setText(QCA.translate("ToolBox", "高级设置")) self.ui.ToolBox_Train_VITS_VITSParams_AdvanceSettings.widget(0).collapse() @@ -4973,6 +5139,12 @@ def SetText_LineEdit_Train_GPTSoVITS_OutputDir(): "重置": lambda: ParamsManager_Train_VITS.ResetParam(self.ui.SpinBox_Train_VITS_NumWorkers) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_VITS_NumWorkers, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_VITS, + RootItemText = QCA.translate("Tree", "训练参数"), + ChildItemText = QCA.translate("Tree", "进程数量") + ) Function_SetText( Widget = self.ui.Label_Train_VITS_FP16Run, @@ -5001,8 +5173,19 @@ def SetText_LineEdit_Train_GPTSoVITS_OutputDir(): "重置": lambda: ParamsManager_Train_VITS.ResetParam(self.ui.CheckBox_Train_VITS_FP16Run) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_VITS_FP16Run, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_VITS, + RootItemText = QCA.translate("Tree", "训练参数"), + ChildItemText = QCA.translate("Tree", "半精度训练") + ) self.ui.GroupBox_Train_VITS_OutputParams.setTitle(QCA.translate("GroupBox", "输出参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_Train_VITS_OutputParams, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_VITS, + RootItemText = QCA.translate("Tree", "输出参数") + ) Function_SetText( Widget = self.ui.Label_Train_VITS_EvalInterval, @@ -5024,6 +5207,12 @@ def SetText_LineEdit_Train_GPTSoVITS_OutputDir(): "重置": lambda: ParamsManager_Train_VITS.ResetParam(self.ui.SpinBox_Train_VITS_EvalInterval) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_VITS_EvalInterval, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_VITS, + RootItemText = QCA.translate("Tree", "输出参数"), + ChildItemText = QCA.translate("Tree", "保存间隔") + ) self.ui.ToolBox_Train_VITS_OutputParams_AdvanceSettings.widget(0).setText(QCA.translate("ToolBox", "高级设置")) self.ui.ToolBox_Train_VITS_OutputParams_AdvanceSettings.widget(0).collapse() @@ -5050,6 +5239,12 @@ def SetText_LineEdit_Train_GPTSoVITS_OutputDir(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_Train_VITS_OutputDirName.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_VITS_OutputDirName, + TreeWidget = self.ui.TreeWidget_Catalogue_Train_VITS, + RootItemText = QCA.translate("Tree", "输出参数"), + ChildItemText = QCA.translate("Tree", "输出目录名") + ) LineEdit_Train_VITS_OutputDir = QLineEdit() def SetText_LineEdit_Train_VITS_OutputDir(): @@ -5100,56 +5295,11 @@ def SetText_LineEdit_Train_VITS_OutputDir(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_Train_VITS_LogDir.text()) } ) - - # VITS - Left - Function_SetTreeWidget( + Function_AddToTreeWidget( + Widget = self.ui.Label_Train_VITS_LogDir, TreeWidget = self.ui.TreeWidget_Catalogue_Train_VITS, - ItemTexts = { - self.ui.GroupBox_Train_VITS_InputParams.title(): ("基础设置"), - self.ui.GroupBox_Train_VITS_VITSParams.title(): ("基础设置","高级设置"), - self.ui.GroupBox_Train_VITS_OutputParams.title(): ("基础设置","高级设置") - }, - AddVertically = True - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Train_VITS.topLevelItem(0), - TargetWidget = self.ui.GroupBox_Train_VITS_InputParams, - ScrollArea = self.ui.ScrollArea_Middle_Train_VITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Train_VITS.topLevelItem(0).child(0), - TargetWidget = self.ui.Frame_Train_VITS_InputParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_Train_VITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Train_VITS.topLevelItem(1), - TargetWidget = self.ui.GroupBox_Train_VITS_VITSParams, - ScrollArea = self.ui.ScrollArea_Middle_Train_VITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Train_VITS.topLevelItem(1).child(0), - TargetWidget = self.ui.Frame_Train_VITS_VITSParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_Train_VITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Train_VITS.topLevelItem(1).child(1), - TargetWidget = self.ui.ToolBox_Train_VITS_VITSParams_AdvanceSettings, - ScrollArea = self.ui.ScrollArea_Middle_Train_VITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Train_VITS.topLevelItem(2), - TargetWidget = self.ui.GroupBox_Train_VITS_OutputParams, - ScrollArea = self.ui.ScrollArea_Middle_Train_VITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Train_VITS.topLevelItem(2).child(0), - TargetWidget = self.ui.Frame_Train_VITS_OutputParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_Train_VITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_Train_VITS.topLevelItem(2).child(1), - TargetWidget = self.ui.ToolBox_Train_VITS_OutputParams_AdvanceSettings, - ScrollArea = self.ui.ScrollArea_Middle_Train_VITS + RootItemText = QCA.translate("Tree", "输出参数"), + ChildItemText = QCA.translate("Tree", "日志输出目录") ) # VITS - Right @@ -5293,8 +5443,17 @@ def SetText_LineEdit_Train_VITS_OutputDir(): ) ) + # GPT-SoVITS - Left + self.ui.TreeWidget_Catalogue_TTS_GPTSoVITS.clear() + self.ui.TreeWidget_Catalogue_TTS_GPTSoVITS.setHeaderHidden(True) + # GPT-SoVTIS - Middle self.ui.GroupBox_TTS_GPTSoVITS_InputParams.setTitle(QCA.translate("GroupBox", "输入参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_TTS_GPTSoVITS_InputParams, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_GPTSoVITS, + RootItemText = QCA.translate("Tree", "输入参数") + ) Function_SetText( Widget = self.ui.Label_TTS_GPTSoVITS_ModelPathLoadS1, @@ -5322,6 +5481,12 @@ def SetText_LineEdit_Train_VITS_OutputDir(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_TTS_GPTSoVITS_ModelPathLoadS1.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_GPTSoVITS_ModelPathLoadS1, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_GPTSoVITS, + RootItemText = QCA.translate("Tree", "输入参数"), + ChildItemText = QCA.translate("Tree", "s1模型加载路径") + ) Function_SetText( Widget = self.ui.Label_TTS_GPTSoVITS_ModelPathLoadS2G, @@ -5349,6 +5514,12 @@ def SetText_LineEdit_Train_VITS_OutputDir(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_TTS_GPTSoVITS_ModelPathLoadS2G.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_GPTSoVITS_ModelPathLoadS2G, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_GPTSoVITS, + RootItemText = QCA.translate("Tree", "输入参数"), + ChildItemText = QCA.translate("Tree", "s2G模型加载路径") + ) Function_SetText( Widget = self.ui.Label_TTS_GPTSoVITS_ModelDirLoadBert, @@ -5375,6 +5546,12 @@ def SetText_LineEdit_Train_VITS_OutputDir(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_TTS_GPTSoVITS_ModelDirLoadBert.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_GPTSoVITS_ModelDirLoadBert, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_GPTSoVITS, + RootItemText = QCA.translate("Tree", "输入参数"), + ChildItemText = QCA.translate("Tree", "预训练bert模型加载路径") + ) Function_SetText( Widget = self.ui.Label_TTS_GPTSoVITS_ModelDirLoadSSL, @@ -5401,8 +5578,380 @@ def SetText_LineEdit_Train_VITS_OutputDir(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_TTS_GPTSoVITS_ModelDirLoadSSL.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_GPTSoVITS_ModelDirLoadSSL, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_GPTSoVITS, + RootItemText = QCA.translate("Tree", "输入参数"), + ChildItemText = QCA.translate("Tree", "预训练ssl模型加载路径") + ) + + self.ui.GroupBox_TTS_GPTSoVITS_RefParams.setTitle(QCA.translate("GroupBox", "参考语音参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_TTS_GPTSoVITS_RefParams, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_GPTSoVITS, + RootItemText = QCA.translate("Tree", "参考语音参数") + ) + + Function_SetText( + Widget = self.ui.Label_TTS_GPTSoVITS_RefAudio, + Text = SetRichText( + Body = QCA.translate("Label", "参考音频\n请上传3~10秒内参考音频,超过会报错!") + ) + ) + ParamsManager_TTS_GPTSoVITS.SetParam( + Widget = self.ui.LineEdit_TTS_GPTSoVITS_RefAudio, + Section = 'Ref Params', + Option = 'Ref_Audio', + DefaultValue = '' + ) + self.ui.LineEdit_TTS_GPTSoVITS_RefAudio.SetFileDialog( + Mode = "SelectFile", + FileType = "音频类型 (*.flac *.wav *.mp3 *.aac *.m4a *.wma *.aiff *.au *.ogg)" + ) + self.ui.Button_TTS_GPTSoVITS_RefAudio_MoreActions.SetMenu( + ActionEvents = { + "重置": lambda: ParamsManager_TTS_GPTSoVITS.ResetParam(self.ui.LineEdit_TTS_GPTSoVITS_RefAudio), + "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_TTS_GPTSoVITS_RefAudio.text()) + } + ) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_GPTSoVITS_RefAudio, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_GPTSoVITS, + RootItemText = QCA.translate("Tree", "参考语音参数"), + ChildItemText = QCA.translate("Tree", "参考音频") + ) + + self.ui.GroupBox_TTS_GPTSoVITS_GPTSoVITSParams.setTitle(QCA.translate("GroupBox", "语音合成参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_TTS_GPTSoVITS_GPTSoVITSParams, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_GPTSoVITS, + RootItemText = QCA.translate("Tree", "语音合成参数") + ) + + Function_SetText( + Widget = self.ui.Label_TTS_GPTSoVITS_RefTextFree, + Text = SetRichText( + Body = QCA.translate("Label", "无参考文本模式\n开启无参考文本模式。不填参考文本亦相当于开启。") + ) + ) + ParamsManager_TTS_GPTSoVITS.SetParam( + Widget = self.ui.CheckBox_TTS_GPTSoVITS_RefTextFree, + Section = 'Ref Params', + Option = 'Ref_Text_Free', + DefaultValue = False + ) + Function_ConfigureCheckBox( + CheckBox = self.ui.CheckBox_TTS_GPTSoVITS_RefTextFree, + CheckedText = "已启用", + CheckedEvents = [ + lambda: Function_SetChildWidgetsVisibility( + self.ui.Frame_TTS_GPTSoVITS_RefParams_BasicSettings, + [ + self.ui.Frame_TTS_GPTSoVITS_RefText + ], + False + ) + ], + UncheckedText = "未启用", + UncheckedEvents = [ + lambda: Function_SetChildWidgetsVisibility( + self.ui.Frame_TTS_GPTSoVITS_RefParams_BasicSettings, + [ + self.ui.Frame_TTS_GPTSoVITS_RefText + ], + True + ) + ], + TakeEffect = True + ) + self.ui.Button_TTS_GPTSoVITS_RefTextFree_MoreActions.SetMenu( + ActionEvents = { + "重置": lambda: ParamsManager_TTS_GPTSoVITS.ResetParam(self.ui.CheckBox_TTS_GPTSoVITS_RefTextFree) + } + ) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_GPTSoVITS_RefTextFree, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_GPTSoVITS, + RootItemText = QCA.translate("Tree", "参考语音参数"), + ChildItemText = QCA.translate("Tree", "无参考文本模式") + ) + + Function_SetText( + Widget = self.ui.Label_TTS_GPTSoVITS_RefText, + Text = SetRichText( + Body = QCA.translate("Label", "参考文本\n参考音频的文本。") + ) + ) + ParamsManager_TTS_GPTSoVITS.SetParam( + Widget = self.ui.LineEdit_TTS_GPTSoVITS_RefText, + Section = 'Ref Params', + Option = 'Ref_Text', + DefaultValue = '' + ) + self.ui.LineEdit_TTS_GPTSoVITS_RefText.RemoveFileDialogButton() + self.ui.Button_TTS_GPTSoVITS_RefText_MoreActions.SetMenu( + ActionEvents = { + "重置": lambda: ParamsManager_TTS_GPTSoVITS.ResetParam(self.ui.LineEdit_TTS_GPTSoVITS_RefText), + "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_TTS_GPTSoVITS_RefText.text()) + } + ) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_GPTSoVITS_RefText, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_GPTSoVITS, + RootItemText = QCA.translate("Tree", "参考语音参数"), + ChildItemText = QCA.translate("Tree", "参考文本") + ) + + Function_SetText( + Widget = self.ui.Label_TTS_GPTSoVITS_RefLanguage, + Text = SetRichText( + Body = QCA.translate("Label", "所属语言\n文字所属的语言。") + ) + ) + self.ui.ComboBox_TTS_GPTSoVITS_RefLanguage.addItems([QCA.translate("ComboBox", '中文'), QCA.translate("ComboBox", '英文'), QCA.translate("ComboBox", '日文'), QCA.translate("ComboBox", '多语种混合')]) + ParamsManager_TTS_GPTSoVITS.SetParam( + Widget = self.ui.ComboBox_TTS_GPTSoVITS_RefLanguage, + Section = 'Ref Params', + Option = 'Ref_Language', + DefaultValue = '多语种混合' + ) + self.ui.Button_TTS_GPTSoVITS_RefLanguage_MoreActions.SetMenu( + ActionEvents = { + "重置": lambda: ParamsManager_TTS_GPTSoVITS.ResetParam(self.ui.ComboBox_TTS_GPTSoVITS_RefLanguage) + } + ) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_GPTSoVITS_RefLanguage, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_VITS, + RootItemText = QCA.translate("Tree", "参考语音参数"), + ChildItemText = QCA.translate("Tree", "所属语言") + ) self.ui.GroupBox_TTS_GPTSoVITS_GPTSoVITSParams.setTitle(QCA.translate("GroupBox", "语音合成参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_TTS_GPTSoVITS_GPTSoVITSParams, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_GPTSoVITS, + RootItemText = QCA.translate("Tree", "语音合成参数") + ) + + Function_SetText( + Widget = self.ui.Label_TTS_GPTSoVITS_Text, + Text = SetRichText( + Body = QCA.translate("Label", "合成文本\n合成音频的文本。") + ) + ) + ParamsManager_TTS_GPTSoVITS.SetParam( + Widget = self.ui.PlainTextEdit_TTS_GPTSoVITS_Text, + Section = 'GPTSoVITS Params', + Option = 'Text', + DefaultValue = '' + ) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_GPTSoVITS_Text, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_GPTSoVITS, + RootItemText = QCA.translate("Tree", "语音合成参数"), + ChildItemText = QCA.translate("Tree", "合成文本") + ) + + Function_SetText( + Widget = self.ui.Label_TTS_GPTSoVITS_Language, + Text = SetRichText( + Body = QCA.translate("Label", "所属语言\n文字所属的语言。") + ) + ) + self.ui.ComboBox_TTS_GPTSoVITS_Language.addItems([QCA.translate("ComboBox", '中文'), QCA.translate("ComboBox", '英文'), QCA.translate("ComboBox", '日文'), QCA.translate("ComboBox", '多语种混合')]) + ParamsManager_TTS_GPTSoVITS.SetParam( + Widget = self.ui.ComboBox_TTS_GPTSoVITS_Language, + Section = 'GPTSoVITS Params', + Option = 'Language', + DefaultValue = '多语种混合' + ) + self.ui.Button_TTS_GPTSoVITS_Language_MoreActions.SetMenu( + ActionEvents = { + "重置": lambda: ParamsManager_TTS_GPTSoVITS.ResetParam(self.ui.ComboBox_TTS_GPTSoVITS_Language) + } + ) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_GPTSoVITS_Language, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_VITS, + RootItemText = QCA.translate("Tree", "语音合成参数"), + ChildItemText = QCA.translate("Tree", "所属语言") + ) + + Function_SetText( + Widget = self.ui.Label_TTS_GPTSoVITS_HowToCut, + Text = SetRichText( + Body = QCA.translate("Label", "切分方式\n切分合成文本的方式。") + ) + ) + self.ui.ComboBox_TTS_GPTSoVITS_HowToCut.addItems([QCA.translate("ComboBox", '不切'), QCA.translate("ComboBox", '凑四句一切'), QCA.translate("ComboBox", '按中文句号。切'), QCA.translate("ComboBox", '按英文句号.切'), QCA.translate("ComboBox", '按标点符号切')]) + ParamsManager_TTS_GPTSoVITS.SetParam( + Widget = self.ui.ComboBox_TTS_GPTSoVITS_HowToCut, + Section = 'GPTSoVITS Params', + Option = 'How_To_Cut', + DefaultValue = '按标点符号切' + ) + self.ui.Button_TTS_GPTSoVITS_HowToCut_MoreActions.SetMenu( + ActionEvents = { + "重置": lambda: ParamsManager_TTS_GPTSoVITS.ResetParam(self.ui.ComboBox_TTS_GPTSoVITS_HowToCut) + } + ) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_GPTSoVITS_HowToCut, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_VITS, + RootItemText = QCA.translate("Tree", "语音合成参数"), + ChildItemText = QCA.translate("Tree", "切分方式") + ) + + self.ui.ToolBox_TTS_GPTSoVITS_GPTSoVITSParams_AdvanceSettings.widget(0).setText(QCA.translate("ToolBox", "高级设置")) + self.ui.ToolBox_TTS_GPTSoVITS_GPTSoVITSParams_AdvanceSettings.widget(0).collapse() + + Function_SetText( + Widget = self.ui.Label_TTS_GPTSoVITS_TopK, + Text = SetRichText( + Body = QCA.translate("Label", "Top_K\ngpt采样参数(无参考文本时不要太低)。") + ) + ) + self.ui.HorizontalSlider_TTS_GPTSoVITS_TopK.setMinimum(1) + self.ui.HorizontalSlider_TTS_GPTSoVITS_TopK.setMaximum(100) + self.ui.HorizontalSlider_TTS_GPTSoVITS_TopK.setTickInterval(1) + ParamsManager_TTS_GPTSoVITS.SetParam( + Widget = self.ui.HorizontalSlider_TTS_GPTSoVITS_TopK, + Section = 'GPTSoVITS Params', + Option = 'Top_K', + DefaultValue = 5 + ) + Function_ParamsSynchronizer( + Trigger = self.ui.HorizontalSlider_TTS_GPTSoVITS_TopK, + FromTo = { + self.ui.HorizontalSlider_TTS_GPTSoVITS_TopK: self.ui.SpinBox_TTS_GPTSoVITS_TopK + } + ) + self.ui.SpinBox_TTS_GPTSoVITS_TopK.setRange(1, 100) + self.ui.SpinBox_TTS_GPTSoVITS_TopK.setSingleStep(1) + ParamsManager_TTS_GPTSoVITS.SetParam( + Widget = self.ui.SpinBox_TTS_GPTSoVITS_TopK, + Section = 'GPTSoVITS Params', + Option = 'Top_K', + DefaultValue = 5 + ) + Function_ParamsSynchronizer( + Trigger = self.ui.SpinBox_TTS_GPTSoVITS_TopK, + FromTo = { + self.ui.SpinBox_TTS_GPTSoVITS_TopK: self.ui.HorizontalSlider_TTS_GPTSoVITS_TopK + } + ) + self.ui.Button_TTS_GPTSoVITS_TopK_MoreActions.SetMenu( + ActionEvents = { + "重置": lambda: ParamsManager_TTS_GPTSoVITS.ResetParam(self.ui.SpinBox_TTS_GPTSoVITS_TopK) + } + ) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_GPTSoVITS_TopK, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_GPTSoVITS, + RootItemText = QCA.translate("Tree", "语音合成参数"), + ChildItemText = QCA.translate("Tree", "Top_K") + ) + + Function_SetText( + Widget = self.ui.Label_TTS_GPTSoVITS_TopP, + Text = SetRichText( + Body = QCA.translate("Label", "Top_P\ngpt采样参数(无参考文本时不要太低)。") + ) + ) + self.ui.HorizontalSlider_TTS_GPTSoVITS_TopP.setMinimum(0) + self.ui.HorizontalSlider_TTS_GPTSoVITS_TopP.setMaximum(100) + self.ui.HorizontalSlider_TTS_GPTSoVITS_TopP.setTickInterval(5) + ParamsManager_TTS_GPTSoVITS.SetParam( + Widget = self.ui.HorizontalSlider_TTS_GPTSoVITS_TopP, + Section = 'GPTSoVITS Params', + Option = 'Top_P', + DefaultValue = 100, + Times = 100 + ) + Function_ParamsSynchronizer( + Trigger = self.ui.HorizontalSlider_TTS_GPTSoVITS_TopP, + FromTo = { + self.ui.HorizontalSlider_TTS_GPTSoVITS_TopP: self.ui.DoubleSpinBox_TTS_GPTSoVITS_TopP + }, + Times = 0.01 + ) + self.ui.DoubleSpinBox_TTS_GPTSoVITS_TopP.setRange(0, 1) + self.ui.DoubleSpinBox_TTS_GPTSoVITS_TopP.setSingleStep(0.05) + ParamsManager_TTS_GPTSoVITS.SetParam( + Widget = self.ui.DoubleSpinBox_TTS_GPTSoVITS_TopP, + Section = 'GPTSoVITS Params', + Option = 'Top_P', + DefaultValue = 1 + ) + Function_ParamsSynchronizer( + Trigger = self.ui.DoubleSpinBox_TTS_GPTSoVITS_TopP, + FromTo = { + self.ui.DoubleSpinBox_TTS_GPTSoVITS_TopP: self.ui.HorizontalSlider_TTS_GPTSoVITS_TopP + }, + Times = 100 + ) + self.ui.Button_TTS_GPTSoVITS_TopP_MoreActions.SetMenu( + ActionEvents = { + "重置": lambda: ParamsManager_TTS_GPTSoVITS.ResetParam(self.ui.DoubleSpinBox_TTS_GPTSoVITS_TopP) + } + ) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_GPTSoVITS_TopP, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_GPTSoVITS, + RootItemText = QCA.translate("Tree", "语音合成参数"), + ChildItemText = QCA.translate("Tree", "Top_P") + ) + + Function_SetText( + Widget = self.ui.Label_TTS_GPTSoVITS_Temperature, + Text = SetRichText( + Body = QCA.translate("Label", "Temperature\ngpt采样参数(无参考文本时不要太低)。") + ) + ) + self.ui.HorizontalSlider_TTS_GPTSoVITS_Temperature.setMinimum(0) + self.ui.HorizontalSlider_TTS_GPTSoVITS_Temperature.setMaximum(100) + self.ui.HorizontalSlider_TTS_GPTSoVITS_Temperature.setTickInterval(5) + ParamsManager_TTS_GPTSoVITS.SetParam( + Widget = self.ui.HorizontalSlider_TTS_GPTSoVITS_Temperature, + Section = 'GPTSoVITS Params', + Option = 'Temperature', + DefaultValue = 100, + Times = 100 + ) + Function_ParamsSynchronizer( + Trigger = self.ui.HorizontalSlider_TTS_GPTSoVITS_Temperature, + FromTo = { + self.ui.HorizontalSlider_TTS_GPTSoVITS_Temperature: self.ui.DoubleSpinBox_TTS_GPTSoVITS_Temperature + }, + Times = 0.01 + ) + self.ui.DoubleSpinBox_TTS_GPTSoVITS_Temperature.setRange(0, 1) + self.ui.DoubleSpinBox_TTS_GPTSoVITS_Temperature.setSingleStep(0.05) + ParamsManager_TTS_GPTSoVITS.SetParam( + Widget = self.ui.DoubleSpinBox_TTS_GPTSoVITS_Temperature, + Section = 'GPTSoVITS Params', + Option = 'Temperature', + DefaultValue = 1 + ) + Function_ParamsSynchronizer( + Trigger = self.ui.DoubleSpinBox_TTS_GPTSoVITS_Temperature, + FromTo = { + self.ui.DoubleSpinBox_TTS_GPTSoVITS_Temperature: self.ui.HorizontalSlider_TTS_GPTSoVITS_Temperature + }, + Times = 100 + ) + self.ui.Button_TTS_GPTSoVITS_Temperature_MoreActions.SetMenu( + ActionEvents = { + "重置": lambda: ParamsManager_TTS_GPTSoVITS.ResetParam(self.ui.DoubleSpinBox_TTS_GPTSoVITS_Temperature) + } + ) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_GPTSoVITS_Temperature, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_GPTSoVITS, + RootItemText = QCA.translate("Tree", "语音合成参数"), + ChildItemText = QCA.translate("Tree", "Temperature") + ) Function_SetText( Widget = self.ui.Label_TTS_GPTSoVITS_FP16Run, @@ -5431,6 +5980,83 @@ def SetText_LineEdit_Train_VITS_OutputDir(): "重置": lambda: ParamsManager_TTS_GPTSoVITS.ResetParam(self.ui.CheckBox_TTS_GPTSoVITS_FP16Run) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_GPTSoVITS_FP16Run, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_GPTSoVITS, + RootItemText = QCA.translate("Tree", "语音合成参数"), + ChildItemText = QCA.translate("Tree", "半精度推理") + ) + + TTS_GPTSoVITS_AudioDirSave = Path(CurrentDir).joinpath('语音合成结果', 'GPT-SoVITS').as_posix() + TTS_GPTSoVITS_AudioPathSave = Path(TTS_GPTSoVITS_AudioDirSave).joinpath("temp.wav").as_posix() + + # ChildWindow + ChildWindow_TTS_GPTSoVITS = Window_ChildWindow_TTS_GPTSoVITS(self) + + ChildWindow_TTS_GPTSoVITS.ui.Button_Close.clicked.connect( + lambda: Function_ShowMessageBox(self, + QMessageBox.Question, "Ask", + "确认退出试听?", + QMessageBox.Yes|QMessageBox.No, + { + QMessageBox.Yes: lambda: ( + ChildWindow_TTS_GPTSoVITS.ui.Widget.ReleaseMediaPlayer(), + ChildWindow_TTS_GPTSoVITS.close() + ) + } + ) + ) + ChildWindow_TTS_GPTSoVITS.ui.Button_Maximize.clicked.connect(lambda: ChildWindow_TTS_GPTSoVITS.showNormal() if ChildWindow_TTS_GPTSoVITS.isMaximized() else ChildWindow_TTS_GPTSoVITS.showMaximized()) + + Function_SetText( + Widget = ChildWindow_TTS_GPTSoVITS.ui.Label_Title, + Text = SetRichText( + Title = QCA.translate("Label", "语音合成结果") + ) + ) + Function_SetText( + Widget = ChildWindow_TTS_GPTSoVITS.ui.Label_Text, + Text = SetRichText( + Body = QCA.translate("Label", "点击播放按钮以试听合成语音") + ) + ) + + ChildWindow_TTS_GPTSoVITS.ui.Button_Cancel.setText(QCA.translate("Button", "丢弃")) + ChildWindow_TTS_GPTSoVITS.ui.Button_Cancel.clicked.connect( + lambda: Function_ShowMessageBox(self, + QMessageBox.Question, "Ask", + "确认丢弃音频?", + QMessageBox.Yes|QMessageBox.No, + { + QMessageBox.Yes: lambda: ( + ChildWindow_TTS_GPTSoVITS.ui.Widget.ReleaseMediaPlayer(), + os.remove(TTS_GPTSoVITS_AudioPathSave), + ChildWindow_TTS_GPTSoVITS.close() + ) + } + ) + ) + ChildWindow_TTS_GPTSoVITS.ui.Button_Confirm.setText(QCA.translate("Button", "保留")) + ChildWindow_TTS_GPTSoVITS.ui.Button_Confirm.clicked.connect( + lambda: Function_ShowMessageBox(self, + QMessageBox.Question, "Ask", + "确认保留音频?", + QMessageBox.Yes|QMessageBox.No, + { + QMessageBox.Yes: lambda: ( + ChildWindow_TTS_GPTSoVITS.ui.Widget.ReleaseMediaPlayer(), + shutil.move( + TTS_GPTSoVITS_AudioPathSave, + Function_GetFileDialog( + Mode = "SaveFile", + FileType = "wav类型 (*.wav)" + ) + ), + ChildWindow_TTS_GPTSoVITS.close() + ) + } + ) + ) # GPT-SoVITS - Right MonitorFile_Config_VoiceConverter_GPTSoVITS = MonitorFile(Path_Config_TTS_GPTSoVITS) @@ -5466,45 +6092,13 @@ def SetText_LineEdit_Train_VITS_OutputDir(): ) ) - ''' self.ui.Button_CheckOutput_TTS_GPTSoVITS.setText(QCA.translate("Button", "查看输出文件")) Function_SetURL( Button = self.ui.Button_CheckOutput_TTS_GPTSoVITS, - URL = self.ui.LineEdit_TTS_GPTSoVITS_AudioPathSave, + URL = TTS_GPTSoVITS_AudioDirSave, ButtonTooltip = "Click to open", CreateIfNotExist = True ) - ''' - - # GPT-SoVITS - Left - Function_SetTreeWidget( - TreeWidget = self.ui.TreeWidget_Catalogue_TTS_GPTSoVITS, - ItemTexts = { - self.ui.GroupBox_TTS_GPTSoVITS_InputParams.title(): ("基础设置"), - self.ui.GroupBox_TTS_GPTSoVITS_GPTSoVITSParams.title(): ("基础设置") - }, - AddVertically = True - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_TTS_GPTSoVITS.topLevelItem(0), - TargetWidget = self.ui.GroupBox_TTS_GPTSoVITS_InputParams, - ScrollArea = self.ui.ScrollArea_Middle_TTS_GPTSoVITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_TTS_GPTSoVITS.topLevelItem(0).child(0), - TargetWidget = self.ui.Frame_TTS_GPTSoVITS_InputParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_TTS_GPTSoVITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_TTS_GPTSoVITS.topLevelItem(1), - TargetWidget = self.ui.GroupBox_TTS_GPTSoVITS_GPTSoVITSParams, - ScrollArea = self.ui.ScrollArea_Middle_TTS_GPTSoVITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_TTS_GPTSoVITS.topLevelItem(1).child(0), - TargetWidget = self.ui.Frame_TTS_GPTSoVITS_GPTSoVITSParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_TTS_GPTSoVITS - ) # GPT-SoVITS - Bottom self.ui.Button_TTS_GPTSoVITS_Execute.setToolTip("执行语音合成") @@ -5520,7 +6114,32 @@ def SetText_LineEdit_Train_VITS_OutputDir(): self.ui.LineEdit_TTS_GPTSoVITS_ModelPathLoadS2G, self.ui.LineEdit_TTS_GPTSoVITS_ModelDirLoadBert, self.ui.LineEdit_TTS_GPTSoVITS_ModelDirLoadSSL, - self.ui.CheckBox_TTS_GPTSoVITS_FP16Run + self.ui.LineEdit_TTS_GPTSoVITS_RefAudio, + self.ui.CheckBox_TTS_GPTSoVITS_RefTextFree, + self.ui.LineEdit_TTS_GPTSoVITS_RefText, + self.ui.ComboBox_TTS_GPTSoVITS_RefLanguage, + self.ui.PlainTextEdit_TTS_GPTSoVITS_Text, + self.ui.ComboBox_TTS_GPTSoVITS_Language, + self.ui.ComboBox_TTS_GPTSoVITS_HowToCut, + self.ui.SpinBox_TTS_GPTSoVITS_TopK, + self.ui.DoubleSpinBox_TTS_GPTSoVITS_TopP, + self.ui.DoubleSpinBox_TTS_GPTSoVITS_Temperature, + self.ui.CheckBox_TTS_GPTSoVITS_FP16Run, + TTS_GPTSoVITS_AudioPathSave + ], + EmptyAllowed = [ + self.ui.LineEdit_TTS_GPTSoVITS_RefText + ], + FinishEvents = [ + lambda: self.ShowMask(True, "正在加载播放器"), + lambda: ChildWindow_TTS_GPTSoVITS.ui.Widget.SetMediaPlayer( + TTS_GPTSoVITS_AudioPathSave + ), + ChildWindow_TTS_GPTSoVITS.exec, + lambda: Function_ShowMessageBox(self, + QMessageBox.Information, "Tip", + "当前任务已执行结束。" + ) ] ) @@ -5540,8 +6159,17 @@ def SetText_LineEdit_Train_VITS_OutputDir(): ) ) + # VITS - Left + self.ui.TreeWidget_Catalogue_TTS_VITS.clear() + self.ui.TreeWidget_Catalogue_TTS_VITS.setHeaderHidden(True) + # VTIS - Middle self.ui.GroupBox_TTS_VITS_InputParams.setTitle(QCA.translate("GroupBox", "输入参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_TTS_VITS_InputParams, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_VITS, + RootItemText = QCA.translate("Tree", "输入参数") + ) Function_SetText( Widget = self.ui.Label_TTS_VITS_ConfigPathLoad, @@ -5575,6 +6203,12 @@ def SetText_LineEdit_Train_VITS_OutputDir(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_TTS_VITS_ConfigPathLoad.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_VITS_ConfigPathLoad, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_VITS, + RootItemText = QCA.translate("Tree", "输入参数"), + ChildItemText = QCA.translate("Tree", "配置加载路径") + ) Function_SetText( Widget = self.ui.Label_TTS_VITS_ModelPathLoad, @@ -5602,8 +6236,19 @@ def SetText_LineEdit_Train_VITS_OutputDir(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_TTS_VITS_ModelPathLoad.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_VITS_ModelPathLoad, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_VITS, + RootItemText = QCA.translate("Tree", "输入参数"), + ChildItemText = QCA.translate("Tree", "G模型加载路径") + ) self.ui.GroupBox_TTS_VITS_VITSParams.setTitle(QCA.translate("GroupBox", "语音合成参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_TTS_VITS_VITSParams, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_VITS, + RootItemText = QCA.translate("Tree", "语音合成参数") + ) Function_SetText( Widget = self.ui.Label_TTS_VITS_Text, @@ -5619,6 +6264,12 @@ def SetText_LineEdit_Train_VITS_OutputDir(): SetPlaceholderText = True, PlaceholderText = '请输入语句' ) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_VITS_Text, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_VITS, + RootItemText = QCA.translate("Tree", "语音合成参数"), + ChildItemText = QCA.translate("Tree", "输入文字") + ) Function_SetText( Widget = self.ui.Label_TTS_VITS_Language, @@ -5638,6 +6289,12 @@ def SetText_LineEdit_Train_VITS_OutputDir(): "重置": lambda: ParamsManager_TTS_VITS.ResetParam(self.ui.ComboBox_TTS_VITS_Language) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_VITS_Language, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_VITS, + RootItemText = QCA.translate("Tree", "语音合成参数"), + ChildItemText = QCA.translate("Tree", "所属语言") + ) Function_SetText( Widget = self.ui.Label_TTS_VITS_Speaker, @@ -5657,6 +6314,12 @@ def SetText_LineEdit_Train_VITS_OutputDir(): ) ''' self.ui.ComboBox_TTS_VITS_Speaker.setCurrentIndex(0) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_VITS_Speaker, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_VITS, + RootItemText = QCA.translate("Tree", "语音合成参数"), + ChildItemText = QCA.translate("Tree", "人物名字") + ) self.ui.ToolBox_TTS_VITS_VITSParams_AdvanceSettings.widget(0).setText(QCA.translate("ToolBox", "高级设置")) self.ui.ToolBox_TTS_VITS_VITSParams_AdvanceSettings.widget(0).collapse() @@ -5704,6 +6367,12 @@ def SetText_LineEdit_Train_VITS_OutputDir(): "重置": lambda: ParamsManager_TTS_VITS.ResetParam(self.ui.DoubleSpinBox_TTS_VITS_EmotionStrength) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_VITS_EmotionStrength, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_VITS, + RootItemText = QCA.translate("Tree", "语音合成参数"), + ChildItemText = QCA.translate("Tree", "情感强度") + ) Function_SetText( Widget = self.ui.Label_TTS_VITS_PhonemeDuration, @@ -5748,6 +6417,12 @@ def SetText_LineEdit_Train_VITS_OutputDir(): "重置": lambda: ParamsManager_TTS_VITS.ResetParam(self.ui.DoubleSpinBox_TTS_VITS_PhonemeDuration) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_VITS_PhonemeDuration, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_VITS, + RootItemText = QCA.translate("Tree", "语音合成参数"), + ChildItemText = QCA.translate("Tree", "音素音长") + ) Function_SetText( Widget = self.ui.Label_TTS_VITS_SpeechRate, @@ -5792,8 +6467,19 @@ def SetText_LineEdit_Train_VITS_OutputDir(): "重置": lambda: ParamsManager_TTS_VITS.ResetParam(self.ui.DoubleSpinBox_TTS_VITS_SpeechRate) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_VITS_SpeechRate, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_VITS, + RootItemText = QCA.translate("Tree", "语音合成参数"), + ChildItemText = QCA.translate("Tree", "整体语速") + ) self.ui.GroupBox_TTS_VITS_OutputParams.setTitle(QCA.translate("GroupBox", "输出参数")) + Function_AddToTreeWidget( + Widget = self.ui.GroupBox_TTS_VITS_OutputParams, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_VITS, + RootItemText = QCA.translate("Tree", "输出参数") + ) Function_SetText( Widget = self.ui.Label_TTS_VITS_AudioPathSave, @@ -5821,6 +6507,12 @@ def SetText_LineEdit_Train_VITS_OutputDir(): "复制": lambda: self.Clipboard.setText(self.ui.LineEdit_TTS_VITS_AudioPathSave.text()) } ) + Function_AddToTreeWidget( + Widget = self.ui.Label_TTS_VITS_AudioPathSave, + TreeWidget = self.ui.TreeWidget_Catalogue_TTS_VITS, + RootItemText = QCA.translate("Tree", "输出参数"), + ChildItemText = QCA.translate("Tree", "音频保存路径") + ) # ChildWindow ChildWindow_TTS = Window_ChildWindow_TTS(self) @@ -5925,52 +6617,6 @@ def SetText_LineEdit_Train_VITS_OutputDir(): CreateIfNotExist = True ) - # VITS - Left - Function_SetTreeWidget( - TreeWidget = self.ui.TreeWidget_Catalogue_TTS_VITS, - ItemTexts = { - self.ui.GroupBox_TTS_VITS_InputParams.title(): ("基础设置"), - self.ui.GroupBox_TTS_VITS_VITSParams.title(): ("基础设置","高级设置"), - self.ui.GroupBox_TTS_VITS_OutputParams.title(): ("基础设置") - }, - AddVertically = True - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_TTS_VITS.topLevelItem(0), - TargetWidget = self.ui.GroupBox_TTS_VITS_InputParams, - ScrollArea = self.ui.ScrollArea_Middle_TTS_VITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_TTS_VITS.topLevelItem(0).child(0), - TargetWidget = self.ui.Frame_TTS_VITS_InputParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_TTS_VITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_TTS_VITS.topLevelItem(1), - TargetWidget = self.ui.GroupBox_TTS_VITS_VITSParams, - ScrollArea = self.ui.ScrollArea_Middle_TTS_VITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_TTS_VITS.topLevelItem(1).child(0), - TargetWidget = self.ui.Frame_TTS_VITS_VITSParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_TTS_VITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_TTS_VITS.topLevelItem(1).child(1), - TargetWidget = self.ui.ToolBox_TTS_VITS_VITSParams_AdvanceSettings, - ScrollArea = self.ui.ScrollArea_Middle_TTS_VITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_TTS_VITS.topLevelItem(1), - TargetWidget = self.ui.GroupBox_TTS_VITS_OutputParams, - ScrollArea = self.ui.ScrollArea_Middle_TTS_VITS - ) - Function_ScrollToWidget( - Trigger = self.ui.TreeWidget_Catalogue_TTS_VITS.topLevelItem(1).child(0), - TargetWidget = self.ui.Frame_TTS_VITS_OutputParams_BasicSettings, - ScrollArea = self.ui.ScrollArea_Middle_TTS_VITS - ) - # VITS - Bottom self.ui.Button_TTS_VITS_Execute.setToolTip("执行语音合成") self.ui.Button_TTS_VITS_Terminate.setToolTip("终止语音合成") diff --git a/docs/Audio-Processor.md b/docs/CN/Audio-Processor.md similarity index 72% rename from docs/Audio-Processor.md rename to docs/CN/Audio-Processor.md index 7717690..dd53f4c 100644 --- a/docs/Audio-Processor.md +++ b/docs/CN/Audio-Processor.md @@ -1,11 +1,11 @@
-## 音频转换和分割
Audio Processor +## 音频转换和分割 ![Audio Processor](/docs/media/Audio-Processor.png)
-### 介绍
Intro +### 介绍 将媒体文件批量转换为音频文件并进行降噪、静音切除等操作 \ No newline at end of file diff --git a/docs/Dataset-Creator.md b/docs/CN/Dataset-Creator.md similarity index 67% rename from docs/Dataset-Creator.md rename to docs/CN/Dataset-Creator.md index 7ac2380..93d5c53 100644 --- a/docs/Dataset-Creator.md +++ b/docs/CN/Dataset-Creator.md @@ -1,11 +1,11 @@
-## 语音数据集制作
Dataset Creator +## 语音数据集制作 ![Dataset Creator](/docs/media/Dataset-Creator.png)
-### 介绍
Intro +### 介绍 生成适用于语音模型训练的数据集 \ No newline at end of file diff --git a/docs/Voice-Converter.md b/docs/CN/Voice-Converter.md similarity index 62% rename from docs/Voice-Converter.md rename to docs/CN/Voice-Converter.md index a32fb19..4e10662 100644 --- a/docs/Voice-Converter.md +++ b/docs/CN/Voice-Converter.md @@ -1,11 +1,11 @@
-## 音频转换和分割
Voice Converter +## 音频转换和分割 ![Voice Converter](/docs/media/Voice-Converter.png)
-### 介绍
Intro +### 介绍 将文字转为语音 \ No newline at end of file diff --git a/docs/CN/Voice-Recognizer.md b/docs/CN/Voice-Recognizer.md new file mode 100644 index 0000000..0ed554c --- /dev/null +++ b/docs/CN/Voice-Recognizer.md @@ -0,0 +1,11 @@ +
+ +## 语音识别和筛选 + +![Voice Recognizer](/docs/media/Voice-Recognizer.png) + +
+ + +### 介绍 +从不同说话人的音频中批量筛选出属于指定说话人的音频 \ No newline at end of file diff --git a/docs/Voice-Trainer.md b/docs/CN/Voice-Trainer.md similarity index 68% rename from docs/Voice-Trainer.md rename to docs/CN/Voice-Trainer.md index 6093aea..2cb0e11 100644 --- a/docs/Voice-Trainer.md +++ b/docs/CN/Voice-Trainer.md @@ -1,11 +1,11 @@
-## 语音模型训练
Voice Trainer +## 语音模型训练 ![Voice Trainer](/docs/media/Voice-Trainer.png)
-### 介绍
Intro +### 介绍 训练出适用于语音合成的模型文件 \ No newline at end of file diff --git a/docs/Voice-Transcriber.md b/docs/CN/Voice-Transcriber.md similarity index 71% rename from docs/Voice-Transcriber.md rename to docs/CN/Voice-Transcriber.md index 89f87c7..2998fc7 100644 --- a/docs/Voice-Transcriber.md +++ b/docs/CN/Voice-Transcriber.md @@ -1,11 +1,11 @@
-## 语音转文字字幕
Voice Transcriber +## 语音转文字字幕 ![Voice Transcriber](/docs/media/Voice-Transcriber.png)
-### 介绍
Intro +### 介绍 将语音文件批量转换为字幕文件并进行语言标注等操作 \ No newline at end of file diff --git a/docs/EN/Audio-Processor.md b/docs/EN/Audio-Processor.md new file mode 100644 index 0000000..98211a3 --- /dev/null +++ b/docs/EN/Audio-Processor.md @@ -0,0 +1,11 @@ +
+ +## Audio Processor + +![Audio Processor](/docs/media/Audio-Processor.png) + +
+ + +### Intro +Batch convert media files to audio files and perform noise reduction, silence trimming, and other operations. \ No newline at end of file diff --git a/docs/EN/Dataset-Creator.md b/docs/EN/Dataset-Creator.md new file mode 100644 index 0000000..0987d1f --- /dev/null +++ b/docs/EN/Dataset-Creator.md @@ -0,0 +1,11 @@ +
+ +## Dataset Creator + +![Dataset Creator](/docs/media/Dataset-Creator.png) + +
+ + +### Intro +Generate datasets for speech model training. \ No newline at end of file diff --git a/docs/EN/Voice-Converter.md b/docs/EN/Voice-Converter.md new file mode 100644 index 0000000..d9e9564 --- /dev/null +++ b/docs/EN/Voice-Converter.md @@ -0,0 +1,11 @@ +
+ +## Voice Converter + +![Voice Converter](/docs/media/Voice-Converter.png) + +
+ + +### Intro +Convert text into speech. (TTS) \ No newline at end of file diff --git a/docs/EN/Voice-Recognizer.md b/docs/EN/Voice-Recognizer.md new file mode 100644 index 0000000..bb12371 --- /dev/null +++ b/docs/EN/Voice-Recognizer.md @@ -0,0 +1,11 @@ +
+ +## Voice Recognizer + +![Voice Recognizer](/docs/media/Voice-Recognizer.png) + +
+ + +### Intro +Batch filter audio from different speakers to select those belonging to the specified speaker. \ No newline at end of file diff --git a/docs/EN/Voice-Trainer.md b/docs/EN/Voice-Trainer.md new file mode 100644 index 0000000..f80de32 --- /dev/null +++ b/docs/EN/Voice-Trainer.md @@ -0,0 +1,11 @@ +
+ +## Voice Trainer + +![Voice Trainer](/docs/media/Voice-Trainer.png) + +
+ + +### Intro +Train a speech model for voice conversion. \ No newline at end of file diff --git a/docs/EN/Voice-Transcriber.md b/docs/EN/Voice-Transcriber.md new file mode 100644 index 0000000..19ec8f0 --- /dev/null +++ b/docs/EN/Voice-Transcriber.md @@ -0,0 +1,11 @@ +
+ +## Voice Transcriber + +![Voice Transcriber](/docs/media/Voice-Transcriber.png) + +
+ + +### Intro +Batch convert speech files to subtitle files and perform language annotation and other operations. (STT) \ No newline at end of file diff --git a/docs/README_CN.md b/docs/README_CN.md index f9c34be..9b5c71c 100644 --- a/docs/README_CN.md +++ b/docs/README_CN.md @@ -32,17 +32,17 @@
工具箱目前包含以下功能: -- [音频处理](/docs/Audio-Processor.md) +- [音频处理](/docs/CN/Audio-Processor.md) -- [语音识别](/docs/Voice-Recognizer.md) +- [语音识别](/docs/CN/Voice-Recognizer.md) -- [语音转录](/docs/Voice-Transcriber.md) +- [语音转录](/docs/CN/Voice-Transcriber.md) -- [数据集制作](/docs/Dataset-Creator.md) +- [数据集制作](/docs/CN/Dataset-Creator.md) -- [模型训练](/docs/Voice-Trainer.md) +- [模型训练](/docs/CN/Voice-Trainer.md) -- [语音合成](/docs/Voice-Converter.md) +- [语音合成](/docs/CN/Voice-Converter.md)
这些功能依次关联,能够形成一套完整的工作流
用户可以根据自己的需求有选择性地使用,亦或者依次通过这些工具将未经处理的语音文件逐步变为理想的语音模型 diff --git a/docs/Voice-Recognizer.md b/docs/Voice-Recognizer.md deleted file mode 100644 index e855f5f..0000000 --- a/docs/Voice-Recognizer.md +++ /dev/null @@ -1,11 +0,0 @@ -
- -## 语音识别和筛选
Voice Recognizer - -![Voice Recognizer](/docs/media/Voice-Recognizer.png) - -
- - -### 介绍
Intro -从不同说话人的音频中批量筛选出属于同一说话人的音频 \ No newline at end of file diff --git a/docs/media/Audio-Processor.png b/docs/media/Audio-Processor.png index 3007c70..334570d 100644 Binary files a/docs/media/Audio-Processor.png and b/docs/media/Audio-Processor.png differ diff --git a/docs/media/Dataset-Creator.png b/docs/media/Dataset-Creator.png index 800effe..fe3c43c 100644 Binary files a/docs/media/Dataset-Creator.png and b/docs/media/Dataset-Creator.png differ diff --git a/docs/media/Voice-Converter.png b/docs/media/Voice-Converter.png index 243fd94..44527ce 100644 Binary files a/docs/media/Voice-Converter.png and b/docs/media/Voice-Converter.png differ diff --git a/docs/media/Voice-Recognizer.png b/docs/media/Voice-Recognizer.png index 78a9e71..098488d 100644 Binary files a/docs/media/Voice-Recognizer.png and b/docs/media/Voice-Recognizer.png differ diff --git a/docs/media/Voice-Trainer.png b/docs/media/Voice-Trainer.png index 2220915..99fc7be 100644 Binary files a/docs/media/Voice-Trainer.png and b/docs/media/Voice-Trainer.png differ diff --git a/docs/media/Voice-Transcriber.png b/docs/media/Voice-Transcriber.png index 47f1b05..653f5f6 100644 Binary files a/docs/media/Voice-Transcriber.png and b/docs/media/Voice-Transcriber.png differ diff --git a/requirements.txt b/requirements.txt index ab9ddee..a30d5de 100644 --- a/requirements.txt +++ b/requirements.txt @@ -32,7 +32,8 @@ nltk eng_to_ipa g2p_en pypinyin -jieba #jieba_fast +jieba +jieba_fast cn2an #opencc pyopenjtalk