David_A
commited on
Commit
·
880278b
1
Parent(s):
3920614
tempfile use
Browse files- components/fonctions_transcription.py +29 -10
- pages/Transcription.py +5 -3
- requirements.txt +2 -0
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(
|
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(
|
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
|