Spaces:
Paused
Paused
rick
commited on
update text-to-speech and progress status
Browse files- app.py +22 -1
- ui_lang_support.json +4 -1
app.py
CHANGED
|
@@ -359,6 +359,14 @@ def process_message(
|
|
| 359 |
st.error(f"Une erreur s'est produite lors de la génération de la réponse : {e}")
|
| 360 |
return ""
|
| 361 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 362 |
class GlobalSystemPrompts:
|
| 363 |
"""Class to store global system prompts."""
|
| 364 |
|
|
@@ -600,7 +608,20 @@ def main():
|
|
| 600 |
full_response = response_generator.close() # Obtenir la réponse complète à la fin
|
| 601 |
if st.session_state.full_response != "":
|
| 602 |
message_placeholder.markdown(st.session_state.full_response)
|
| 603 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 604 |
else:
|
| 605 |
response_status.update(label=f'({target_language_name}) - {get_translation("erreur_traduction")}', state="error", expanded=False)
|
| 606 |
|
|
|
|
| 359 |
st.error(f"Une erreur s'est produite lors de la génération de la réponse : {e}")
|
| 360 |
return ""
|
| 361 |
|
| 362 |
+
def process_tts_message(full_response: str) -> Tuple[Optional[bytes], Optional[float]]:
|
| 363 |
+
try:
|
| 364 |
+
tts_audio, tts_duration = text_to_speech(full_response)
|
| 365 |
+
return tts_audio, tts_duration
|
| 366 |
+
except Exception as e:
|
| 367 |
+
st.error(f"Une erreur s'est produite lors de la conversion texte-parole : {e}")
|
| 368 |
+
return None, None
|
| 369 |
+
|
| 370 |
class GlobalSystemPrompts:
|
| 371 |
"""Class to store global system prompts."""
|
| 372 |
|
|
|
|
| 608 |
full_response = response_generator.close() # Obtenir la réponse complète à la fin
|
| 609 |
if st.session_state.full_response != "":
|
| 610 |
message_placeholder.markdown(st.session_state.full_response)
|
| 611 |
+
|
| 612 |
+
if st.session_state.enable_tts_for_input_from_text_field:
|
| 613 |
+
response_status.update(label=f'({target_language_name}) - {get_translation("traduction_terminee")} ; {get_translation("synthese_vocale_en_cours")}', state="running", expanded=False)
|
| 614 |
+
tts_audio, tts_duration = process_tts_message(st.session_state.full_response)
|
| 615 |
+
if tts_audio:
|
| 616 |
+
st.audio(tts_audio, format="audio/mp3", autoplay=False)
|
| 617 |
+
audio_list.append((tts_audio, tts_duration))
|
| 618 |
+
response_status.update(label=f'({target_language_name}) - {get_translation("traduction_terminee")} ; {get_translation("synthese_vocale_terminee")}', state="complete", expanded=False)
|
| 619 |
+
else:
|
| 620 |
+
response_status.update(label=f'({target_language_name}) - {get_translation("erreur_synthese_vocale")}', state="error", expanded=False)
|
| 621 |
+
|
| 622 |
+
|
| 623 |
+
else:
|
| 624 |
+
response_status.update(label=f'({target_language_name}) - {get_translation("traduction_terminee")}', state="complete", expanded=False)
|
| 625 |
else:
|
| 626 |
response_status.update(label=f'({target_language_name}) - {get_translation("erreur_traduction")}', state="error", expanded=False)
|
| 627 |
|
ui_lang_support.json
CHANGED
|
@@ -38,7 +38,10 @@
|
|
| 38 |
"traitement_termine": "Traitement terminé !",
|
| 39 |
"traduction_en_cours": "Traduction en cours...",
|
| 40 |
"erreur_traduction": "Une erreur s'est produite lors de la traduction de votre message : {}",
|
| 41 |
-
"traduction_terminee": "Traduction terminée !"
|
|
|
|
|
|
|
|
|
|
| 42 |
},
|
| 43 |
"Afrikaans": {
|
| 44 |
"titre": "DEMORRHA APP - weergawe 1",
|
|
|
|
| 38 |
"traitement_termine": "Traitement terminé !",
|
| 39 |
"traduction_en_cours": "Traduction en cours...",
|
| 40 |
"erreur_traduction": "Une erreur s'est produite lors de la traduction de votre message : {}",
|
| 41 |
+
"traduction_terminee": "Traduction terminée !",
|
| 42 |
+
"synthese_vocale_en_cours": "Synthèse vocale en cours...",
|
| 43 |
+
"erreur_synthese_vocale": "Une erreur s'est produite lors de la synthèse vocale : {}",
|
| 44 |
+
"synthese_vocale_terminee": "Synthèse vocale terminée !"
|
| 45 |
},
|
| 46 |
"Afrikaans": {
|
| 47 |
"titre": "DEMORRHA APP - weergawe 1",
|