Spaces:
Build error
Build error
| import torch # Para crear redes neuronales | |
| from transformers import pipeline # Para el procesamiento del lenguaje | |
| import numpy as np # Porque la transcripción de audio a texto se hace mediante arrays | |
| import gradio as gr # Para la interfaz | |
| # Si disponemos de una GPU con el parámetro device=0 le estamos diciendo que la use | |
| pipe = pipeline("automatic-speech-recognition", model="openai/whisper-medium", device=-1) | |
| def transcribe(audio): # Recibe un único parámetro de entrada (un audio) | |
| sr, y = audio | |
| # Pasamos el array de muestras a tipo NumPy de 32 bits porque el método pipeline espera que le pasemos un array | |
| y = y.astype(np.float32) | |
| 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 | |
| return pipe({"sampling_rate": sr, "raw": y})["text"] # El pipe procesa el audio y devuelve el texto transcrito | |
| demo = gr.Interface( | |
| transcribe, | |
| gr.Audio(sources=["microphone"]), | |
| "text", | |
| ) | |
| demo.launch() |