Kalp97 commited on
Commit
0d0627d
·
verified ·
1 Parent(s): 87fae58

Upload 2 files

Browse files
Files changed (2) hide show
  1. app.py +22 -4
  2. requirements.txt +5 -2
app.py CHANGED
@@ -19,9 +19,10 @@ def transcribe(file, model_name, language, show_timestamps, translate):
19
  return "Please upload a video or audio file.", ""
20
  try:
21
  m = load_model(model_name)
22
- # Hinglish: force English mode so output is Roman script
23
- if language == "Hinglish (Roman)":
24
- lang = "english"
 
25
  elif language == "Auto Detect":
26
  lang = None
27
  else:
@@ -29,12 +30,29 @@ def transcribe(file, model_name, language, show_timestamps, translate):
29
  whisper_task = "translate" if translate == "Translate to English" else "transcribe"
30
  result = m.transcribe(file.name, language=lang, verbose=False, task=whisper_task)
31
  plain = result["text"].strip()
 
 
 
 
 
 
 
 
 
32
  if show_timestamps:
33
  lines = []
34
  for seg in result["segments"]:
35
  start = format_time(seg["start"])
36
  end = format_time(seg["end"])
37
- lines.append(f"[{start} {end}] {seg['text'].strip()}")
 
 
 
 
 
 
 
 
38
  return "\n".join(lines), plain
39
  return plain, plain
40
  except Exception as e:
 
19
  return "Please upload a video or audio file.", ""
20
  try:
21
  m = load_model(model_name)
22
+ # Hinglish: transcribe in Hindi then transliterate to Roman script
23
+ hinglish_mode = (language == "Hinglish (Roman)")
24
+ if hinglish_mode:
25
+ lang = "hi" # Force Hindi so Whisper writes Devanagari accurately
26
  elif language == "Auto Detect":
27
  lang = None
28
  else:
 
30
  whisper_task = "translate" if translate == "Translate to English" else "transcribe"
31
  result = m.transcribe(file.name, language=lang, verbose=False, task=whisper_task)
32
  plain = result["text"].strip()
33
+
34
+ # Hinglish: transliterate Devanagari → Roman script
35
+ if hinglish_mode:
36
+ try:
37
+ from indic_transliteration import sanscript
38
+ from indic_transliteration.transliterate import transliterate
39
+ plain = transliterate(plain, sanscript.DEVANAGARI, sanscript.ITRANS)
40
+ except Exception:
41
+ pass # fallback: return Devanagari if transliteration fails
42
  if show_timestamps:
43
  lines = []
44
  for seg in result["segments"]:
45
  start = format_time(seg["start"])
46
  end = format_time(seg["end"])
47
+ seg_text = seg['text'].strip()
48
+ if hinglish_mode:
49
+ try:
50
+ from indic_transliteration import sanscript
51
+ from indic_transliteration.transliterate import transliterate
52
+ seg_text = transliterate(seg_text, sanscript.DEVANAGARI, sanscript.ITRANS)
53
+ except Exception:
54
+ pass
55
+ lines.append(f"[{start} → {end}] {seg_text}")
56
  return "\n".join(lines), plain
57
  return plain, plain
58
  except Exception as e:
requirements.txt CHANGED
@@ -1,3 +1,6 @@
1
- gradio
 
2
  openai-whisper
3
- ffmpeg-python
 
 
 
1
+ flask
2
+ flask-cors
3
  openai-whisper
4
+ gunicorn
5
+
6
+ indic-transliteration