Dubberkuro commited on
Commit
31cee8d
·
verified ·
1 Parent(s): c9852c9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -22
app.py CHANGED
@@ -1,41 +1,49 @@
1
  import gradio as gr
2
- from faster_whisper import WhisperModel
3
  from googletrans import Translator
4
  import tempfile
5
 
6
- # Load model (CPU safe)
7
- model = WhisperModel("tiny", device="cpu", compute_type="int8")
8
  translator = Translator()
9
 
10
- def format_time(seconds):
11
- hrs = int(seconds // 3600)
12
- mins = int((seconds % 3600) // 60)
13
- secs = int(seconds % 60)
14
- ms = int((seconds - int(seconds)) * 1000)
15
- return f"{hrs:02}:{mins:02}:{secs:02},{ms:03}"
 
16
 
17
  def process(video):
18
- segments, _ = model.transcribe(video)
 
 
 
 
 
 
 
 
19
 
20
- full_text = ""
21
- srt_content = ""
22
 
23
- for i, seg in enumerate(segments):
24
- start = format_time(seg.start)
25
- end = format_time(seg.end)
26
- text = seg.text.strip()
27
 
28
- burmese = translator.translate(text, dest="my").text
 
 
29
 
30
- full_text += burmese + " "
31
- srt_content += f"{i+1}\n{start} --> {end}\n{burmese}\n\n"
 
32
 
33
  # Save SRT
34
  tmp = tempfile.NamedTemporaryFile(delete=False, suffix=".srt")
35
- tmp.write(srt_content.encode("utf-8"))
36
  tmp.close()
37
 
38
- return full_text.strip(), tmp.name
39
 
40
  demo = gr.Interface(
41
  fn=process,
@@ -44,7 +52,7 @@ demo = gr.Interface(
44
  gr.Textbox(label="🇲🇲 Burmese Script"),
45
  gr.File(label="⬇️ Download SRT")
46
  ],
47
- title="🔥 Burmese Video AI (FINAL FIX)"
48
  )
49
 
50
  demo.launch(server_name="0.0.0.0", server_port=7860)
 
1
  import gradio as gr
2
+ import requests
3
  from googletrans import Translator
4
  import tempfile
5
 
 
 
6
  translator = Translator()
7
 
8
+ # ⚠️ free public whisper API (demo)
9
+ WHISPER_API = "https://api-inference.huggingface.co/models/openai/whisper-small"
10
+
11
+ def format_time(i):
12
+ start = i * 3
13
+ end = start + 3
14
+ return f"00:00:{start:02},000 --> 00:00:{end:02},000"
15
 
16
  def process(video):
17
+ # Read video file
18
+ with open(video, "rb") as f:
19
+ data = f.read()
20
+
21
+ # Call HF API
22
+ response = requests.post(WHISPER_API, data=data)
23
+
24
+ if response.status_code != 200:
25
+ return "API Error", None
26
 
27
+ result = response.json()
28
+ text = result.get("text", "")
29
 
30
+ # Translate
31
+ burmese = translator.translate(text, dest="my").text
 
 
32
 
33
+ # Simple SRT
34
+ sentences = burmese.split("။")
35
+ srt = ""
36
 
37
+ for i, s in enumerate(sentences):
38
+ if s.strip():
39
+ srt += f"{i+1}\n{format_time(i)}\n{s.strip()}။\n\n"
40
 
41
  # Save SRT
42
  tmp = tempfile.NamedTemporaryFile(delete=False, suffix=".srt")
43
+ tmp.write(srt.encode("utf-8"))
44
  tmp.close()
45
 
46
+ return burmese, tmp.name
47
 
48
  demo = gr.Interface(
49
  fn=process,
 
52
  gr.Textbox(label="🇲🇲 Burmese Script"),
53
  gr.File(label="⬇️ Download SRT")
54
  ],
55
+ title="🔥 Burmese Video AI (ULTRA SAFE BUILD)"
56
  )
57
 
58
  demo.launch(server_name="0.0.0.0", server_port=7860)