|
import whisper |
|
import gradio as gr |
|
|
|
model = whisper.load_model("small") |
|
|
|
def transcribe(audio): |
|
|
|
|
|
|
|
audio = whisper.load_audio(audio) |
|
audio = whisper.pad_or_trim(audio) |
|
|
|
|
|
mel = whisper.log_mel_spectrogram(audio).to(model.device) |
|
|
|
|
|
_, probs = model.detect_language(mel) |
|
print(f"Detected language: {max(probs, key=probs.get)}") |
|
|
|
|
|
options = whisper.DecodingOptions(fp16 = False) |
|
result = whisper.decode(model, mel, options) |
|
return result.text |
|
|
|
|
|
|
|
gr.Interface( |
|
title = 'OpenAI Whisper ASR Gradio Web UI', |
|
fn=transcribe, |
|
inputs=[ |
|
gr.inputs.Audio(source="microphone", type="filepath") |
|
], |
|
outputs=[ |
|
"textbox" |
|
], |
|
live=True).launch() |
|
|