SimpleFrog commited on
Commit
0b11ca2
·
verified ·
1 Parent(s): bf8b5aa

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -13
app.py CHANGED
@@ -1,20 +1,25 @@
1
  import streamlit as st
2
- import whisper
3
  import tempfile
4
  import os
 
 
5
 
6
- # Configurer l'interface Streamlit
7
- st.title("🔊 Transcription Audio avec Whisper Large Fine tuné V1")
8
- st.write("Upload un fichier audio et laisse Whisper Large faire le travail !")
9
 
10
- # Charger le modèle Whisper Large
11
- @st.cache_resource
12
  def load_model():
13
- return whisper.load_model("large")
 
 
 
 
14
 
15
- model = load_model()
16
 
17
- # Upload d'un fichier audio
18
  uploaded_file = st.file_uploader("Upload un fichier audio", type=["mp3", "wav", "m4a"])
19
 
20
  if uploaded_file is not None:
@@ -23,13 +28,25 @@ if uploaded_file is not None:
23
  temp_audio.write(uploaded_file.read())
24
  temp_audio_path = temp_audio.name
25
 
26
- # Transcrire l'audio
27
  st.write("📄 **Transcription en cours...**")
28
- result = model.transcribe(temp_audio_path, language="fr")
29
 
30
- # Afficher le texte transcrit
 
 
 
 
 
 
 
 
 
 
31
  st.subheader("📝 Transcription :")
32
- st.text_area("", result["text"], height=200)
33
 
34
  # Supprimer le fichier temporaire après l'affichage
35
  os.remove(temp_audio_path)
 
 
 
 
1
  import streamlit as st
2
+ import torch
3
  import tempfile
4
  import os
5
+ from transformers import WhisperProcessor, WhisperForConditionalGeneration
6
+ from datasets import load_dataset
7
 
8
+ # Configuration de l'interface Streamlit
9
+ st.title("🔊 Transcription Audio avec Whisper Fine-tuné")
10
+ st.write("Upload un fichier audio et laisse ton modèle fine-tuné faire le travail !")
11
 
12
+ # 🔹 Charger le modèle fine-tuné et le processeur
 
13
  def load_model():
14
+ model_name = "SimpleFrog/whisper_finetuned" # Remplace par ton nom de repo sur Hugging Face
15
+ processor = WhisperProcessor.from_pretrained(model_name)
16
+ model = WhisperForConditionalGeneration.from_pretrained(model_name)
17
+ model.eval() # Mode évaluation
18
+ return processor, model
19
 
20
+ processor, model = load_model()
21
 
22
+ # 🔹 Upload d'un fichier audio
23
  uploaded_file = st.file_uploader("Upload un fichier audio", type=["mp3", "wav", "m4a"])
24
 
25
  if uploaded_file is not None:
 
28
  temp_audio.write(uploaded_file.read())
29
  temp_audio_path = temp_audio.name
30
 
31
+ # Charger et traiter l'audio
32
  st.write("📄 **Transcription en cours...**")
 
33
 
34
+ audio_input = processor(temp_audio_path, return_tensors="pt", sampling_rate=16000)
35
+ input_features = audio_input.input_features
36
+
37
+ # Générer la transcription
38
+ with torch.no_grad():
39
+ predicted_ids = model.generate(input_features)
40
+
41
+ # Décoder la sortie
42
+ transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)[0]
43
+
44
+ # Afficher la transcription
45
  st.subheader("📝 Transcription :")
46
+ st.text_area("", transcription, height=200)
47
 
48
  # Supprimer le fichier temporaire après l'affichage
49
  os.remove(temp_audio_path)
50
+
51
+ st.write("🔹 Modèle fine-tuné utilisé :", "SimpleFrog/whisper_finetuned")
52
+