A Streamlit-based web application that allows users to upload a podcast audio file or provide a YouTube link to get a summary, keyword extraction, and relevant podcast suggestions. The project leverages AI-powered speech-to-text, NLP, and summarization models to deliver concise podcast insights.
🎧 Podcast & YouTube Audio Processing
Uses yt_dlp to download and convert YouTube audio.
Uses OpenAI’s Whisper model to transcribe the audio.
Summarizes the podcast using the Google Long-T5 model.
Extracts key topics using spaCy. Searches for related long-form podcasts on YouTube using the YouTube API.
Uses Deepgram TTS API to convert the summary into speech. Plays the summary audio using ffplay. 🎨 User-Friendly Web Interface
Built using Streamlit for an interactive UI.
1️⃣ Clone the Repository
git clone https://github.com/absarraashid3/PodcastSummarizerAndYoutubeSuggester.git
cd PodcastSummarizerAndYoutubeSuggester
2️⃣ Install Dependencies
Ensure you have Python 3.8+ installed. Then run:
pip install -r requirements.txt
3️⃣ Install SpaCy Model
python3 -m spacy download en_core_web_sm
4️⃣ Set API Keys
Create a .env file in the project root and add:
YOUTUBE_API_KEY=your_youtube_api_key_here
DEEPGRAM_API_KEY=your_deepgram_api_key_here
5️⃣ Run the Application
python -m streamlit run PodcastSummarizerAndYoutubeSuggester.py
Upload an MP3 file. Enter a YouTube URL.
📂 PodcastSummarizerAndYoutubeSuggester/
├── 📜 requirements.txt
├── 📜 PodcastSummarizerAndYoutubeSuggester.py
├── 📂 downloads/ (stores downloaded audio files)
├── 📂 models/ (stores NLP models if needed)
└── 📜 README.md
Python
Streamlit (Frontend UI)
Whisper AI (Speech-to-Text)
spaCy (Keyword Extraction)
Hugging Face Transformers (Summarization Model)
YouTube API (Podcast Search)
Deepgram API (Text-to-Speech)
pydub (Audio Processing)
✅ Improve multi-language support for transcriptions.
✅ Add user preferences for podcast recommendations.
✅ Enhance UI/UX with better design.
For queries, reach out via:
Email: absarrashid3@gmail.com