Spaces:
Running
Running
File size: 1,114 Bytes
ee1c1bd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
import gradio as gr
import replicate
import os
REPLICATE_API_TOKEN = os.getenv("REPLICATE_API_TOKEN")
def process_audio(audio):
if audio is None:
return "No audio file uploaded."
output = replicate.run(
"victor-upmeet/whisperx:84d2ad2d6194fe98a17d2b60bef1c7f910c46b2f6fd38996ca457afd9c8abfcb",
input={"audio_file": open(audio, "rb")},
api_token=REPLICATE_API_TOKEN
)
segments = output.get("segments") if isinstance(output, dict) else output
script = " ".join(seg["text"] for seg in segments) if segments else output.get("text", "No transcription found.")
return script
with gr.Blocks(theme="monochrome") as demo:
gr.Markdown("# AIML430 Lecture Transcription Tool")
gr.Markdown("Upload an audio file to begin.")
audio_input = gr.Audio(type="filepath", sources=["upload"], label="Audio File")
raw_text_output = gr.Textbox(
label="Raw Text Output",
show_copy_button=True,
lines=10
)
audio_input.change(
fn=process_audio,
inputs=audio_input,
outputs=raw_text_output
)
demo.launch() |