YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

πŸŽ™οΈ Podcast AI β€” Intelligent Podcast Summarizer

An AI-powered podcast summarization application that converts long podcast transcripts into concise and meaningful summaries using a fine-tuned BART (Bidirectional and Auto-Regressive Transformers) model.

The application is built using Streamlit and provides text summaries, audio summaries, podcast analytics, key topics, key takeaways, and downloadable outputs.


πŸ“Œ Project Overview

Podcasts and long-form audio content can contain a large amount of information, making it difficult for users to quickly identify the most important points.

This project provides an AI-based solution that automatically summarizes podcast transcripts.

The system uses a fine-tuned BART sequence-to-sequence model trained on the CNN/DailyMail dataset for abstractive text summarization.

Main Pipeline

Podcast Transcript
        ↓
Text Preprocessing
        ↓
Fine-Tuned BART Model
        ↓
Abstractive Summary
        ↓
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚               β”‚
 ↓               ↓
Text Summary   gTTS
                 ↓
            Audio Summary


✨ Features

πŸŽ™οΈ Podcast Transcript Input

Users can paste a podcast transcript directly into the Streamlit application.

πŸ€– AI-Powered Summarization

A fine-tuned BART Transformer model generates an abstractive summary from the provided transcript.

✨ Summary Styles

Users can select different summary styles:

Standard
Short
Detailed
Key Takeaways
πŸ“ Summary Length Control

A slider allows users to control the desired summary length.

πŸ“Š Podcast Analytics

The application displays:

Original word count
Summary word count
Compression percentage
Estimated reading time

Example:

Original Words     Summary Words     Compression
     1250               180              85.6%
πŸ“– Transcript and Summary Comparison

The original transcript and generated summary are displayed side-by-side for easy comparison.

πŸ”‘ Key Topics

The application identifies frequently occurring meaningful terms from the transcript and displays them as topic tags.

Example:

#ArtificialIntelligence
#MachineLearning
#Technology
#Education
πŸ’‘ Key Takeaways

Important points from the generated summary are displayed as numbered takeaways.

πŸ”Š Audio Summary

The generated text summary is converted into speech using gTTS.

Users can listen to the audio directly inside the application.

πŸ“₯ Download Results

Users can download:

πŸ“„ Text summary as .txt
🎧 Audio summary as .mp3
🧠 Machine Learning Model

The core model used in this project is BART.

BART is a Transformer-based sequence-to-sequence architecture that is well suited for abstractive text summarization.

The model was fine-tuned using the CNN/DailyMail dataset.

Model Workflow
CNN/DailyMail Dataset
          ↓
       Article
          ↓
      Tokenization
          ↓
     BART Model
          ↓
       Training
          ↓
   Fine-Tuned BART
          ↓
Podcast Transcript
          ↓
   Generated Summary
πŸ“š Dataset

The project uses the CNN/DailyMail dataset for training the summarization model.

Each dataset sample contains:

article
highlights

Where:

article β†’ input text
highlights β†’ target summary

The model learns to generate the highlights from the corresponding article.

The trained model is then used to summarize podcast transcripts.

πŸ› οΈ Technologies Used
Technology	Purpose
Python	Main programming language
PyTorch	Deep learning framework
Hugging Face Transformers	BART model and tokenization
Hugging Face Datasets	Dataset loading and processing
Streamlit	Web application and UI
gTTS	Text-to-speech conversion
SentencePiece	Tokenization support
CNN/DailyMail	Training dataset
πŸ—οΈ System Architecture
                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚       User           β”‚
                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
                             ↓
                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚ Streamlit Interface  β”‚
                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
                             ↓
                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚ Podcast Transcript   β”‚
                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
                             ↓
                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚   Tokenization       β”‚
                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
                             ↓
                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚ Fine-Tuned BART      β”‚
                  β”‚ Summarization Model  β”‚
                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
                             ↓
                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚  Text Summary        β”‚
                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                  ↓                      ↓
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚ Analytics       β”‚    β”‚      gTTS       β”‚
        β”‚ Topics          β”‚    β”‚ Text-to-Speech  β”‚
        β”‚ Takeaways       β”‚    β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜             β”‚
                                        ↓
                              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                              β”‚  Audio Summary  β”‚
                              β”‚      .mp3       β”‚
                              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
πŸ“‚ Project Structure
podcast_summarizer/
β”‚
β”œβ”€β”€ app.py
β”‚
β”œβ”€β”€ requirements.txt
β”‚
β”œβ”€β”€ README.md
β”‚
└── podcast_summarizer_final/
    β”‚
    β”œβ”€β”€ config.json
    β”œβ”€β”€ generation_config.json
    β”œβ”€β”€ model.safetensors
    β”œβ”€β”€ tokenizer_config.json
    β”œβ”€β”€ tokenizer.json
    └── ...
βš™οΈ Installation
1. Clone the Repository
git clone <YOUR_GITHUB_REPOSITORY_URL>

Move into the project directory:

cd podcast_summarizer
2. Install Dependencies
pip install -r requirements.txt

Alternatively:

pip install streamlit torch transformers sentencepiece gtts
πŸ“‹ Requirements

The requirements.txt file should contain:

streamlit
torch
transformers
sentencepiece
gtts
▢️ Running the Application

Start the Streamlit application using:

streamlit run app.py

The application will be available at:

http://localhost:8501
πŸ–₯️ Application Workflow
Step 1 β€” Enter Transcript

Paste the podcast transcript into the text input area.

Step 2 β€” Select Summary Settings

Choose:

Summary style
Summary length
Step 3 β€” Generate Summary

Click:

πŸš€ Generate AI Summary
Step 4 β€” BART Processing

The fine-tuned BART model processes the transcript and generates an abstractive summary.

Step 5 β€” View Results

The application displays:

πŸ“ AI Summary
πŸ“Š Podcast Analytics
πŸ”‘ Key Topics
πŸ’‘ Key Takeaways
Step 6 β€” Generate Audio

The generated summary is converted into speech using gTTS.

Step 7 β€” Download

Users can download:

πŸ“„ podcast_summary.txt
🎧 podcast_summary.mp3
πŸ“Š Example Output
Original Transcript
Today we discuss artificial intelligence and machine learning.
These technologies are transforming many industries including
healthcare, finance and education. Machine learning systems can
analyze large amounts of data and identify patterns that help
organizations make better decisions...
Generated Summary
Artificial intelligence and machine learning are transforming
industries such as healthcare, finance and education by analyzing
large datasets and identifying useful patterns.
Analytics
Original Words: 1250
Summary Words: 180
Compression: 85.6%
Reading Time: 1.2 minutes
πŸ”Š Audio Summary

The generated summary is converted into an MP3 file using gTTS.

The user can:

β–Ά Play Audio

        ↓

🎧 Download Audio Summary

Output:

podcast_summary.mp3
🎯 Project Objectives

The main objectives of the project are:

Develop an AI-powered podcast summarization system.
Fine-tune a BART Transformer model for abstractive summarization.
Generate concise summaries from long-form text.
Build an interactive Streamlit web application.
Provide summary analytics.
Extract important topics from podcast transcripts.
Present key takeaways from generated summaries.
Convert generated summaries into audio.
Allow users to download text and audio summaries.
πŸ“ˆ Advantages
Saves time when consuming long podcasts.
Provides concise and meaningful summaries.
Uses Transformer-based deep learning.
Provides both text and audio outputs.
Easy-to-use Streamlit interface.
Provides useful summary analytics.
Allows users to download generated results.
⚠️ Current Limitations
The current application accepts podcast transcripts rather than directly processing audio files.
BART has a maximum input token limit, so extremely long transcripts need to be processed in chunks.
Key topic extraction currently uses frequency-based text processing.
gTTS requires an internet connection to generate speech.
The BART model was fine-tuned using CNN/DailyMail news articles rather than a podcast-specific dataset.
πŸš€ Future Enhancements

The current system can be extended into a complete audio-to-summary pipeline.

Future Architecture
Podcast MP3 / WAV
       ↓
     Whisper
       ↓
Speech-to-Text
       ↓
Transcript
       ↓
Fine-Tuned BART
       ↓
Text Summary
       ↓
      gTTS
       ↓
Audio Summary

Future improvements include:

🎡 Direct MP3/WAV podcast upload
πŸŽ™οΈ Automatic speech recognition using Whisper
⏱️ Timestamp-based summaries
πŸ“Œ Automatic podcast chapter generation
🌍 Multilingual summarization
πŸ” Semantic search across podcast content
πŸ‘₯ Speaker identification
πŸ“Š Advanced podcast analytics
☁️ Cloud deployment
πŸ“± Mobile application
🧠 Podcast-specific model fine-tuning
πŸ”¬ Machine Learning Methodology

The summarization process follows these major stages:

1. Dataset Collection

The CNN/DailyMail dataset is loaded using the Hugging Face Datasets library.

2. Preprocessing

Articles and corresponding highlights are prepared for model training.

3. Tokenization

The text is converted into token IDs using the BART tokenizer.

4. Model Fine-Tuning

The BART sequence-to-sequence model is trained to generate summaries from input articles.

5. Evaluation

Generated summaries can be evaluated using ROUGE metrics.

The commonly used metrics are:

ROUGE-1
ROUGE-2
ROUGE-L
6. Inference

The trained model receives a podcast transcript and generates a concise summary.

7. Text-to-Speech

The generated summary is converted into speech using gTTS.

πŸ§ͺ Evaluation

The summarization model can be evaluated using ROUGE metrics.

ROUGE-1

Measures unigram overlap between the generated summary and reference summary.

ROUGE-2

Measures bigram overlap.

ROUGE-L

Measures the longest common subsequence between the generated and reference summaries.

These metrics help evaluate how closely the generated summary matches the reference summary.

πŸ’» Hardware

The model can be trained using a GPU-enabled environment such as Google Colab.

For inference, the Streamlit application can run using:

CPU

or, if available:

CUDA GPU

The application automatically detects the available device.

πŸ” Model Files

The trained model is stored in:

podcast_summarizer_final/

Important files include:

config.json
model.safetensors
generation_config.json
tokenizer_config.json
tokenizer.json

If the model files are too large for GitHub, they can be hosted separately and downloaded before running the application.

πŸ§‘β€πŸ’» How the Application Works Internally

The Streamlit application loads the trained model:

tokenizer = AutoTokenizer.from_pretrained(
    "./podcast_summarizer_final"
)

model = AutoModelForSeq2SeqLM.from_pretrained(
    "./podcast_summarizer_final"
)

The transcript is tokenized:

inputs = tokenizer(
    text,
    return_tensors="pt",
    max_length=512,
    truncation=True
)

The BART model generates the summary:

summary_ids = model.generate(
    inputs["input_ids"],
    num_beams=4,
    max_length=128
)

The generated tokens are converted back into text:

summary = tokenizer.decode(
    summary_ids[0],
    skip_special_tokens=True
)

The summary is then converted into audio:

tts = gTTS(
    text=summary,
    lang="en"
)

tts.save("podcast_summary.mp3")
πŸŽ“ Project Domain
Artificial Intelligence
        ↓
Natural Language Processing
        ↓
Transformer Models
        ↓
Abstractive Text Summarization
        ↓
Text-to-Speech
        ↓
Streamlit Application
⭐ Key Highlights
πŸ€– Fine-Tuned BART Model
πŸ“š CNN/DailyMail Dataset
πŸ“ Abstractive Summarization
πŸ“Š Podcast Analytics
πŸ”‘ Key Topic Extraction
πŸ’‘ Key Takeaways
πŸ”Š Audio Summary
πŸ“₯ TXT & MP3 Download
πŸ–₯️ Streamlit Web Interface
🏁 Conclusion

Podcast AI provides an intelligent solution for simplifying long-form podcast content.

The system combines a fine-tuned BART Transformer model with a Streamlit interface to generate concise summaries from podcast transcripts. The application further improves accessibility by converting the generated summaries into audio using gTTS.

The project demonstrates the practical application of Natural Language Processing, Transformer-based deep learning, abstractive summarization, and text-to-speech technology in a user-friendly AI application.

πŸ‘¨β€πŸ’» Project

Project Name: Podcast AI β€” Intelligent Podcast Summarizer

Domain: Artificial Intelligence / Natural Language Processing

Core Model: Fine-Tuned BART

Dataset: CNN/DailyMail

Frontend: Streamlit

Programming Language: Python

Deep Learning Framework: PyTorch

Text-to-Speech: gTTS

Task: Abstractive Podcast Summarization
Downloads last month
18
Safetensors
Model size
0.1B params
Tensor type
F32
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support