rick commited on
Commit
55fc7d8
·
unverified ·
1 Parent(s): 2dbc7e5

update text-to-speech and progress status

Browse files
Files changed (2) hide show
  1. app.py +22 -1
  2. 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
- response_status.update(label=f'({target_language_name}) - {get_translation("traduction_terminee")}', state="complete", expanded=False)
 
 
 
 
 
 
 
 
 
 
 
 
 
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",