Walid-Ahmed's picture
Update app.py
9509bf9 verified
import whisper
import gradio as gr
from transformers import pipeline
# Force the model to run on CPU
device = "cpu"
print("Running on CPU")
# Load the tiny Whisper model
whisper_model = whisper.load_model("tiny")
# Load the text summarization model from Hugging Face
#summarizer = pipeline(task="summarization", model="facebook/bart-large-cnn")
#summarizer = pipeline("summarization", model="allenai/led-base-16384")
summarizer = pipeline(task="summarization", model="facebook/bart-large-cnn")
# Function to transcribe and summarize the audio file
def transcribe_and_summarize(audio):
# Step 1: Transcribe the audio using Whisper
transcription_result = whisper_model.transcribe(audio)
transcription = transcription_result['text']
# Step 2: Summarize the transcription
summary = summarizer(transcription, min_length=50, max_length=200)
summary_text = summary[0]['summary_text']
return transcription, summary_text
# Create the Gradio interface
demo = gr.Interface(
fn=transcribe_and_summarize, # The function to be called for transcription
inputs=gr.Audio(type="filepath", label="Upload your audio file"), # Input audio field
outputs=[gr.Textbox(label="Transcription"), gr.Textbox(label="Summary")], # Output fields
title="Whisper Tiny Transcription and Summarization",
examples=["Classification_and_Regression_in_Machine_Learning.mp3"],
description="Upload an audio file, get the transcription from Whisper tiny model and the summarized version using Hugging Face."
)
# Launch the Gradio interface
demo.launch(debug=True)