Spaces:
Running
Running
import whisper | |
import gradio as gr | |
import time | |
model = whisper.load_model("base") | |
#from transformers import pipeline | |
#es_en_translator = pipeline("translation_es_to_en") | |
def transcribe(audio): | |
#time.sleep(3) | |
# load audio and pad/trim it to fit 30 seconds | |
audio = whisper.load_audio(audio) | |
audio = whisper.pad_or_trim(audio) | |
# make log-Mel spectrogram and move to the same device as the model | |
mel = whisper.log_mel_spectrogram(audio).to(model.device) | |
# detect the spoken language | |
_, probs = model.detect_language(mel) | |
print(f"Detected language: {max(probs, key=probs.get)}") | |
#lang = LANGUAGES[language] | |
#lang=(f"Detected language: {lang}") | |
# decode the audio | |
options = whisper.DecodingOptions(fp16 = False)#,task= "translate") | |
result = whisper.decode(model, mel, options) | |
#word= result.text | |
#trans = es_en_translator(word) | |
#Trans = trans[0]['translation_text'] | |
#result=f"{lang}\n{word}\n\nEnglish translation: {Trans}" | |
return result.text | |
gr.Interface( | |
title='SPEECH TO TEXT', | |
fn=transcribe, | |
inputs=[ | |
gr.Audio(type="filepath") # Update here | |
], | |
outputs=["textbox"], | |
live=True | |
).launch() | |