avans06 commited on
Commit
5767d38
1 Parent(s): 92bc446

Whisper Progress Bar - Display More Information

Browse files
app.py CHANGED
@@ -387,8 +387,8 @@ class WhisperTranscriber:
387
  # From 0 to 1
388
  self.progress(current / total, desc=desc)
389
 
390
- def on_finished(self):
391
- self.progress(1)
392
 
393
  return ForwardingProgressListener(progress)
394
 
@@ -466,13 +466,13 @@ class WhisperTranscriber:
466
  if nllb_model.nllb_lang is not None:
467
  segment["text"] = nllb_model.translation(seg_text)
468
  pbar.update(1)
469
- segments_progress_listener.on_progress(idx+1, len(segments), "Process segments")
470
 
471
  nllb_model.release_vram()
472
  perf_end_time = time.perf_counter()
473
  # Call the finished callback
474
  if segments_progress_listener is not None:
475
- segments_progress_listener.on_finished()
476
 
477
  print("\n\nprocess segments took {} seconds.\n\n".format(perf_end_time - perf_start_time))
478
  except Exception as e:
 
387
  # From 0 to 1
388
  self.progress(current / total, desc=desc)
389
 
390
+ def on_finished(self, desc: str = None):
391
+ self.progress(1, desc=desc)
392
 
393
  return ForwardingProgressListener(progress)
394
 
 
466
  if nllb_model.nllb_lang is not None:
467
  segment["text"] = nllb_model.translation(seg_text)
468
  pbar.update(1)
469
+ segments_progress_listener.on_progress(idx+1, len(segments), desc=f"Process segments: {idx}/{len(segments)}")
470
 
471
  nllb_model.release_vram()
472
  perf_end_time = time.perf_counter()
473
  # Call the finished callback
474
  if segments_progress_listener is not None:
475
+ segments_progress_listener.on_finished(desc=f"Process segments: {idx}/{len(segments)}")
476
 
477
  print("\n\nprocess segments took {} seconds.\n\n".format(perf_end_time - perf_start_time))
478
  except Exception as e:
requirements-fasterWhisper.txt CHANGED
@@ -2,7 +2,7 @@
2
  ctranslate2>=3.16.0
3
  faster-whisper
4
  ffmpeg-python==0.2.0
5
- gradio==3.36.0
6
  yt-dlp
7
  json5
8
  torch
 
2
  ctranslate2>=3.16.0
3
  faster-whisper
4
  ffmpeg-python==0.2.0
5
+ gradio==3.39.0
6
  yt-dlp
7
  json5
8
  torch
requirements-whisper.txt CHANGED
@@ -2,7 +2,7 @@
2
  git+https://github.com/openai/whisper.git
3
  transformers
4
  ffmpeg-python==0.2.0
5
- gradio==3.36.0
6
  yt-dlp
7
  torchaudio
8
  altair
 
2
  git+https://github.com/openai/whisper.git
3
  transformers
4
  ffmpeg-python==0.2.0
5
+ gradio==3.39.0
6
  yt-dlp
7
  torchaudio
8
  altair
requirements.txt CHANGED
@@ -2,7 +2,7 @@
2
  ctranslate2>=3.16.0
3
  faster-whisper
4
  ffmpeg-python==0.2.0
5
- gradio==3.36.0
6
  yt-dlp
7
  json5
8
  torch
 
2
  ctranslate2>=3.16.0
3
  faster-whisper
4
  ffmpeg-python==0.2.0
5
+ gradio==3.39.0
6
  yt-dlp
7
  json5
8
  torch
src/hooks/progressListener.py CHANGED
@@ -4,5 +4,5 @@ class ProgressListener:
4
  def on_progress(self, current: Union[int, float], total: Union[int, float], desc: str = None):
5
  self.total = total
6
 
7
- def on_finished(self):
8
  pass
 
4
  def on_progress(self, current: Union[int, float], total: Union[int, float], desc: str = None):
5
  self.total = total
6
 
7
+ def on_finished(self, desc: str = None):
8
  pass
src/hooks/subTaskProgressListener.py CHANGED
@@ -33,5 +33,5 @@ class SubTaskProgressListener(ProgressListener):
33
  sub_task_progress = self.sub_task_start + self.sub_task_total * sub_task_progress_frac
34
  self.base_task_listener.on_progress(sub_task_progress, self.base_task_total, desc=desc)
35
 
36
- def on_finished(self):
37
- self.base_task_listener.on_progress(self.sub_task_start + self.sub_task_total, self.base_task_total)
 
33
  sub_task_progress = self.sub_task_start + self.sub_task_total * sub_task_progress_frac
34
  self.base_task_listener.on_progress(sub_task_progress, self.base_task_total, desc=desc)
35
 
36
+ def on_finished(self, desc: str = None):
37
+ self.base_task_listener.on_progress(self.sub_task_start + self.sub_task_total, self.base_task_total, desc=desc)
src/vadParallel.py CHANGED
@@ -170,6 +170,7 @@ class ParallelTranscription(AbstractTranscription):
170
  results_async = pool.starmap_async(self.transcribe, parameters)
171
  total_progress = 0
172
 
 
173
  while not results_async.ready():
174
  try:
175
  delta = progress_queue.get(timeout=5) # Set a timeout of 5 seconds
@@ -178,13 +179,14 @@ class ParallelTranscription(AbstractTranscription):
178
 
179
  total_progress += delta
180
  if progress_listener is not None:
181
- progress_listener.on_progress(total_progress, total_duration, desc="Transcribe parallel")
 
182
 
183
  results = results_async.get()
184
 
185
  # Call the finished callback
186
  if progress_listener is not None:
187
- progress_listener.on_finished()
188
 
189
  for result in results:
190
  # Merge the results
 
170
  results_async = pool.starmap_async(self.transcribe, parameters)
171
  total_progress = 0
172
 
173
+ idx=0
174
  while not results_async.ready():
175
  try:
176
  delta = progress_queue.get(timeout=5) # Set a timeout of 5 seconds
 
179
 
180
  total_progress += delta
181
  if progress_listener is not None:
182
+ idx+=1
183
+ progress_listener.on_progress(total_progress, total_duration, desc=f"Transcribe parallel: {idx}, {total_progress:.2f}/{total_duration}")
184
 
185
  results = results_async.get()
186
 
187
  # Call the finished callback
188
  if progress_listener is not None:
189
+ progress_listener.on_finished(desc=f"Transcribe parallel: {idx}, {total_progress:.2f}/{total_duration}.")
190
 
191
  for result in results:
192
  # Merge the results
src/whisper/fasterWhisperContainer.py CHANGED
@@ -145,12 +145,12 @@ class FasterWhisperCallback(AbstractWhisperCallback):
145
  )
146
 
147
  segments = []
148
-
149
  for segment in segments_generator:
150
  segments.append(segment)
151
 
152
  if progress_listener is not None:
153
- progress_listener.on_progress(segment.end, info.duration, "Transcribe")
154
  if verbose:
155
  print("[{}->{}] {}".format(format_timestamp(segment.start, True), format_timestamp(segment.end, True),
156
  segment.text))
@@ -187,7 +187,7 @@ class FasterWhisperCallback(AbstractWhisperCallback):
187
  self.prompt_strategy.on_segment_finished(segment_index, prompt, detected_language, result)
188
 
189
  if progress_listener is not None:
190
- progress_listener.on_finished()
191
  return result
192
 
193
  def _split_suppress_tokens(self, suppress_tokens: Union[str, List[int]]):
 
145
  )
146
 
147
  segments = []
148
+
149
  for segment in segments_generator:
150
  segments.append(segment)
151
 
152
  if progress_listener is not None:
153
+ progress_listener.on_progress(segment.end, info.duration, desc=f"Transcribe: {segment_index}")
154
  if verbose:
155
  print("[{}->{}] {}".format(format_timestamp(segment.start, True), format_timestamp(segment.end, True),
156
  segment.text))
 
187
  self.prompt_strategy.on_segment_finished(segment_index, prompt, detected_language, result)
188
 
189
  if progress_listener is not None:
190
+ progress_listener.on_finished(desc=f"Transcribe: {segment_index}.")
191
  return result
192
 
193
  def _split_suppress_tokens(self, suppress_tokens: Union[str, List[int]]):
webui.bat CHANGED
@@ -1,7 +1,7 @@
1
  @echo off
2
 
3
  :: The source of the webui.bat file is stable-diffusion-webui
4
- set COMMANDLINE_ARGS=--whisper_implementation faster-whisper --input_audio_max_duration -1 --default_model_name large-v2 --auto_parallel True --output_dir output --vad_max_merge_size 90 --save_downloaded_files --autolaunch
5
 
6
  if not defined PYTHON (set PYTHON=python)
7
  if not defined VENV_DIR (set "VENV_DIR=%~dp0%venv")
 
1
  @echo off
2
 
3
  :: The source of the webui.bat file is stable-diffusion-webui
4
+ set COMMANDLINE_ARGS=--whisper_implementation faster-whisper --input_audio_max_duration -1 --default_model_name large-v2 --auto_parallel True --output_dir output --vad_max_merge_size 90 --merge_subtitle_with_sources --autolaunch
5
 
6
  if not defined PYTHON (set PYTHON=python)
7
  if not defined VENV_DIR (set "VENV_DIR=%~dp0%venv")