feat: add advanced transcription options for VAD, word-level timestamps, and translation

This commit is contained in:
2026-04-11 14:06:04 +02:00
parent 8d5c8d6097
commit 0293a13177
2 changed files with 47 additions and 7 deletions

19
app.py
View File

@@ -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()