Skip to content

Repository files navigation

🎙️ Podcast Transcription & Chat App

Transform YouTube podcasts into interactive conversations using local Whisper transcription and GPT-4o chat.

Features

  • 📺 Download audio from YouTube URLs
  • 🎯 Local Whisper transcription (no API costs)
  • 💬 Interactive chat about podcast content
  • 📄 Export transcripts (TXT, SRT, JSON)
  • 💾 Export chat conversations (Markdown)
  • 🔒 Privacy-focused (local processing)

Setup

1. Clone Repository

git clone <repository-url>
cd social_media_vlog_chat

2. Create Virtual Environment

Windows:

python -m venv .venv
.venv\Scripts\activate

Mac/Linux:

python -m venv .venv
source .venv/bin/activate

3. Install Dependencies

pip install -r requirements.txt

Note for Python 3.13 users: If you encounter audioop module errors, also install:

pip install audioop-lts

4. Set OpenAI API Key

Windows:

set OPENAI_API_KEY=your_api_key_here

Mac/Linux:

export OPENAI_API_KEY=your_api_key_here

5. Install FFmpeg

Windows:

Mac:

brew install ffmpeg

Linux:

sudo apt install ffmpeg

Usage

Quick Start

python run_app.py

This starts both the backend and frontend automatically.

Manual Start

  1. Backend: python backend.py
  2. Frontend: streamlit run frontend.py

Using the App

  1. Transcribe: Enter YouTube URL → Download → Transcribe
  2. Chat: Ask questions about the podcast content
  3. Export: Download transcripts and chat conversations

File Structure

podcast-transcription-app/
├── backend.py          # FastAPI server
├── frontend.py         # Streamlit interface
├── config.py          # Configuration settings
├── run_app.py         # Launcher script
├── requirements.txt   # Dependencies
├── downloads/         # Audio files
├── transcripts/       # JSON transcripts
└── exports/          # Exported files

System Requirements

  • RAM: 8GB+ (16GB recommended for medium model)
  • Storage: 2GB+ free space
  • Python: 3.8+
  • Internet: For downloading videos and API calls

Costs

  • Transcription: Free (local Whisper)
  • Chat: ~$0.03 per 1000 tokens (GPT-4o)
  • Storage: Local files only

Troubleshooting

Backend Won't Start

  • Check Python version (3.8+)
  • Install missing dependencies: pip install -r requirements.txt
  • Verify FFmpeg installation: ffmpeg -version

Whisper Model Loading Slow

  • First run downloads ~1.5GB model
  • Subsequent runs are faster
  • Model stored in ~/.cache/whisper/

OpenAI API Errors

  • Verify API key is set correctly
  • Check API quota/billing
  • Ensure stable internet connection

Model Information

Whisper Medium:

  • Size: ~1.5GB
  • Languages: 99 languages
  • Accuracy: Good for most podcasts
  • Speed: ~1:4 ratio (1 min audio = 4 min processing)

Privacy

  • Audio files stored locally in downloads/
  • Transcripts stored locally in transcripts/
  • Only chat messages sent to OpenAI API
  • No data uploaded to external services (except OpenAI chat)

About

Transform YouTube podcasts into interactive conversations using local Whisper transcription

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages