Featured image of post Pod in Peace — Podcast Archiver + Transcriber

Pod in Peace — Podcast Archiver + Transcriber

A lightweight Python tool for downloading, normalizing, and transcribing podcasts — with GPU-accelerated Whisper support and a clean Tkinter interface.

Pod in Peace is a small, self-contained Python app for discovering, downloading, normalizing, and transcribing podcasts.
It supports both a Tkinter GUI and a command-line interface, letting you archive entire feeds or transcribe individual episodes in a few clicks.


Features

  • Download full podcast feeds or only the latest episodes.
  • Skip episodes by keyword, duration, or duplication.
  • Optional FFmpeg-based loudness normalization.
  • GPU-accelerated transcription powered by faster-whisper.
  • Built-in search dialog for discovering feeds.
  • Background task queue keeps the interface responsive.

Installation

git clone https://github.com/mgelsinger/podinpeace.git
cd podinpeace
python -m pip install -r requirements.txt

Optional GPU Transcription

Enable CUDA acceleration (Windows or Linux):

python -m pip install faster-whisper nvidia-cudnn-cu12 nvidia-cublas-cu12 nvidia-cuda-runtime-cu12

If you store CUDA DLLs outside standard locations, define:

set PODINPEACE_CUDNN_PATH=C:\path\to\cudnn

Quick Start

GUI Mode

python download_podcast.py

Use the graphical interface to:

  • Search or paste podcast RSS feeds.
  • Choose a download folder.
  • Enable normalization or transcription.
  • Track progress via the integrated log pane.

CLI Mode

python download_podcast.py <feed_url> <output_directory> [options]

Example:

python download_podcast.py https://feed.skeptoid.com ./Skeptoid --limit 10 --transcribe --transcribe-model large-v2
OptionDescription
--limit <N>Download only the latest N episodes
--exclude <keywords>Skip episodes containing listed keywords
--min-length <minutes> / --max-length <minutes>Restrict by duration
--transcribeGenerate transcripts
--transcribe-model <name>Override the default Whisper model
--transcribe-device {auto,cuda,cpu}Choose or auto-detect backend

Structure

podinpeace/
 ├─ audio/        # Normalization + transcription
 ├─ feed/         # Downloading and metadata
 ├─ gui/          # Tkinter interface
 ├─ tasks/        # Background queue and progress
 └─ utils/        # Shared helpers

Philosophy

Most podcast managers are cloud-tied or bloated.
Pod in Peace aims for local-first, minimal, and transparent design — everything happens on your machine.
It’s an ideal starting point for anyone building offline podcast workflows, speech datasets, or searchable audio archives.

→ View the source on GitHub


Next Steps

Planned updates include:

  • Multi-feed batch downloads
  • Automated transcript tagging and search
  • Optional web interface (FastAPI prototype)

“Pod in Peace” — Take your listening offline, and your transcripts anywhere.