aadnk commited on
Commit
fddc6aa
2 Parent(s): d7992fc b59dd62

Merge branch 'main' of https://huggingface.co/spaces/aadnk/whisper-webui into main

Browse files
Files changed (1) hide show
  1. app.py +28 -4
app.py CHANGED
@@ -84,7 +84,11 @@ class WhisperTranscriber:
84
  print("[Auto parallel] Using GPU devices " + str(self.parallel_device_list) + " and " + str(self.vad_cpu_cores) + " CPU cores for VAD/transcription.")
85
 
86
  # Entry function for the simple tab
87
- def transcribe_webui_simple(self, modelName, languageName, urlData, multipleFiles, microphoneData, task, vad, vadMergeWindow, vadMaxMergeSize, vadPadding, vadPromptWindow,
 
 
 
 
88
  progress=gr.Progress()):
89
 
90
  vadOptions = VadOptions(vad, vadMergeWindow, vadMaxMergeSize, vadPadding, vadPromptWindow, self.app_config.vad_initial_prompt_mode)
@@ -93,6 +97,19 @@ class WhisperTranscriber:
93
 
94
  # Entry function for the full tab
95
  def transcribe_webui_full(self, modelName, languageName, urlData, multipleFiles, microphoneData, task,
 
 
 
 
 
 
 
 
 
 
 
 
 
96
  vad, vadMergeWindow, vadMaxMergeSize, vadPadding, vadPromptWindow, vadInitialPromptMode,
97
  initial_prompt: str, temperature: float, best_of: int, beam_size: int, patience: float, length_penalty: float, suppress_tokens: str,
98
  condition_on_previous_text: bool, fp16: bool, temperature_increment_on_fallback: float,
@@ -457,7 +474,10 @@ def create_ui(app_config: ApplicationConfig):
457
  gr.Number(label="VAD - Prompt Window (s)", precision=None, value=app_config.vad_prompt_window),
458
  ]
459
 
460
- simple_transcribe = gr.Interface(fn=ui.transcribe_webui_simple, description=ui_description, article=ui_article, inputs=simple_inputs(), outputs=[
 
 
 
461
  gr.File(label="Download"),
462
  gr.Text(label="Transcription"),
463
  gr.Text(label="Segments")
@@ -465,7 +485,8 @@ def create_ui(app_config: ApplicationConfig):
465
 
466
  full_description = ui_description + "\n\n\n\n" + "Be careful when changing some of the options in the full interface - this can cause the model to crash."
467
 
468
- full_transcribe = gr.Interface(fn=ui.transcribe_webui_full, description=full_description, article=ui_article, inputs=[
 
469
  *simple_inputs(),
470
  gr.Dropdown(choices=["prepend_first_segment", "prepend_all_segments"], value=app_config.vad_initial_prompt_mode, label="VAD - Initial Prompt Mode"),
471
  gr.TextArea(label="Initial Prompt"),
@@ -490,8 +511,11 @@ def create_ui(app_config: ApplicationConfig):
490
  demo = gr.TabbedInterface([simple_transcribe, full_transcribe], tab_names=["Simple", "Full"])
491
 
492
  # Queue up the demo
493
- if app_config.queue_concurrency_count is not None and app_config.queue_concurrency_count > 0:
494
  demo.queue(concurrency_count=app_config.queue_concurrency_count)
 
 
 
495
 
496
  demo.launch(share=app_config.share, server_name=app_config.server_name, server_port=app_config.server_port)
497
 
 
84
  print("[Auto parallel] Using GPU devices " + str(self.parallel_device_list) + " and " + str(self.vad_cpu_cores) + " CPU cores for VAD/transcription.")
85
 
86
  # Entry function for the simple tab
87
+ def transcribe_webui_simple(self, modelName, languageName, urlData, multipleFiles, microphoneData, task, vad, vadMergeWindow, vadMaxMergeSize, vadPadding, vadPromptWindow):
88
+ return self.transcribe_webui_simple_progress(modelName, languageName, urlData, multipleFiles, microphoneData, task, vad, vadMergeWindow, vadMaxMergeSize, vadPadding, vadPromptWindow)
89
+
90
+ # Entry function for the simple tab progress
91
+ def transcribe_webui_simple_progress(self, modelName, languageName, urlData, multipleFiles, microphoneData, task, vad, vadMergeWindow, vadMaxMergeSize, vadPadding, vadPromptWindow,
92
  progress=gr.Progress()):
93
 
94
  vadOptions = VadOptions(vad, vadMergeWindow, vadMaxMergeSize, vadPadding, vadPromptWindow, self.app_config.vad_initial_prompt_mode)
 
97
 
98
  # Entry function for the full tab
99
  def transcribe_webui_full(self, modelName, languageName, urlData, multipleFiles, microphoneData, task,
100
+ vad, vadMergeWindow, vadMaxMergeSize, vadPadding, vadPromptWindow, vadInitialPromptMode,
101
+ initial_prompt: str, temperature: float, best_of: int, beam_size: int, patience: float, length_penalty: float, suppress_tokens: str,
102
+ condition_on_previous_text: bool, fp16: bool, temperature_increment_on_fallback: float,
103
+ compression_ratio_threshold: float, logprob_threshold: float, no_speech_threshold: float):
104
+
105
+ return self.transcribe_webui_full_progress(modelName, languageName, urlData, multipleFiles, microphoneData, task,
106
+ vad, vadMergeWindow, vadMaxMergeSize, vadPadding, vadPromptWindow, vadInitialPromptMode,
107
+ initial_prompt, temperature, best_of, beam_size, patience, length_penalty, suppress_tokens,
108
+ condition_on_previous_text, fp16, temperature_increment_on_fallback,
109
+ compression_ratio_threshold, logprob_threshold, no_speech_threshold)
110
+
111
+ # Entry function for the full tab with progress
112
+ def transcribe_webui_full_progress(self, modelName, languageName, urlData, multipleFiles, microphoneData, task,
113
  vad, vadMergeWindow, vadMaxMergeSize, vadPadding, vadPromptWindow, vadInitialPromptMode,
114
  initial_prompt: str, temperature: float, best_of: int, beam_size: int, patience: float, length_penalty: float, suppress_tokens: str,
115
  condition_on_previous_text: bool, fp16: bool, temperature_increment_on_fallback: float,
 
474
  gr.Number(label="VAD - Prompt Window (s)", precision=None, value=app_config.vad_prompt_window),
475
  ]
476
 
477
+ is_queue_mode = app_config.queue_concurrency_count is not None and app_config.queue_concurrency_count > 0
478
+
479
+ simple_transcribe = gr.Interface(fn=ui.transcribe_webui_simple_progress if is_queue_mode else ui.transcribe_webui_simple,
480
+ description=ui_description, article=ui_article, inputs=simple_inputs(), outputs=[
481
  gr.File(label="Download"),
482
  gr.Text(label="Transcription"),
483
  gr.Text(label="Segments")
 
485
 
486
  full_description = ui_description + "\n\n\n\n" + "Be careful when changing some of the options in the full interface - this can cause the model to crash."
487
 
488
+ full_transcribe = gr.Interface(fn=ui.transcribe_webui_full_progress if is_queue_mode else ui.transcribe_webui_full,
489
+ description=full_description, article=ui_article, inputs=[
490
  *simple_inputs(),
491
  gr.Dropdown(choices=["prepend_first_segment", "prepend_all_segments"], value=app_config.vad_initial_prompt_mode, label="VAD - Initial Prompt Mode"),
492
  gr.TextArea(label="Initial Prompt"),
 
511
  demo = gr.TabbedInterface([simple_transcribe, full_transcribe], tab_names=["Simple", "Full"])
512
 
513
  # Queue up the demo
514
+ if is_queue_mode:
515
  demo.queue(concurrency_count=app_config.queue_concurrency_count)
516
+ print("Queue mode enabled (concurrency count: " + str(app_config.queue_concurrency_count) + ")")
517
+ else:
518
+ print("Queue mode disabled - progress bars will not be shown.")
519
 
520
  demo.launch(share=app_config.share, server_name=app_config.server_name, server_port=app_config.server_port)
521