File size: 793 Bytes
c464395
e9e7628
 
c464395
e9e7628
9d171cc
c464395
e9e7628
 
 
 
 
 
 
 
 
 
9d171cc
e9e7628
9d171cc
2a391e4
e9e7628
9d171cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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()