Spaces:
Paused
Paused
rick
commited on
bug fixed now... not done...
Browse files- 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 |
-
|
| 295 |
-
|
| 296 |
-
response.stream_to_file(
|
| 297 |
|
| 298 |
-
#
|
| 299 |
-
with open(
|
| 300 |
audio_bytes = audio_file.read()
|
| 301 |
|
| 302 |
-
#
|
| 303 |
-
audio_duration = get_duration_pydub(
|
| 304 |
|
| 305 |
return audio_bytes, audio_duration
|
|
|
|
| 306 |
except Exception as e:
|
| 307 |
-
|
| 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.
|