rick commited on
Commit
01f16b6
·
unverified ·
1 Parent(s): 32a007c

bug fixed now... not done...

Browse files
Files changed (1) hide show
  1. pages/main.py +26 -27
pages/main.py CHANGED
@@ -254,25 +254,6 @@ def detect_language(input_text: str, temperature: float = 0.01) -> str:
254
  except Exception as e:
255
  raise ValueError(f"Erreur inattendue lors de la détection de la langue : {str(e)}")
256
 
257
- def get_duration_pydub(audio_file: str) -> float:
258
- """
259
- Obtient la durée d'un fichier audio en utilisant pydub.
260
-
261
- Args:
262
- audio_file (str): Chemin vers le fichier audio.
263
-
264
- Returns:
265
- float: Durée du fichier audio en secondes.
266
- """
267
- try:
268
- audio = AudioSegment.from_file(audio_file)
269
- return audio.duration_seconds
270
- except FileNotFoundError:
271
- print(f"Erreur : Le fichier audio '{audio_file}' n'a pas été trouvé.")
272
- return 0.0
273
- except Exception as e:
274
- print(f"Erreur lors de la lecture du fichier audio : {str(e)}")
275
- return 0.0
276
 
277
  def text_to_speech(text: str) -> Tuple[Optional[bytes], float]:
278
  """
@@ -291,22 +272,40 @@ def text_to_speech(text: str) -> Tuple[Optional[bytes], float]:
291
  input=text
292
  )
293
 
294
- # Sauvegarde l'audio dans un fichier temporaire
295
- with tempfile.NamedTemporaryFile(delete=False, suffix=".mp3") as temp_audio:
296
- response.stream_to_file(temp_audio.name)
297
 
298
- # Lit le contenu du fichier audio
299
- with open(temp_audio.name, "rb") as audio_file:
300
  audio_bytes = audio_file.read()
301
 
302
- # Obtient la durée de l'audio en secondes
303
- audio_duration = get_duration_pydub(temp_audio.name)
304
 
305
  return audio_bytes, audio_duration
 
306
  except Exception as e:
307
- print(f"Erreur lors de la conversion texte-parole : {str(e)}")
308
  return None, 0.0
309
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
310
  def concatenate_audio_files(audio_list: List[Tuple[bytes, float]]) -> Optional[bytes]:
311
  """
312
  Concatène plusieurs fichiers audio avec des effets sonores.
 
254
  except Exception as e:
255
  raise ValueError(f"Erreur inattendue lors de la détection de la langue : {str(e)}")
256
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
257
 
258
  def text_to_speech(text: str) -> Tuple[Optional[bytes], float]:
259
  """
 
272
  input=text
273
  )
274
 
275
+ with tempfile.TemporaryDirectory() as temp_dir:
276
+ temp_audio_path = os.path.join(temp_dir, "temp_audio.mp3")
277
+ response.stream_to_file(temp_audio_path)
278
 
279
+ # Lecture du contenu du fichier audio
280
+ with open(temp_audio_path, "rb") as audio_file:
281
  audio_bytes = audio_file.read()
282
 
283
+ # Obtention de la durée de l'audio
284
+ audio_duration = get_duration_pydub(temp_audio_path)
285
 
286
  return audio_bytes, audio_duration
287
+
288
  except Exception as e:
289
+ st.error(f"Erreur lors de la conversion texte-parole : {str(e)}")
290
  return None, 0.0
291
 
292
+ def get_duration_pydub(audio_file: str) -> float:
293
+ """
294
+ Obtient la durée d'un fichier audio en utilisant pydub.
295
+
296
+ Args:
297
+ audio_file (str): Chemin vers le fichier audio.
298
+
299
+ Returns:
300
+ float: Durée du fichier audio en secondes.
301
+ """
302
+ try:
303
+ audio = AudioSegment.from_file(audio_file)
304
+ return audio.duration_seconds
305
+ except Exception as e:
306
+ st.error(f"Erreur lors de la lecture du fichier audio : {str(e)}")
307
+ return 0.0
308
+
309
  def concatenate_audio_files(audio_list: List[Tuple[bytes, float]]) -> Optional[bytes]:
310
  """
311
  Concatène plusieurs fichiers audio avec des effets sonores.