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",
|