rick commited on
Commit
e0b9720
·
unverified ·
1 Parent(s): a07aa5e

bug fixed now... not done...

Browse files
Files changed (1) hide show
  1. pages/main.py +13 -106
pages/main.py CHANGED
@@ -25,7 +25,7 @@ import warnings
25
  # Ignore DeprecationWarning
26
  warnings.filterwarnings("ignore", category=DeprecationWarning)
27
 
28
- __version__ = "1.2.4"
29
 
30
  # Au début du fichier, après les imports
31
  st.set_page_config(
@@ -598,23 +598,23 @@ def main_page():
598
  st.session_state.user_input = st.chat_input(
599
  get_translation("entrez_message")
600
  )
601
- st.session_state.audio = audiorecorder(
602
- start_prompt=get_translation("cliquez_enregistrer"),
603
- stop_prompt=get_translation("cliquez_arreter"),
604
- pause_prompt=get_translation("cliquez_pause"),
605
- show_visualizer=True,
606
- key="vocal_chat_input"
607
- )
608
  if type(st.session_state.user_input) != type(None):
609
  print("len of user_input: {0}".format(
610
  len(st.session_state.user_input)
611
  )
612
  )
613
- if type(st.session_state.audio) != type(None):
614
- print("len of audio: {0}".format(
615
- len(st.session_state.audio)
616
- )
617
- )
618
 
619
  if st.session_state.user_input:
620
 
@@ -728,100 +728,7 @@ def main_page():
728
  clear_inputs_garbages()
729
  # Interface utilisateur pour l'enregistrement audio
730
  # st.write(f"🗣️ {get_translation('enregistrez_message')}")
731
- elif st.session_state.audio:
732
- # Traitement de l'entrée audio de l'utilisateur
733
- if len(st.session_state.audio) > 0:
734
- with tempfile.TemporaryDirectory() as temp_dir:
735
- temp_audio_path = os.path.join(temp_dir, "temp_audio.wav")
736
- st.session_state.audio.export(temp_audio_path, format="wav")
737
- st.write(f"Frame rate: {st.session_state.audio.frame_rate}, Frame width: {st.session_state.audio.frame_width}, Duration: {st.session_state.audio.duration_seconds} seconds")
738
-
739
- # Transcrire l'audio en texte
740
- st.session_state.transcription = transcribe_audio(temp_audio_path, language=st.session_state.language_detected)
741
-
742
- #os.remove(temp_audio_path)
743
- # Detecter la langue du texte transcrit (si la langue source n'est pas détectée)
744
- if st.session_state.language_detected is None:
745
- st.session_state.language_detected = detect_language(
746
- input_text=st.session_state.transcription, temperature=0.01
747
- )
748
- st.markdown(
749
- f"- {get_translation('langue_detectee')}".format(
750
- f"{convert_iso6391_to_language_name(st.session_state.language_detected)}"
751
- )
752
- )
753
-
754
- st.markdown(
755
- f"🎤 {get_translation('transcription_audio')}".format(
756
- f"{st.session_state.transcription}"
757
- )
758
- )
759
-
760
-
761
- st.session_state.audio_list = []
762
- for cursor_selected_lang in st.session_state.selected_languages:
763
- st.session_state.target_language = cursor_selected_lang["iso-639-1"]
764
- st.session_state.full_response = ""
765
-
766
- # Initialisation du mode de traitement pour la langue cible actuelle
767
- st.session_state.system_prompt, st.session_state.operation_prompt = init_process_mode(from_lang=
768
- (
769
- st.session_state.language_detected if "language_detected" in st.session_state.language_detected else convert_language_name_to_iso6391(
770
- st.session_state.interface_language
771
- )
772
- ),
773
- to_lang=st.session_state.target_language
774
- )
775
-
776
- with st.chat_message("assistant", avatar="👻"):
777
- message_placeholder = st.empty()
778
- st.session_state.response_generator = process_message(
779
- st.session_state.transcription,
780
- st.session_state.operation_prompt,
781
- st.session_state.enable_tts_for_input_from_audio_record,
782
- st.session_state.system_prompt
783
- )
784
-
785
- for response_chunk in st.session_state.response_generator:
786
- message_placeholder.markdown(response_chunk)
787
- st.session_state.end_response = st.session_state.response_generator.close()
788
- if st.session_state.full_response != "":
789
- message_placeholder.markdown(st.session_state.full_response)
790
-
791
- if st.session_state.enable_tts_for_input_from_audio_record:
792
- st.session_state.tts_audio, st.session_state.tts_duration = process_tts_message(st.session_state.full_response)
793
-
794
- if st.session_state.tts_audio:
795
- st.session_state.audio_list.append(
796
- ( st.session_state.tts_audio,
797
- st.session_state.tts_duration )
798
- )
799
- else:
800
- pass
801
 
802
- if st.session_state.audio_list:
803
- st.session_state.final_audio = concatenate_audio_files(st.session_state.audio_list)
804
-
805
- with st.container(border=True):
806
-
807
- # Générer un nom de fichier unique
808
- st.session_state.timestamp = time.strftime("%Y%m%d-%H%M%S")
809
- st.session_state.langues = "_".join([lang["iso-639-1"] for lang in st.session_state.selected_languages])
810
- st.session_state.nom_fichier = f"reponse_audio_{st.session_state.langues}_{st.session_state.timestamp}.mp3"
811
-
812
- st.audio(st.session_state.final_audio, format="audio/mp3", autoplay=st.session_state.autoplay_tts)
813
-
814
- st.download_button(
815
- label=f"📥 {get_translation('telecharger_audio')}",
816
- data=st.session_state.final_audio,
817
- file_name=st.session_state.nom_fichier,
818
- mime="audio/mp3",
819
- use_container_width=True,
820
- type="primary",
821
- key=f"download_button_{st.session_state.langues}_{st.session_state.timestamp}",
822
- )
823
- #
824
- clear_inputs_garbages()
825
 
826
  def clear_inputs_garbages(sessions_state_list: Optional[list] =
827
  [ 'transcription', 'operation_prompt', 'system_prompt',
 
25
  # Ignore DeprecationWarning
26
  warnings.filterwarnings("ignore", category=DeprecationWarning)
27
 
28
+ from var_app import __version__
29
 
30
  # Au début du fichier, après les imports
31
  st.set_page_config(
 
598
  st.session_state.user_input = st.chat_input(
599
  get_translation("entrez_message")
600
  )
601
+ #st.session_state.audio = audiorecorder(
602
+ # start_prompt=get_translation("cliquez_enregistrer"),
603
+ # stop_prompt=get_translation("cliquez_arreter"),
604
+ # pause_prompt=get_translation("cliquez_pause"),
605
+ # show_visualizer=True,
606
+ # key="vocal_chat_input"
607
+ #)
608
  if type(st.session_state.user_input) != type(None):
609
  print("len of user_input: {0}".format(
610
  len(st.session_state.user_input)
611
  )
612
  )
613
+ #if type(st.session_state.audio) != type(None):
614
+ # print("len of audio: {0}".format(
615
+ # len(st.session_state.audio)
616
+ # )
617
+ # )
618
 
619
  if st.session_state.user_input:
620
 
 
728
  clear_inputs_garbages()
729
  # Interface utilisateur pour l'enregistrement audio
730
  # st.write(f"🗣️ {get_translation('enregistrez_message')}")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
731
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
732
 
733
  def clear_inputs_garbages(sessions_state_list: Optional[list] =
734
  [ 'transcription', 'operation_prompt', 'system_prompt',