Javitron4257 commited on
Commit
083bd61
verified
1 Parent(s): cb85237

This is the main file of the program

Browse files
Files changed (1) hide show
  1. app.py +26 -0
app.py ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch # Para crear redes neuronales
2
+ from transformers import pipeline # Para el procesamiento del lenguaje
3
+ import numpy as np # Porque la transcripci贸n de audio a texto se hace mediante arrays
4
+ import gradio as gr # Para la interfaz
5
+
6
+
7
+ # Si disponemos de una GPU con el par谩metro device=0 le estamos diciendo que la use
8
+ pipe = pipeline(
9
+ "automatic-speech-recognition", model="openai/whisper-medium", device=0
10
+ )
11
+
12
+ def transcribe(audio): # Recibe un 煤nico par谩metro de entrada (un audio)
13
+ sr, y = audio
14
+ # Pasamos el array de muestras a tipo NumPy de 32 bits porque el m茅todo pipeline espera que le pasemos un array
15
+ y = y.astype(np.float32)
16
+ y /= np.max(np.abs(y)) # Normalizamos el audio para evitar problemas de distorsi贸n o saturaci贸n. Para ello encontramos el valor m谩ximo del array "y" y dividimos todos los valores de "y" por ese valor para que est茅n en un rago entre -1 y 1
17
+
18
+ return pipe({"sampling_rate": sr, "raw": y})["text"] # El pipe procesa el audio y devuelve el texto transcrito
19
+
20
+ demo = gr.Interface(
21
+ transcribe,
22
+ gr.Audio(sources=["microphone"]),
23
+ "text",
24
+ )
25
+
26
+ demo.launch()