Tonic commited on
Commit
5567a6d
·
verified ·
1 Parent(s): f1d5a1b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -7
app.py CHANGED
@@ -156,8 +156,7 @@ def process_audio_to_text(audio_path, inputlanguage="English", outputlanguage="E
156
 
157
  def process_text_to_audio(text, translatefrom="English", translateto="English", filename_prefix="audio"):
158
  """
159
- Convert text input to audio using the Gradio client.
160
- Ensure the audio file is correctly saved and returned as a file path or binary data.
161
  """
162
  try:
163
  # Generate audio from text
@@ -170,18 +169,20 @@ def process_text_to_audio(text, translatefrom="English", translateto="English",
170
  if "error" in audio_response:
171
  raise ValueError(f"API Error: {audio_response['error']}")
172
 
173
- # Assuming audio_response[0] is a URL or file path to the generated audio
174
  audio_url = audio_response[0]
 
 
 
175
  response = requests.get(audio_url)
176
- audio_data = response.content # This should be binary data
 
 
 
177
 
178
- # Generate a unique filename based on the text's hash
179
  text_hash = hashlib.md5(text.encode('utf-8')).hexdigest()
180
  filename = f"{filename_prefix}_{text_hash}.wav"
181
- # Save the audio data to a new file
182
  new_audio_file_path = save_audio_data_to_file(audio_data, filename=filename)
183
 
184
- # Return the path to the saved audio file
185
  return new_audio_file_path
186
  except Exception as e:
187
  print(f"Error processing text to audio: {e}")
@@ -196,6 +197,7 @@ def save_audio_data_to_file(audio_data, directory="audio_files", filename="outpu
196
  with open(file_path, 'wb') as file:
197
  file.write(audio_data)
198
  return file_path
 
199
  # Ensure the function that reads the audio file checks if the path is a file
200
  def read_audio_file(file_path):
201
  """
 
156
 
157
  def process_text_to_audio(text, translatefrom="English", translateto="English", filename_prefix="audio"):
158
  """
159
+ Convert text input to audio.
 
160
  """
161
  try:
162
  # Generate audio from text
 
169
  if "error" in audio_response:
170
  raise ValueError(f"API Error: {audio_response['error']}")
171
 
 
172
  audio_url = audio_response[0]
173
+ if not audio_url.startswith('http'):
174
+ raise ValueError("Invalid URL returned from audio generation API")
175
+
176
  response = requests.get(audio_url)
177
+ if response.status_code != 200:
178
+ raise ValueError("Failed to download audio from URL")
179
+
180
+ audio_data = response.content
181
 
 
182
  text_hash = hashlib.md5(text.encode('utf-8')).hexdigest()
183
  filename = f"{filename_prefix}_{text_hash}.wav"
 
184
  new_audio_file_path = save_audio_data_to_file(audio_data, filename=filename)
185
 
 
186
  return new_audio_file_path
187
  except Exception as e:
188
  print(f"Error processing text to audio: {e}")
 
197
  with open(file_path, 'wb') as file:
198
  file.write(audio_data)
199
  return file_path
200
+
201
  # Ensure the function that reads the audio file checks if the path is a file
202
  def read_audio_file(file_path):
203
  """