Skip to content

Commit

Permalink
subtitle edit
Browse files Browse the repository at this point in the history
  • Loading branch information
CheshireCC committed Apr 15, 2024
1 parent faddf0c commit 3cd5b14
Show file tree
Hide file tree
Showing 16 changed files with 389 additions and 136 deletions.
17 changes: 14 additions & 3 deletions FasterWhisperGUI.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,12 @@ def mousePressEvent(self, event):
sys.path.append(os.path.join(BASE_DIR, 'whisperX'))
sys.path.append(os.path.join(BASE_DIR, 'ffmpeg'))
sys.path.append(os.path.join(BASE_DIR, 'cache'))
sys.path.append(os.path.join(BASE_DIR, 'python'))
sys.path.append(os.path.join(BASE_DIR, 'bin'))

# 修复环境变量 - ffmpeg
ffmpeg_dir = ";" + os.path.join(BASE_DIR, 'ffmpeg')
os.environ["path"] += ffmpeg_dir

# os.environ["CUDA_LAUNCH_BLOCKING"] = "0"

Expand All @@ -110,9 +116,14 @@ def mousePressEvent(self, event):
# cuBLAS_dir = ";" + os.path.join(BASE_DIR, 'cuBLAS')
# os.environ["path"] += cuBLAS_dir

# 修复环境变量 - ffmpeg
ffmpeg_dir = ";" + os.path.join(BASE_DIR, 'ffmpeg')
os.environ["path"] += ffmpeg_dir
# 修复环境变量 - python 文件夹
python_dir = ";" + os.path.join(BASE_DIR, 'python')
os.environ["path"] += python_dir

# 修复环境变量 - bin 文件夹
bin_dir = ";" + os.path.join(BASE_DIR, 'bin')
os.environ["path"] += bin_dir


pb.setValue(65)

Expand Down
2 changes: 1 addition & 1 deletion config/config.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"QFluentWidgets": {
"ThemeColor": "#ff3522e7",
"ThemeColor": "#ffff40b6",
"ThemeMode": "Light"
}
}
4 changes: 2 additions & 2 deletions fasterWhisperGUIConfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@
"autoLoadModel": false,
"language": 2,
"huggingface_user_token": "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",
"autoGoToOutputPage": 2,
"autoGoToOutputPage": 0,
"autoClearTempFiles": true,
"themeColor": "#3522e7"
"themeColor": "#ff009f"
},
"Transcription_param": {
"aggregate_contents": true,
Expand Down
2 changes: 1 addition & 1 deletion faster_whisper_GUI/UI_MainWindows.py
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,7 @@ def setupUI(self):
self.pages.append(self.page_setting)

self.stackedWidget.currentChanged.connect(self.onCurrentIndexChanged)
self.stackedWidget.setCurrentWidget(self.page_process)
self.stackedWidget.setCurrentWidget(self.page_home)
# self.pivot.setCurrentItem(self.page_process.objectName())

# 设置默认 RouteKey 防止返回键功能异常
Expand Down
19 changes: 11 additions & 8 deletions faster_whisper_GUI/aboutPageNavigationInterface.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,14 +102,11 @@ def __init__(self, parent = None) -> None:

def setupUI(self):

image = r":/resource/Image/pexels-photo-1563356.jpeg"
# image = r":/resource/Image/pexels-photo-1563356.jpeg"

self.imagelabel= ImageViewer(self, image)
self.addWidget(self.imagelabel)
self.imagelabel.setObjectName("imageViewer")

self.mainVLayout.addSpacing(15)
self.mainVLayout.addWidget(HorizontalSeparator(self))
# self.imagelabel= ImageViewer(self, image)
# self.addWidget(self.imagelabel)
# self.imagelabel.setObjectName("imageViewer")

self.strongBodyLabel = TitleLabel(self)
self.strongBodyLabel.setText(self.tr("生成式人工智能程序用户协议"))
Expand All @@ -122,10 +119,16 @@ def setupUI(self):
# self.lisenceLabel.setFont(QFont("Microsoft YaHei", 13))
self.addWidget(self.lisenceLabel)

self.mainVLayout.addSpacing(15)
self.mainVLayout.addWidget(HorizontalSeparator(self))



self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)

def addWidget(self, widget):
self.mainVLayout.addWidget(widget)

def addLayout(self, layout):
self.mainVLayout.addLayout(layout)
self.mainVLayout.addLayout(layout)

3 changes: 3 additions & 0 deletions faster_whisper_GUI/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -198,3 +198,6 @@
"#FFCC00",
"#0078D4",
]

tableItem_dark_warning_BackGround_color = "#50ffff00" # QColor(255,255,0, a=80)
tableItem_light_warning_BackGround_color = "#50ff0000" # QColor(255,0,0,a=127)
22 changes: 14 additions & 8 deletions faster_whisper_GUI/mainWindows.py
Original file line number Diff line number Diff line change
Expand Up @@ -644,20 +644,23 @@ def transcribeOver(self, segments_path_info:list):
self.simplifiedAndTraditionalChineseConvert(segment_,language_param)

print(f"len_segments_path_info_result: {len(segments_path_info)}")
self.showResultInTable(self.result_faster_whisper)
self.current_result = self.result_faster_whisper
time.sleep(0.8)


if self.page_setting.combox_autoGoToOutputPage.currentIndex() == 0:
self.stackedWidget.setCurrentWidget(self.page_output)

elif self.page_setting.combox_autoGoToOutputPage.currentIndex() == 2:
# time.sleep(0.8)
mess_ = MessageBox(self.__tr("转写结束"),self.__tr("是否跳转到输出目录?"),self)
mess_ = MessageBox(self.__tr("转写结束"), self.__tr("是否跳转到输出目录?"), self)
if mess_.exec():
# time.sleep(0.8)
self.stackedWidget.setCurrentWidget(self.page_output)

time.sleep(0.8)
self.showResultInTable(self.result_faster_whisper)
self.current_result = self.result_faster_whisper


def getParamTranscribe(self) -> dict:
Transcribe_params = {}

Expand Down Expand Up @@ -972,9 +975,9 @@ def whisperXAligmentTimeStample(self):
self.setStateTool(title=self.__tr("WhisperX"), text=self.__tr("时间戳对齐"), status=False)

if self.whisperXWorker is None:
self.whisperXWorker = WhisperXWorker(self.current_result, alignment=True,speaker_diarize=False, parent=self)
self.whisperXWorker = WhisperXWorker(self.current_result, alignment=True, speaker_diarize=False, parent=self)
else:
self.whisperXWorker.result_segments_path_info = self.result_faster_whisper
self.whisperXWorker.result_segments_path_info = self.current_result
self.whisperXWorker.alignment = True
self.whisperXWorker.speaker_diarize = False

Expand Down Expand Up @@ -1571,7 +1574,6 @@ def deleteResultTableEvent(self, routeKey:str):
except Exception:
pass


def closeEvent(self, event) -> None:
"""
点击窗口关闭按钮时的事件响应
Expand All @@ -1589,10 +1591,14 @@ def closeEvent(self, event) -> None:
try:
temp_list = os.listdir(r"./temp")
if len(temp_list) > 0:
os.system(r"del .\temp\*.srt")
temp_dir = os.path.abspath(r"./temp")
temp_cmd = temp_dir + "\\" + "*.srt"
os.system(f"del {temp_cmd}")
print("cleared temp files")

else:
print("no temp files to clear")

except Exception as e:
print(str(e))

Expand Down
8 changes: 3 additions & 5 deletions faster_whisper_GUI/navigationInterface.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
# coding:utf-8
import os
from PySide6.QtCore import (
Qt
, QUrl
# , QTranslator
Qt,
QUrl
)

from PySide6.QtGui import (
Expand All @@ -30,7 +29,6 @@
, TitleLabel
, CaptionLabel
, MessageBox
, PrimaryToolButton
)

from .style_sheet import StyleSheet
Expand Down Expand Up @@ -184,7 +182,7 @@ def __init__(self, title: str, subtitle: str, parent=None):


def addWidget(self, widget):
self.vBoxLayout.addWidget(widget, alignment=Qt.AlignTop)
self.vBoxLayout.addWidget(widget, alignment=Qt.AlignmentFlag.AlignTop)

def addLayout(self, layout):
self.vBoxLayout.addLayout(layout)
Expand Down
14 changes: 8 additions & 6 deletions faster_whisper_GUI/outputPageNavigationInterface.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,18 @@
QSizePolicy,
)

from qfluentwidgets import PushButton,ComboBox
from qfluentwidgets.components.widgets.label import BodyLabel, StrongBodyLabel
from qfluentwidgets.components.widgets.separator import HorizontalSeparator
from qfluentwidgets.components.widgets.spin_box import SpinBox
from qfluentwidgets import (
PushButton,
ComboBox,
BodyLabel,
StrongBodyLabel,
HorizontalSeparator,
SpinBox
)

from faster_whisper_GUI.config import SUBTITLE_FORMAT

from .navigationInterface import NavigationBaseInterface
from .tableViewInterface import TabInterface

from .outputLabelLineEditButtonWidget import OutputGroupWidget
from .config import ENCODING_DICT

Expand Down
18 changes: 9 additions & 9 deletions faster_whisper_GUI/settingPageNavigation.py
Original file line number Diff line number Diff line change
Expand Up @@ -120,18 +120,15 @@ def setupUI(self):

self.colorPickerButton = ColorPickerButton(self.themeColor_str, "ThemeColor", parent=self)
# self.colorPickerButton.clicked.disconnect()
self.colorPickerButton.colorChanged.connect(self.setThemeColorAndText)


self.randomPickThemeColorToolButton = PrimaryToolButton()
# self.randomPickThemeColorToolButton = ToolButton()
self.randomPickThemeColorToolButton.setIcon(FluentIcon.BASKETBALL)
self.randomPickThemeColorToolButton.setToolTip(self.__tr("切换预置主题色"))
self.randomPickThemeColorToolButton.clicked.connect(self.setColorAndThemeColorRandom)


self.themeColorLineEdit = LineEdit()
self.themeColorLineEdit.setText(self.themeColor_str)
self.themeColorLineEdit.textChanged.connect(self.setThemeColorWithLineEditText)


self.paramItemWidget_themeColor = ParamWidget(self.__tr("主题色"), self.__tr("主题配色"), self.themeColorLineEdit, self)

hb = QHBoxLayout()
Expand Down Expand Up @@ -203,6 +200,9 @@ def signalAndSlotProcess(self):
self.pushButton_openLogFile.clicked.connect(lambda: os.startfile(os.path.abspath(r"./fasterwhispergui.log").replace("\\","/")))
self.pushButton_openFWLogFile.clicked.connect(lambda: os.startfile(os.path.abspath(r"./faster_whisper.log").replace("\\","/")))
self.pushButton_clearTempFiles.clicked.connect(self.deletTempFiles)
self.colorPickerButton.colorChanged.connect(self.setThemeColorAndText)
self.randomPickThemeColorToolButton.clicked.connect(self.setColorAndThemeColorRandom)
self.themeColorLineEdit.textChanged.connect(self.setThemeColorWithLineEditText)


def deletTempFiles(self):
Expand Down Expand Up @@ -268,8 +268,8 @@ def setThemeColorAndText(self):
setThemeColor(self.themeColor_str, save=True, lazy=True)

def setThemeColorWithLineEditText(self,text):
if len(text) == 7:
self.colorPickerButton.setColor(text)
setThemeColor(text, save=True, lazy=True)
if len(text) in [7,9]:
self.colorPickerButton.setColor(QColor.fromString(text))
setThemeColor(QColor.fromString(text), save=True, lazy=True)
self.themeColor_str = text

Loading

0 comments on commit 3cd5b14

Please sign in to comment.