feat: add advanced transcription options for VAD, word-level timestamps, and translation
This commit is contained in:
19
app.py
19
app.py
@@ -219,6 +219,21 @@ class App:
|
||||
ts_frame, text="Include timestamps in transcription",
|
||||
variable=self.timestamps_var, font=font_b)
|
||||
self.timestamps_switch.pack(side=tk.LEFT, padx=5)
|
||||
# Advanced options frame
|
||||
adv_frame = customtkinter.CTkFrame(master)
|
||||
adv_frame.pack(fill=tk.BOTH, padx=10, pady=10)
|
||||
self.vad_var = tk.BooleanVar(value=False)
|
||||
customtkinter.CTkSwitch(
|
||||
adv_frame, text="VAD filter (remove silence)",
|
||||
variable=self.vad_var, font=font_b).pack(side=tk.LEFT, padx=5)
|
||||
self.word_ts_var = tk.BooleanVar(value=False)
|
||||
customtkinter.CTkSwitch(
|
||||
adv_frame, text="Word-level timestamps",
|
||||
variable=self.word_ts_var, font=font_b).pack(side=tk.LEFT, padx=5)
|
||||
self.translate_var = tk.BooleanVar(value=False)
|
||||
customtkinter.CTkSwitch(
|
||||
adv_frame, text="Translate to English",
|
||||
variable=self.translate_var, font=font_b).pack(side=tk.LEFT, padx=5)
|
||||
# Progress Bar
|
||||
self.progress_bar = ttk.Progressbar(master, length=200, mode='indeterminate')
|
||||
# Worker process handle (replaces thread+stop_event for true immediate cancellation)
|
||||
@@ -320,6 +335,9 @@ class App:
|
||||
lang_label = self.language_combobox.get()
|
||||
language = WHISPER_LANGUAGES.get(lang_label, lang_label) if lang_label else None
|
||||
timestamps = self.timestamps_var.get()
|
||||
vad_filter = self.vad_var.get()
|
||||
word_timestamps = self.word_ts_var.get()
|
||||
translate = self.translate_var.get()
|
||||
glob_file = get_path(path)
|
||||
self.progress_bar.pack(fill=tk.X, padx=5, pady=5)
|
||||
self.progress_bar.start()
|
||||
@@ -327,6 +345,7 @@ class App:
|
||||
self._proc = mp.Process(
|
||||
target=_transcribe_worker_process,
|
||||
args=(self._child_conn, path, glob_file, model, language, True, timestamps),
|
||||
kwargs={"vad_filter": vad_filter, "word_timestamps": word_timestamps, "translate": translate},
|
||||
daemon=True,
|
||||
)
|
||||
self._proc.start()
|
||||
|
||||
Reference in New Issue
Block a user