import gradio as gr import spaces import torch import io import os.path import urllib.request import whisper os.makedirs("/home/user/.cache/whisper") urllib.request.urlretrieve( "https://openaipublic.azureedge.net/main/whisper/models/d7440d1dc186f76616474e0ff0b3b6b879abc9d1a4926b7adfa41db2d497ab4f/medium.en.pt", "/home/user/.cache/whisper/medium.en.pt" ) writer = whisper.utils.get_writer("srt", "/dev/null") @spaces.GPU def generate(file, progress=gr.Progress(track_tqdm=True)): # get file to type bytes somehow model = whisper.load_model("medium.en", device="cuda") audio = whisper.load_audio(file) result = model.transcribe(audio, verbose=False) out = io.StringIO() writer.write_result(result, out) return out.getvalue() gr.Interface(fn=generate, inputs=gr.File(type="filepath"), outputs=gr.Text()).launch()