SummarAI-Z / app.py
s03f3ff's picture
Update app.py
90c8dbd verified
import os
import gradio as gr
from transformers import pipeline
demo = gr.Blocks()
asr = pipeline("automatic-speech-recognition", model="jonatasgrosman/wav2vec2-large-xlsr-53-english")
asr2 = pipeline("summarization", model="facebook/bart-large-cnn")
def transcribe_and_summarize(filepath):
if filepath is None:
gr.Warning("No audio found, please retry.")
return ""
transcription = asr(filepath)
transcribed_text = transcription.get("text", "")
summarized_output = asr2(transcribed_text, max_length=20, do_sample=False)
summary = summarized_output[0].get("summary_text", "")
return transcribed_text, summary
# Gradio Interfaces
mic_transcribe = gr.Interface(
fn=transcribe_and_summarize,
inputs=gr.Audio(sources="microphone", type="filepath"),
outputs=[
gr.Textbox(label="Transcript", lines=3),
gr.Textbox(label="Summary", lines=3)
],
allow_flagging="never"
)
file_transcribe = gr.Interface(
fn=transcribe_and_summarize,
inputs=gr.Audio(sources="upload", type="filepath"),
outputs=[
gr.Textbox(label="Transcript", lines=3),
gr.Textbox(label="Summary", lines=3)
],
allow_flagging="never"
)
with demo:
gr.TabbedInterface(
[mic_transcribe,
file_transcribe],
["Transcribe Microphone",
"Transcribe Audio File"],
)
demo.launch()