Kamaranis commited on
Commit
50b663f
verified
1 Parent(s): 76793b3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +38 -10
app.py CHANGED
@@ -1,14 +1,42 @@
1
- from transformers import pipeline
2
  import gradio as gr
 
 
 
 
 
 
 
 
 
 
 
3
 
4
- modelo = pipeline("automatic-speech-recognition", model="facebook/wav2vec2-large-xlsr-53-spanish")
 
 
 
 
 
 
 
 
 
 
 
 
 
5
 
6
- def transcribe(audio):
7
- text = modelo(audio)["text"]
8
- return text
 
 
 
 
 
 
 
 
 
9
 
10
- gr.Interface(
11
- fn=transcribe,
12
- inputs=[gr.Audio(source="microphone", type="filepath")],
13
- outputs=["textbox"]
14
- ).launch()
 
 
1
  import gradio as gr
2
+ from transformers import pipeline
3
+ import numpy as np
4
+
5
+ # 1. Cargamos el pipeline del modelo ASR (Automatic Speech Recognition)
6
+ # Este modelo es grande y puede tardar en cargar la primera vez.
7
+ print("Cargando el modelo de transcripci贸n...")
8
+ modelo_transcriptor = pipeline(
9
+ "automatic-speech-recognition",
10
+ model="facebook/wav2vec2-large-xlsr-53-spanish"
11
+ )
12
+ print("Modelo cargado.")
13
 
14
+ # 2. Definimos la funci贸n que procesar谩 el audio
15
+ def transcribir_audio(audio):
16
+ """
17
+ Recibe los datos del audio desde Gradio y devuelve el texto transcrito.
18
+ """
19
+ if audio is None:
20
+ return "Por favor, graba algo de audio primero."
21
+
22
+ # Gradio con type="numpy" devuelve una tupla: (frecuencia_muestreo, datos_numpy)
23
+ # El pipeline es lo suficientemente inteligente para manejar esta tupla directamente.
24
+ print("Recibido audio, iniciando transcripci贸n...")
25
+ texto = modelo_transcriptor(audio)["text"]
26
+ print(f"Texto transcrito: {texto}")
27
+ return texto
28
 
29
+ # 3. Crear y lanzar la interfaz de Gradio
30
+ demo = gr.Interface(
31
+ fn=transcribir_audio,
32
+ inputs=gr.Audio(
33
+ sources=["microphone"],
34
+ type="numpy", # Clave: Pedimos los datos crudos, no la ruta.
35
+ label="Graba tu voz en espa帽ol"
36
+ ),
37
+ outputs=gr.Textbox(label="Transcripci贸n"),
38
+ title="Transcripci贸n de Audio a Texto en Espa帽ol",
39
+ description="Habla en el micr贸fono y el modelo Wav2Vec2 transcribir谩 tu voz a texto. Dale permiso al navegador para usar el micr贸fono."
40
+ )
41
 
42
+ demo.launch()