Update audio_processor.py
Browse files- 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)
|
41 |
-
except Exception
|
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
|
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
|