David_A commited on
Commit
880278b
·
1 Parent(s): 3920614

tempfile use

Browse files
components/fonctions_transcription.py CHANGED
@@ -8,6 +8,8 @@ from datetime import timedelta as td
8
  import math
9
  import pandas as pd
10
  import plotly.express as px
 
 
11
 
12
  # # Chargement du fichier des utilisateurs
13
  # with open("users_info.json", 'r') as file:
@@ -152,6 +154,20 @@ def transcript(dict_user,username,user_group, audio_file,maintenant,Year_Month,q
152
  # Calcul consommation utilisateur
153
  figure , consommation = graphique_utilisation(dict_user, username, Year_Month)
154
  if audio_file is not None:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
155
  st.sidebar.header("Ecouter le fichier audio")
156
  st.sidebar.audio(audio_file)
157
 
@@ -175,12 +191,15 @@ def transcript(dict_user,username,user_group, audio_file,maintenant,Year_Month,q
175
  else :
176
  ### Durée de l'audio ###
177
  # Charger le fichier audio et obtenir les informations
178
- print(audio_file.name)
179
- infos_audio = sf.info(audio_file.name)
 
180
  # Extraire la durée en secondes
181
- duree_audio_sec = infos_audio.duration
 
 
182
  # Afficher la durée
183
- print(f'Durée audio : {duree_audio_sec} secondes')
184
 
185
  # Mise à jour info utilisateurs
186
  dict_user[username]["durees_audio_sec"].append(duree_audio_sec)
@@ -189,7 +208,7 @@ def transcript(dict_user,username,user_group, audio_file,maintenant,Year_Month,q
189
  json.dump(dict_user, f)
190
  st.sidebar.success("Audio en cours de transcription")
191
  audio_name = audio_file.name
192
- transcription = model.transcribe(audio_name)
193
  st.sidebar.success("Transcription terminée")
194
  st.balloons()
195
  text_transcript = transcription["text"]
@@ -234,12 +253,12 @@ def transcript(dict_user,username,user_group, audio_file,maintenant,Year_Month,q
234
  ### Durée de l'audio ###
235
  # Charger le fichier audio et obtenir les informations
236
  #print(audio_file.name)
237
- print(sf.__version__)
238
- infos_audio = sf.info(audio_file.name)
239
  # Extraire la durée en secondes
240
- duree_audio_sec = infos_audio.duration
241
  # Afficher la durée
242
- print(f'Durée audio : {duree_audio_sec} secondes')
243
 
244
  # Mise à jour info utilisateurs
245
  dict_user[username]["durees_audio_sec"].append(duree_audio_sec)
@@ -248,7 +267,7 @@ def transcript(dict_user,username,user_group, audio_file,maintenant,Year_Month,q
248
  json.dump(dict_user, f)
249
  st.sidebar.success("Audio en cours de transcription")
250
  audio_name = audio_file.name
251
- transcription = model.transcribe(audio_name)
252
  st.sidebar.success("Transcription terminée")
253
  st.balloons()
254
  text_transcript = transcription["text"]
 
8
  import math
9
  import pandas as pd
10
  import plotly.express as px
11
+ from pydub import AudioSegment
12
+ import tempfile
13
 
14
  # # Chargement du fichier des utilisateurs
15
  # with open("users_info.json", 'r') as file:
 
154
  # Calcul consommation utilisateur
155
  figure , consommation = graphique_utilisation(dict_user, username, Year_Month)
156
  if audio_file is not None:
157
+ # Créer un fichier temporaire
158
+ with tempfile.NamedTemporaryFile(delete=False) as temp_file:
159
+ temp_filename = temp_file.name
160
+
161
+ # Écrire les données du fichier téléchargé dans le fichier temporaire
162
+ temp_file.write(audio_file.read())
163
+
164
+ # Afficher le chemin du fichier temporaire
165
+ #st.success(f'Fichier enregistré : {temp_filename}')
166
+ infos_audio = sf.info(temp_filename)
167
+ # Extraire la durée en secondes
168
+ duree_audio_sec = infos_audio.duration
169
+ print(duree_audio_sec)
170
+
171
  st.sidebar.header("Ecouter le fichier audio")
172
  st.sidebar.audio(audio_file)
173
 
 
191
  else :
192
  ### Durée de l'audio ###
193
  # Charger le fichier audio et obtenir les informations
194
+ #print(audio_file.name)
195
+ #infos_audio = sf.info(audio_file.name)
196
+
197
  # Extraire la durée en secondes
198
+ #duree_audio_sec = infos_audio.duration
199
+
200
+ #duree_audio_sec = infos_audio.duration
201
  # Afficher la durée
202
+ #print(f'Durée audio : {duree_audio_sec} secondes')
203
 
204
  # Mise à jour info utilisateurs
205
  dict_user[username]["durees_audio_sec"].append(duree_audio_sec)
 
208
  json.dump(dict_user, f)
209
  st.sidebar.success("Audio en cours de transcription")
210
  audio_name = audio_file.name
211
+ transcription = model.transcribe(temp_filename)
212
  st.sidebar.success("Transcription terminée")
213
  st.balloons()
214
  text_transcript = transcription["text"]
 
253
  ### Durée de l'audio ###
254
  # Charger le fichier audio et obtenir les informations
255
  #print(audio_file.name)
256
+ #print(sf.__version__)
257
+ #infos_audio = sf.info(audio_file.name)
258
  # Extraire la durée en secondes
259
+ #duree_audio_sec = infos_audio.duration
260
  # Afficher la durée
261
+ #print(f'Durée audio : {duree_audio_sec} secondes')
262
 
263
  # Mise à jour info utilisateurs
264
  dict_user[username]["durees_audio_sec"].append(duree_audio_sec)
 
267
  json.dump(dict_user, f)
268
  st.sidebar.success("Audio en cours de transcription")
269
  audio_name = audio_file.name
270
+ transcription = model.transcribe(temp_filename)
271
  st.sidebar.success("Transcription terminée")
272
  st.balloons()
273
  text_transcript = transcription["text"]
pages/Transcription.py CHANGED
@@ -68,12 +68,14 @@ if st.session_state["authenticated"]:
68
  #print("User Pool ID:", user_pool_id)
69
  #authenticate.add_user_to_group(user_pool_id, username, group_name)
70
  #Charger l'audio avec streamlit
71
-
72
- audio_file = st.file_uploader("Charger l'audio", type=["wav", "mp3", "m4a"])
73
- #audio_name = audio_file.name
74
  # Chargement du modèle
75
  model = whisper.load_model("medium")
76
  st.text("Chargement du modèle terminé")
 
 
 
 
77
 
78
 
79
  #Definition quota utilisation
 
68
  #print("User Pool ID:", user_pool_id)
69
  #authenticate.add_user_to_group(user_pool_id, username, group_name)
70
  #Charger l'audio avec streamlit
71
+
 
 
72
  # Chargement du modèle
73
  model = whisper.load_model("medium")
74
  st.text("Chargement du modèle terminé")
75
+
76
+ audio_file = st.file_uploader("Charger l'audio", type=["wav", "mp3", "m4a"])
77
+ #audio_name = audio_file.name
78
+
79
 
80
 
81
  #Definition quota utilisation
requirements.txt CHANGED
@@ -8,3 +8,5 @@ plotly.express
8
  nbformat>=4.2.0
9
  boto3
10
  soundfile == 0.12.1
 
 
 
8
  nbformat>=4.2.0
9
  boto3
10
  soundfile == 0.12.1
11
+ pydub
12
+ tempfile