muhtasham commited on
Commit
78fe717
·
1 Parent(s): 7cec457
Files changed (1) hide show
  1. app.py +8 -8
app.py CHANGED
@@ -45,8 +45,8 @@ def generate_srt(segments):
45
  """Generate SRT format subtitles from transcription segments."""
46
  srt_content = []
47
  for i, segment in enumerate(segments, 1):
48
- start_time = format_time(segment["start"])
49
- end_time = format_time(segment["end"])
50
  text = segment.get("text", "").strip()
51
  srt_content.append(f"{i}\n{start_time} --> {end_time}\n{text}\n\n")
52
  return "".join(srt_content)
@@ -223,7 +223,7 @@ def check_api_health():
223
  logger.error(f"Health check failed: {str(e)}")
224
  raise gr.Error("Failed to connect to the API service. Please try again later.")
225
 
226
- def transcribe_youtube(url, return_timestamps, generate_subs, chunk_length_s=30, batch_size=128):
227
  """Transcribe audio from YouTube video using URL endpoint."""
228
  logger.info(f"Starting YouTube transcription process for URL: {url}")
229
  logger.info(f"Parameters - return_timestamps: {return_timestamps}, generate_subs: {generate_subs}, chunk_length_s: {chunk_length_s}, batch_size: {batch_size}")
@@ -300,7 +300,7 @@ def transcribe_youtube(url, return_timestamps, generate_subs, chunk_length_s=30,
300
  logger.exception(f"Error in YouTube transcription: {str(e)}")
301
  raise gr.Error(f"Failed to transcribe YouTube video: {str(e)}")
302
 
303
- def transcribe(inputs, return_timestamps, generate_subs, chunk_length_s=30, batch_size=128):
304
  """Transcribe audio input using Whisper API."""
305
  logger.info(f"Starting transcription process for file: {inputs}")
306
  logger.info(f"Parameters - return_timestamps: {return_timestamps}, generate_subs: {generate_subs}, chunk_length_s: {chunk_length_s}, batch_size: {batch_size}")
@@ -385,7 +385,7 @@ youtube_transcribe = gr.Interface(
385
  gr.Checkbox(label="Include timestamps", value=True),
386
  gr.Checkbox(label="Generate subtitles", value=True),
387
  gr.Slider(minimum=5, maximum=30, value=15, step=5, label="Chunk Length (seconds)"),
388
- gr.Slider(minimum=32, maximum=256, value=128, step=32, label="Batch Size")
389
  ],
390
  outputs=[
391
  gr.JSON(label="Transcription", open=True),
@@ -408,8 +408,8 @@ mf_transcribe = gr.Interface(
408
  gr.Audio(sources="microphone", type="filepath"),
409
  gr.Checkbox(label="Include timestamps", value=True),
410
  gr.Checkbox(label="Generate subtitles", value=True),
411
- gr.Slider(minimum=5, maximum=30, value=30, step=5, label="Chunk Length (seconds)"),
412
- gr.Slider(minimum=32, maximum=256, value=128, step=32, label="Batch Size")
413
  ],
414
  outputs=[
415
  gr.JSON(label="Transcription", open=True),
@@ -430,7 +430,7 @@ file_transcribe = gr.Interface(
430
  gr.Checkbox(label="Include timestamps", value=True),
431
  gr.Checkbox(label="Generate subtitles", value=True),
432
  gr.Slider(minimum=5, maximum=30, value=15, step=5, label="Chunk Length (seconds)"),
433
- gr.Slider(minimum=32, maximum=256, value=8, step=32, label="Batch Size")
434
  ],
435
  outputs=[
436
  gr.JSON(label="Transcription", open=True),
 
45
  """Generate SRT format subtitles from transcription segments."""
46
  srt_content = []
47
  for i, segment in enumerate(segments, 1):
48
+ start_time = format_time(segment["start_time"])
49
+ end_time = format_time(segment["end_time"])
50
  text = segment.get("text", "").strip()
51
  srt_content.append(f"{i}\n{start_time} --> {end_time}\n{text}\n\n")
52
  return "".join(srt_content)
 
223
  logger.error(f"Health check failed: {str(e)}")
224
  raise gr.Error("Failed to connect to the API service. Please try again later.")
225
 
226
+ def transcribe_youtube(url, return_timestamps, generate_subs, chunk_length_s=15, batch_size=8):
227
  """Transcribe audio from YouTube video using URL endpoint."""
228
  logger.info(f"Starting YouTube transcription process for URL: {url}")
229
  logger.info(f"Parameters - return_timestamps: {return_timestamps}, generate_subs: {generate_subs}, chunk_length_s: {chunk_length_s}, batch_size: {batch_size}")
 
300
  logger.exception(f"Error in YouTube transcription: {str(e)}")
301
  raise gr.Error(f"Failed to transcribe YouTube video: {str(e)}")
302
 
303
+ def transcribe(inputs, return_timestamps, generate_subs, chunk_length_s=15, batch_size=8):
304
  """Transcribe audio input using Whisper API."""
305
  logger.info(f"Starting transcription process for file: {inputs}")
306
  logger.info(f"Parameters - return_timestamps: {return_timestamps}, generate_subs: {generate_subs}, chunk_length_s: {chunk_length_s}, batch_size: {batch_size}")
 
385
  gr.Checkbox(label="Include timestamps", value=True),
386
  gr.Checkbox(label="Generate subtitles", value=True),
387
  gr.Slider(minimum=5, maximum=30, value=15, step=5, label="Chunk Length (seconds)"),
388
+ gr.Slider(minimum=8, maximum=64, value=8, step=8, label="Batch Size")
389
  ],
390
  outputs=[
391
  gr.JSON(label="Transcription", open=True),
 
408
  gr.Audio(sources="microphone", type="filepath"),
409
  gr.Checkbox(label="Include timestamps", value=True),
410
  gr.Checkbox(label="Generate subtitles", value=True),
411
+ gr.Slider(minimum=5, maximum=30, value=15, step=5, label="Chunk Length (seconds)"),
412
+ gr.Slider(minimum=8, maximum=64, value=8, step=8, label="Batch Size")
413
  ],
414
  outputs=[
415
  gr.JSON(label="Transcription", open=True),
 
430
  gr.Checkbox(label="Include timestamps", value=True),
431
  gr.Checkbox(label="Generate subtitles", value=True),
432
  gr.Slider(minimum=5, maximum=30, value=15, step=5, label="Chunk Length (seconds)"),
433
+ gr.Slider(minimum=8, maximum=64, value=8, step=8, label="Batch Size")
434
  ],
435
  outputs=[
436
  gr.JSON(label="Transcription", open=True),