capradeepgujaran commited on
Commit
ade1f36
·
verified ·
1 Parent(s): 81bb6d6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -6
app.py CHANGED
@@ -6,7 +6,7 @@ from gtts.lang import tts_langs
6
  # Get available languages for Google TTS
7
  google_langs = tts_langs()
8
 
9
- # Initialize descriptive names for some common languages, and fallback for any missing
10
  google_lang_descriptions = {
11
  "af": "Afrikaans",
12
  "ar": "Arabic",
@@ -77,15 +77,19 @@ google_voice_options = {
77
  # Add voice options for other languages if applicable
78
  }
79
 
80
- def google_tts(text, lang, tld):
81
  try:
82
- tts = gTTS(text=text, lang=lang, tld=tld, slow=False)
 
 
 
 
83
 
84
  with tempfile.NamedTemporaryFile(delete=False, suffix=".mp3") as temp_audio:
85
  tts.save(temp_audio.name)
86
  temp_audio_path = temp_audio.name
87
 
88
- return temp_audio_path, f"Speech generated with Google TTS using {google_lang_descriptions.get(lang, lang)} language and {tld} voice variant"
89
  except Exception as e:
90
  return None, f"Error in Google TTS speech generation: {str(e)}"
91
 
@@ -107,14 +111,14 @@ with gr.Blocks() as iface:
107
  # Convert descriptive language back to its code
108
  google_lang_code = [key for key, value in google_lang_descriptions.items() if value == google_lang_desc][0]
109
  # Find the tld (country code) based on the description (if applicable)
110
- google_voice_tld = dict(google_voice_options.get(google_lang_code, [("Default", "")])).get(google_voice_desc, "")
111
  return google_tts(text, google_lang_code, google_voice_tld)
112
 
113
  def update_google_voice_options(lang_desc):
114
  # Convert descriptive language back to its code
115
  google_lang_code = [key for key, value in google_lang_descriptions.items() if value == lang_desc][0]
116
  # Update the voice dropdown with corresponding voice options (if available)
117
- return gr.Dropdown(choices=[x[0] for x in google_voice_options.get(google_lang_code, [("Default", "")])], value="Default")
118
 
119
  speech_button.click(generate_speech,
120
  inputs=[text_input, google_lang_input, google_voice_input],
 
6
  # Get available languages for Google TTS
7
  google_langs = tts_langs()
8
 
9
+ # Create descriptive names for all supported languages
10
  google_lang_descriptions = {
11
  "af": "Afrikaans",
12
  "ar": "Arabic",
 
77
  # Add voice options for other languages if applicable
78
  }
79
 
80
+ def google_tts(text, lang, tld=None):
81
  try:
82
+ # Only include tld if it's provided (for languages like English)
83
+ if tld:
84
+ tts = gTTS(text=text, lang=lang, tld=tld, slow=False)
85
+ else:
86
+ tts = gTTS(text=text, lang=lang, slow=False) # No TLD for languages without specific variants
87
 
88
  with tempfile.NamedTemporaryFile(delete=False, suffix=".mp3") as temp_audio:
89
  tts.save(temp_audio.name)
90
  temp_audio_path = temp_audio.name
91
 
92
+ return temp_audio_path, f"Speech generated with Google TTS using {google_lang_descriptions.get(lang, lang)} language"
93
  except Exception as e:
94
  return None, f"Error in Google TTS speech generation: {str(e)}"
95
 
 
111
  # Convert descriptive language back to its code
112
  google_lang_code = [key for key, value in google_lang_descriptions.items() if value == google_lang_desc][0]
113
  # Find the tld (country code) based on the description (if applicable)
114
+ google_voice_tld = dict(google_voice_options.get(google_lang_code, [("Default", None)])).get(google_voice_desc, None)
115
  return google_tts(text, google_lang_code, google_voice_tld)
116
 
117
  def update_google_voice_options(lang_desc):
118
  # Convert descriptive language back to its code
119
  google_lang_code = [key for key, value in google_lang_descriptions.items() if value == lang_desc][0]
120
  # Update the voice dropdown with corresponding voice options (if available)
121
+ return gr.Dropdown(choices=[x[0] for x in google_voice_options.get(google_lang_code, [("Default", None)])], value="Default")
122
 
123
  speech_button.click(generate_speech,
124
  inputs=[text_input, google_lang_input, google_voice_input],