Removes ads from podcasts using Whisper transcription. Serves modified RSS feeds that work with any podcast app.
Disclaimer: This tool is for personal use only. Only use it with podcasts you have permission to modify or where such modification is permitted under applicable laws. Respect content creators and their terms of service.
- Transcription - Whisper converts audio to text with timestamps
- Ad Detection - Claude API analyzes transcript to identify ad segments
- Audio Processing - FFmpeg removes detected ads and inserts short audio markers
- Serving - Flask serves modified RSS feeds and processed audio files
Processing happens on-demand when you play an episode. First play takes a few minutes, subsequent plays are instant (cached).
- Docker with NVIDIA GPU support (for Whisper)
- Anthropic API key
# 1. Create environment file
echo "ANTHROPIC_API_KEY=your-key-here" > .env
# 2. Configure feeds
cp config/feeds-example.json config/feeds.json
# Edit config/feeds.json with your podcast RSS URLs
# 3. Run (GPU)
docker-compose up --build
# Or for CPU-only mode (no NVIDIA GPU required)
docker-compose -f docker-compose.cpu.yml up --buildCPU transcription is significantly slower—processing can take longer than the episode duration. Since episodes are processed on-demand when you play them, your podcast app will likely timeout waiting for the first request. To work around this:
- Tap download/play on an episode to trigger processing
- The request will timeout, but processing continues in the background
- Wait a few minutes (check
docker logsfor progress) for the file to get processed - Try playing again, the processed file will be served from cache
Edit config/feeds.json:
[
{
"in": "https://example.com/podcast/feed.rss",
"out": "/mypodcast"
}
]in- Original podcast RSS feed URLout- URL path for your modified feed (e.g.,/mypodcast→http://localhost:8000/mypodcast)
Most podcasts publish RSS feeds. Common ways to find them:
- Podcast website - Look for "RSS" link in footer or subscription options
- Apple Podcasts - Search on podcastindex.org using the Apple Podcasts URL
- Spotify-exclusive - Not available (Spotify doesn't expose RSS feeds)
- Hosting platforms - Common patterns:
- Libsyn:
https://showname.libsyn.com/rss - Spreaker:
https://www.spreaker.com/show/{id}/episodes/feed - Omny: Check page source for
omnycontent.comURLs
- Libsyn:
Add your modified feed URL to any podcast app:
http://your-server:8000/mypodcast
| Variable | Default | Description |
|---|---|---|
ANTHROPIC_API_KEY |
required | Claude API key |
BASE_URL |
http://localhost:8000 |
Public URL for generated feed links |
WHISPER_MODEL |
small |
Whisper model size (tiny/base/small/medium/large) |
WHISPER_DEVICE |
cuda |
Device for Whisper (cuda/cpu) |