Audio-Pen-Clone / app.py
IProject-10's picture
Update app.py
b4f6ea7 verified
raw
history blame
1.39 kB
import gradio as gr
import whisper
from transformers import pipeline
# Load models
print("Loading models...")
whisper_model = whisper.load_model("base")
summarizer = pipeline("summarization", model="facebook/bart-large-cnn")
def transcribe(audio_path):
if audio_path is None:
return "Please record some audio."
result = whisper_model.transcribe(audio_path)
return result["text"]
def summarize(text):
if not text.strip():
return "No transcription available to summarize."
summary = summarizer(text, max_length=150, min_length=40, do_sample=False)
return summary[0]['summary_text']
with gr.Blocks() as app:
gr.Markdown("## πŸŽ™οΈ Real-Time Transcription & Summarization Tool\nSpeak into your mic and generate a summary.")
with gr.Row():
audio_input = gr.Audio(type="filepath", label="🎧 Record or Upload Audio")
transcription_output = gr.Textbox(label="πŸ“ Transcription", lines=6, interactive=False)
transcribe_button = gr.Button("Transcribe")
transcribe_button.click(fn=transcribe, inputs=audio_input, outputs=transcription_output)
with gr.Row():
summarize_button = gr.Button("Generate Summary")
summary_output = gr.Textbox(label="πŸ“„ Summary", lines=6, interactive=False)
summarize_button.click(fn=summarize, inputs=transcription_output, outputs=summary_output)
app.launch()