rafaaa2105 commited on
Commit
f475b61
·
verified ·
1 Parent(s): 160b9cc

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +5 -7
app.py CHANGED
@@ -1,11 +1,10 @@
1
  import gradio as gr
2
  import whisper
3
  import moviepy.editor as mp
4
- from googletrans import Translator
5
  from pydub import AudioSegment
6
  import os
7
  import tempfile
8
- import spaces
9
 
10
  def extract_audio(video_path):
11
  video = mp.VideoFileClip(video_path)
@@ -14,17 +13,16 @@ def extract_audio(video_path):
14
  audio.write_audiofile(audio_path)
15
  return audio_path
16
 
17
- @spaces.GPU
18
  def generate_subtitles(audio_path):
19
  model = whisper.load_model("base")
20
  result = model.transcribe(audio_path)
21
  return result["segments"]
22
 
23
  def translate_subtitles(subtitles, target_language):
24
- translator = Translator()
25
  translated_subtitles = []
26
  for segment in subtitles:
27
- translated_text = translator.translate(segment["text"], dest=target_language).text
28
  translated_subtitles.append({
29
  "start": segment["start"],
30
  "end": segment["end"],
@@ -68,11 +66,11 @@ iface = gr.Interface(
68
  fn=gradio_interface,
69
  inputs=[
70
  gr.Video(label="Upload Video"),
71
- gr.Dropdown(choices=["es", "fr", "de", "it", "ja", "ko", "zh-cn"], label="Target Language")
72
  ],
73
  outputs=gr.Video(label="Processed Video"),
74
  title="Video Subtitle Translator",
75
  description="Upload a video, and get it back with translated subtitles!"
76
  )
77
 
78
- iface.launch()
 
1
  import gradio as gr
2
  import whisper
3
  import moviepy.editor as mp
4
+ from deep_translator import GoogleTranslator
5
  from pydub import AudioSegment
6
  import os
7
  import tempfile
 
8
 
9
  def extract_audio(video_path):
10
  video = mp.VideoFileClip(video_path)
 
13
  audio.write_audiofile(audio_path)
14
  return audio_path
15
 
 
16
  def generate_subtitles(audio_path):
17
  model = whisper.load_model("base")
18
  result = model.transcribe(audio_path)
19
  return result["segments"]
20
 
21
  def translate_subtitles(subtitles, target_language):
22
+ translator = GoogleTranslator(source='auto', target=target_language)
23
  translated_subtitles = []
24
  for segment in subtitles:
25
+ translated_text = translator.translate(segment["text"])
26
  translated_subtitles.append({
27
  "start": segment["start"],
28
  "end": segment["end"],
 
66
  fn=gradio_interface,
67
  inputs=[
68
  gr.Video(label="Upload Video"),
69
+ gr.Dropdown(choices=["es", "fr", "de", "it", "ja", "ko", "zh-CN"], label="Target Language")
70
  ],
71
  outputs=gr.Video(label="Processed Video"),
72
  title="Video Subtitle Translator",
73
  description="Upload a video, and get it back with translated subtitles!"
74
  )
75
 
76
+ iface.launch()