WhisperX-v2 / app.py
ras0k's picture
This should work without any issues.
2a391e4
raw
history blame contribute delete
793 Bytes
import gradio as gr
import whisperx
import whisper
def transcribe(audio_file):
device = "cuda" if torch.cuda.is_available() else "cpu"
# Transcribe with original Whisper
model = whisper.load_model("large", device)
result = model.transcribe(audio_file)
# Load alignment model and metadata
model_a, metadata = whisperx.load_align_model(language_code=result["language"], device=device)
# Align Whisper output
result_aligned = whisperx.align(result["segments"], model_a, metadata, audio_file, device)
return {"aligned": result_aligned["segments"], "word_segments": result_aligned["word_segments"]}
inputs = gr.inputs.Audio(source="upload", type="filepath")
outputs = gr.outputs.JSON()
gr.Interface(fn=transcribe, inputs=inputs, outputs=outputs).launch()