File size: 1,452 Bytes
b691b31
 
89d2839
b691b31
89d2839
b691b31
 
89d2839
 
b691b31
 
 
 
 
 
89d2839
b691b31
89d2839
 
5faa5d1
d67a990
3febd1a
d67a990
b691b31
d67a990
 
b691b31
34d644e
 
9876963
 
 
b691b31
 
34d644e
b691b31
 
 
 
 
 
89d2839
d67a990
b691b31
 
5749237
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# # from speechbrain.inference.ASR import EncoderASR
# # import gradio as gr

# # model = EncoderASR.from_hparams("speechbrain/asr-wav2vec2-dvoice-wolof")

# # def transcribe(audio):
# #   return model.transcribe_file(audio.name)


# # demo = gr.Interface(fn=transcribe, inputs="file", outputs="text", 
# #                    title="Transcription automatique du wolof", 
# #              description="Ce modèle transcrit un fichier audio en wolof en texte en utilisant l'alphabet latin.",              
# #              input_label="Audio en wolof", 
# #              output_label="Transcription alphabet latin"
# #                    )

# # demo.launch()


from speechbrain.inference.ASR import EncoderASR
import gradio as gr
import numpy as np

# Charger le modèle pré-entraîné
model = EncoderASR.from_hparams("speechbrain/asr-wav2vec2-dvoice-wolof")

# Définir la fonction de transcription
def transcribe(audio):
    sr, y = audio
    y = y.astype(np.float32)
    y /= np.max(np.abs(y))

    # Utiliser le modèle pour transcrire l'audio
    return model.transcribe({"sampling_rate": sr, "raw": y})["text"]

# Créer l'interface Gradio avec le microphone et le téléchargement de fichier comme options d'entrée
asrdemo = gr.Interface(
    title="Transcription audio en wolof latin by Papa Sega",
    fn=transcribe,
    inputs=gr.Audio(sources=["microphone", "upload"]),
    outputs="text",
)

# Lancer l'application Gradio
asrdemo.launch()