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)