Krishna086 commited on
Commit
769175a
·
verified ·
1 Parent(s): 115098a

Update audio_processor.py

Browse files
Files changed (1) hide show
  1. audio_processor.py +3 -9
audio_processor.py CHANGED
@@ -20,14 +20,12 @@ def transcribe_audio(audio_file):
20
  def text_to_speech(text, target_lang, max_retries=2):
21
  try:
22
  if not text:
23
- st.error("No text to convert to audio.")
24
  return None
25
  lang_map = {
26
  "English": "en", "French": "fr", "Spanish": "es", "German": "de",
27
  "Hindi": "hi", "Chinese": "zh-cn", "Arabic": "ar", "Russian": "ru", "Japanese": "ja"
28
  }
29
  lang_code = lang_map.get(target_lang, "en")
30
- st.write(f"Generating audio for {lang_code}")
31
  for attempt in range(max_retries):
32
  try:
33
  tts = gTTS(text=text[:200], lang=lang_code, slow=False)
@@ -35,15 +33,11 @@ def text_to_speech(text, target_lang, max_retries=2):
35
  tts.write_to_fp(audio_buffer)
36
  audio_buffer.seek(0)
37
  if audio_buffer.getbuffer().nbytes > 0:
38
- st.success(f"Audio generated for {target_lang} on attempt {attempt + 1}")
39
  return audio_buffer
40
- time.sleep(2 ** attempt) # Exponential backoff for rate limits
41
- except Exception as e:
42
- st.warning(f"Attempt {attempt + 1} failed: {str(e)}")
43
  if attempt == max_retries - 1:
44
- st.error(f"Audio failed after {max_retries} attempts. Try English/French.")
45
  return None
46
  return None
47
- except Exception as e:
48
- st.error(f"Audio processing error: {str(e)}. Try English/French.")
49
  return None
 
20
  def text_to_speech(text, target_lang, max_retries=2):
21
  try:
22
  if not text:
 
23
  return None
24
  lang_map = {
25
  "English": "en", "French": "fr", "Spanish": "es", "German": "de",
26
  "Hindi": "hi", "Chinese": "zh-cn", "Arabic": "ar", "Russian": "ru", "Japanese": "ja"
27
  }
28
  lang_code = lang_map.get(target_lang, "en")
 
29
  for attempt in range(max_retries):
30
  try:
31
  tts = gTTS(text=text[:200], lang=lang_code, slow=False)
 
33
  tts.write_to_fp(audio_buffer)
34
  audio_buffer.seek(0)
35
  if audio_buffer.getbuffer().nbytes > 0:
 
36
  return audio_buffer
37
+ time.sleep(2 ** attempt)
38
+ except Exception:
 
39
  if attempt == max_retries - 1:
 
40
  return None
41
  return None
42
+ except Exception:
 
43
  return None