0x07CB commited on
Commit
0515135
·
unverified ·
1 Parent(s): 38d7f4f

Désactivation temporaire de la détection automatique de langue et utilisation de la langue de l'interface

Browse files
Files changed (1) hide show
  1. pages/main.py +39 -41
pages/main.py CHANGED
@@ -191,7 +191,6 @@ def tts_settings(name__tts_voice,
191
  st.session_state.enable_tts_for_input_from_audio_record = set__tts_with_audio
192
  st.session_state.enable_tts_for_input_from_text_field = set__tts_with_text
193
  st.session_state.tts_voice = set__tts_voice
194
- #st.session_state.
195
  st.rerun()
196
 
197
  @st.fragment
@@ -213,37 +212,37 @@ def recorder_released():
213
  # Isoler l'audio ici
214
  audio = isolate_audio(audio)
215
 
216
- if not st.session_state.language_detected:
217
- # 1. Verifie si audio.duration_seconds est superieur a 600 secondes (10 minutes)
218
- if audio.duration_seconds > 600:
219
- # PyDub handles time in milliseconds
220
- ten_minutes = 10 * 60 * 1000
221
- first_ten_minutes_audio = audio[:ten_minutes]
222
- else:
223
- # less than ten minutes ... nervermind, the name of this variable is
224
- first_ten_minutes_audio = deepcopy(audio)
225
-
226
- with tempfile.NamedTemporaryFile(suffix=".mp3", delete=False) as tmp_extract:
227
- first_ten_minutes_audio.export(tmp_extract, format="mp3")
228
- tmp_extract.close()
229
-
230
- # il faut transcrire sans specifier l'argument language dans la fonction transcribe_audio
231
- # ensuite on pourra utiliser la fonction detect_language pour detecter la langue du texte transcrit
232
-
233
- # Transcrire les 10 premiers minutes audio en texte
234
- st.session_state.language_detected = detect_language(
235
- input_text = transcribe_audio(tmp_extract),
236
- temperature = 0.2,
237
- context_window = 512,
238
- model = "gpt-4o-mini"
239
- )
240
- first_ten_minutes_audio = AudioSegment.empty()
241
-
242
- st.markdown(
243
- f"- {get_translation('langue_detectee')} {convert_iso6391_to_language_name(st.session_state.language_detected)}"
244
- )
245
-
246
-
247
  # ##############################################################
248
 
249
  try:
@@ -254,7 +253,7 @@ def recorder_released():
254
  # Transcrire l'audio en texte
255
  st.session_state.transcription = transcribe_audio(
256
  tmp_file,
257
- language=st.session_state.language_detected
258
  )
259
  audio = AudioSegment.empty()
260
 
@@ -273,10 +272,9 @@ def recorder_released():
273
  st.session_state.system_prompt, st.session_state.operation_prompt = init_langs_for_processing(
274
  target_language = st.session_state.target_language,
275
  interface_language = st.session_state.interface_language,
276
- language_detected = st.session_state.language_detected
277
  )
278
 
279
-
280
  with st.chat_message("assistant", avatar="👻"):
281
  message_placeholder = st.empty()
282
  st.session_state.response_generator = process_message(
@@ -288,9 +286,9 @@ def recorder_released():
288
  for response_chunk in st.session_state.response_generator:
289
  message_placeholder.markdown(response_chunk)
290
  st.session_state.end_response = st.session_state.response_generator.close()
 
291
  if st.session_state.full_response != "":
292
  message_placeholder.markdown(st.session_state.full_response)
293
-
294
  if st.session_state.enable_tts_for_input_from_audio_record:
295
  st.session_state.tts_audio, st.session_state.tts_duration = process_tts_message(st.session_state.full_response)
296
 
@@ -503,17 +501,17 @@ def main_page():
503
  st.session_state.full_response = ""
504
  st.session_state.audio_list = []
505
 
506
- result_detection_lang_1 = detection_langue_du_message_utilisateur(
507
- st.session_state.user_input
508
- )
509
- user_text_lang = result_detection_lang_1["language"] if (result_detection_lang_1["language"] != "default") else "Unknown"
510
 
511
 
512
  with st.chat_message("user", avatar="👤"):
513
  timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
514
  st.write(f"{timestamp}")
515
  with st.container(border=True):
516
- st.subheader(f"🌐 lang: {user_text_lang}")
517
  st.markdown(st.session_state.user_input)
518
 
519
 
 
191
  st.session_state.enable_tts_for_input_from_audio_record = set__tts_with_audio
192
  st.session_state.enable_tts_for_input_from_text_field = set__tts_with_text
193
  st.session_state.tts_voice = set__tts_voice
 
194
  st.rerun()
195
 
196
  @st.fragment
 
212
  # Isoler l'audio ici
213
  audio = isolate_audio(audio)
214
 
215
+ # if not st.session_state.language_detected:
216
+ # # 1. Verifie si audio.duration_seconds est superieur a 600 secondes (10 minutes)
217
+ # if audio.duration_seconds > 600:
218
+ # # PyDub handles time in milliseconds
219
+ # ten_minutes = 10 * 60 * 1000
220
+ # first_ten_minutes_audio = audio[:ten_minutes]
221
+ # else:
222
+ # # less than ten minutes ... nervermind, the name of this variable is
223
+ # first_ten_minutes_audio = deepcopy(audio)
224
+ #
225
+ # with tempfile.NamedTemporaryFile(suffix=".mp3", delete=False) as tmp_extract:
226
+ # first_ten_minutes_audio.export(tmp_extract, format="mp3")
227
+ # tmp_extract.close()
228
+ #
229
+ # # il faut transcrire sans specifier l'argument language dans la fonction transcribe_audio
230
+ # # ensuite on pourra utiliser la fonction detect_language pour detecter la langue du texte transcrit
231
+ #
232
+ # # Transcrire les 10 premiers minutes audio en texte
233
+ # st.session_state.language_detected = detect_language(
234
+ # input_text = transcribe_audio(tmp_extract),
235
+ # temperature = 0.2,
236
+ # context_window = 512,
237
+ # model = "gpt-4o-mini"
238
+ # )
239
+ # first_ten_minutes_audio = AudioSegment.empty()
240
+ #
241
+ # st.markdown(
242
+ # f"- {get_translation('langue_detectee')} {convert_iso6391_to_language_name(st.session_state.language_detected)}"
243
+ # )
244
+ #
245
+ #
246
  # ##############################################################
247
 
248
  try:
 
253
  # Transcrire l'audio en texte
254
  st.session_state.transcription = transcribe_audio(
255
  tmp_file,
256
+ language=st.session_state.interface_language
257
  )
258
  audio = AudioSegment.empty()
259
 
 
272
  st.session_state.system_prompt, st.session_state.operation_prompt = init_langs_for_processing(
273
  target_language = st.session_state.target_language,
274
  interface_language = st.session_state.interface_language,
275
+ language_detected = st.session_state.interface_language
276
  )
277
 
 
278
  with st.chat_message("assistant", avatar="👻"):
279
  message_placeholder = st.empty()
280
  st.session_state.response_generator = process_message(
 
286
  for response_chunk in st.session_state.response_generator:
287
  message_placeholder.markdown(response_chunk)
288
  st.session_state.end_response = st.session_state.response_generator.close()
289
+
290
  if st.session_state.full_response != "":
291
  message_placeholder.markdown(st.session_state.full_response)
 
292
  if st.session_state.enable_tts_for_input_from_audio_record:
293
  st.session_state.tts_audio, st.session_state.tts_duration = process_tts_message(st.session_state.full_response)
294
 
 
501
  st.session_state.full_response = ""
502
  st.session_state.audio_list = []
503
 
504
+ #result_detection_lang_1 = detection_langue_du_message_utilisateur(
505
+ # st.session_state.user_input
506
+ #)
507
+ #user_text_lang = result_detection_lang_1["language"] if (result_detection_lang_1["language"] != "default") else "Unknown"
508
 
509
 
510
  with st.chat_message("user", avatar="👤"):
511
  timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
512
  st.write(f"{timestamp}")
513
  with st.container(border=True):
514
+ st.subheader(f"🌐 lang: {st.session_state.interface_language}")
515
  st.markdown(st.session_state.user_input)
516
 
517