Podcast-Transkript-Abrufprogramm
Rufe Transkripte von 5 unterstützten Podcasts ab. Tier 2 (RSS+Groq Whisper) ist der empfohlene Ansatz – schnell, kostenlos und am zuverlässigsten für alle Podcasts. Tier 1 (kostenlose Quellen) ist nach bestem Bemühen (begrenzte Verfügbarkeit). Tier 3 (Taddy API) ist die kommerzielle Premium-Option.
Kurzreferenz
# Transkript der neuesten Folge abrufen (erkennt automatisch die beste Methode)
python scripts/get_transcript.py "Lenny's Podcast" --latest
# Nach Episodentitel oder -nummer suchen
python scripts/get_transcript.py 20vc --episode "Marc Andreessen"
python scripts/get_transcript.py dwarkesh --episode 15
# Bestimmte Methode erzwingen
python scripts/get_transcript.py "cheeky pint" --latest --method whisper
python scripts/get_transcript.py a16z --latest --method taddy
# In Datei speichern
python scripts/get_transcript.py lennys --latest --output transcript.md
# Alle unterstützten Podcasts auflisten
python scripts/get_transcript.py --list-podcasts
Unterstützte Podcasts
| Podcast | Tier 1 (nach bestem Bemühen) | Tier 2 RSS+Whisper [EMPFOHLEN] | Tier 3 Taddy (Premium) |
|---|---|---|---|
| Lenny's Podcast | GitHub-Archiv (269 Transkripte) | ✅ Substack RSS | ✅ Abgedeckt |
| Dwarkesh Podcast | Website-Scrape + Substack PDF | ✅ Substack RSS | ✅ Abgedeckt |
| Cheeky Pint | (keine) | ✅ Transistor.fm RSS | ✅ Abgedeckt |
| 20VC | Substack PDF | ✅ Libsyn RSS | ✅ Abgedeckt |
| A16z Podcast | Website-Scrape | ✅ Simplecast RSS | ✅ Abgedeckt |
Implementierung
1. Abhängigkeiten installieren
# Kern (immer erforderlich)
pip install requests
# Cloud-Transkription (empfohlen – schnell, kostenlose Stufe)
pip install groq
export GROQ_API_KEY="dein-key" # Holen unter https://console.groq.com
# Lokale Transkription (kostenlos, benötigt ~5 GB RAM)
pip install faster-whisper
# Audiokompression (für Groqs 25-MB-Grenze – Windows: winget/scoop)
# winget install ffmpeg oder scoop install ffmpeg
# Taddy API (kommerziell, optional)
export TADDY_API_KEY="dein-key" # Holen unter https://taddy.org
2. Ein Transkript abrufen
Das Skript wählt automatisch die beste Methode aus. Tier 2 ist die Standardempfehlung:
Tier 1 → Tier 2 (EMPFOHLEN) → Tier 3
(nach bestem Bemühen) (Whisper) (Taddy API Premium)
Tier 1: Kostenlose direkte Quellen (nach bestem Bemühen, begrenzte Verfügbarkeit)
- Lenny's: Klont
ChatPRD/lennys-podcast-transcriptsund sucht nach Titel - Dwarkesh: Substack PDF-Scrape
- 20VC: Substack PDF-Scrape
- A16z: Website-Scrape
- Cheeky Pint: Keine Tier-1-Quellen verfügbar
- Hinweis: Tier-1-Quellen sind nach bestem Bemühen und begrenzt. Tier 2 (RSS+Whisper) ist der empfohlene Ansatz.
Tier 2: RSS + Whisper-Transkription [EMPFOHLEN]
- Lädt MP3 aus dem Podcast-RSS-Feed herunter
- Komprimiert bei >25 MB (ffmpeg)
- Transkribiert über Groq Whisper API (kostenlose Stufe, ~10s pro Stunde Audio)
- Schnell, kostenlos und funktioniert für jeden Podcast im Register
- Standardempfehlung für alle Anwendungsfälle
Tier 3: Taddy API (kommerziell/Premium)
- Erfordert
TADDY_API_KEY(75 $/Monat+) - Für großangelegte oder produktive Transkriptanforderungen verwenden
- Deckt alle 5 Podcasts mit automatischer Transkription ab
3. Mit KI analysieren
Sobald du ein Transkript hast, leite es zur Analyse an den Agenten weiter:
Ich habe dieses Transkript von [Podcast]. Kannst du:
1. Die wichtigsten Argumente zusammenfassen
2. 3 umsetzbare Erkenntnisse extrahieren
3. Kontroverse Behauptungen identifizieren
4. Mit [anderem Podcast] zum selben Thema vergleichen
Unterstützte Arbeitsabläufe
Einzelne Episode
| Szenario | Befehl |
|---|---|
| Neueste Episode | get_transcript.py "Lenny's Podcast" --latest |
| Bestimmte Episode nach Titel | get_transcript.py 20vc --episode "Sam Altman" |
| Episode nach Nummer | get_transcript.py dwarkesh --episode 42 |
| Whisper-Transkription erzwingen (Tier 2, empfohlen) | get_transcript.py a16z --latest --method whisper |
| Taddy API erzwingen (Premium) | get_transcript.py lennys --latest --method taddy |
| Als Markdown speichern | get_transcript.py cheeky-pint --latest --output episode.md |
| JSON-Ausgabe | get_transcript.py dwarkesh --latest --json |
Podcast-übergreifende Suche & Batch
| Szenario | Befehl |
|---|---|
| Alle Podcasts nach Stichwort durchsuchen | get_transcript.py --search "Marc Andreessen" |
| Nach Gastnamen suchen | get_transcript.py --guest "Sam Altman" |
| Innerhalb eines Podcasts suchen | get_transcript.py "Lenny's Podcast" --search "vibe coding" |
| Letzte N Episoden als Batch transkribieren | get_transcript.py "Dwarkesh Podcast" --last 5 |
| Beste Treffer suchen + transkribieren | get_transcript.py --search "AI safety" --transcribe |
| Pipeline mit benutzerdefinierter Anzahl | get_transcript.py --search "scaling laws" --transcribe --transcribe-count 5 |
| Gefilterte Such-Pipeline | get_transcript.py "A16z Podcast" --search "crypto" --transcribe |
Ausgabestruktur
Die Batch-Transkription speichert in output/ mit Unterverzeichnissen pro Podcast:
output/dwarkesh-podcast/Dwarkesh Podcast_2024-01-15_agi-is-still-30-years-away.md
output/20vc/20 Minutes VC (20VC)_2024-03-10_funding-round-analysis.md
Jede Datei enthält einen YAML-Frontmatter-Header:
---
podcast: Dwarkesh Podcast
episode: AGI is still 30 years away
date: 2024-01-15
url: https://...
source: whisper
---
Podcast-Register
Das Register unter scripts/podcasts.json ordnet jedem Podcast seine RSS-Feeds, Transkriptquellen und API-Endpunkte zu. So fügst du neue Podcasts hinzu:
{
"id": "neuer-podcast",
"name": "Neuer Podcast",
"rss": "https://example.com/feed.xml",
"transcript_sources": {
"primary": {"type": "website_scrape", "url": "https://example.com"}
}
}
Fehlerbehebung
| Problem | Lösung |
|---|---|
| „Kein Transkript gefunden“ | Tier 2 (RSS+Whisper) ist der empfohlene Ansatz. Wenn der automatische Modus fehlschlägt, versuche --method whisper, um ihn zu erzwingen. |
| RSS-Abruf fehlschlägt | RSS-Feeds können sich ändern; überprüfe scripts/podcasts.json auf aktuelle URLs |
| Audio-Download langsam | Große MP3s können bei langsamen Verbindungen Minuten dauern |
| Groq-Ratenbegrenzung | Warten oder auf lokales faster-whisper umschalten |
| Taddy gibt keine Transkripte zurück | Einige Episoden haben keine Transkripte; versuche --method whisper |
| Podcast nicht im Register | Füge ihn zu scripts/podcasts.json hinzu |
| Unicode-Fehler unter Windows | Behoben: Skript konfiguriert stdout automatisch auf UTF-8 um; gespeicherte Dateien verwenden UTF-8-Kodierung |
| Audio > 25 MB für Groq | ffmpeg installieren: winget install ffmpeg (Windows) oder brew install ffmpeg (macOS) |
RSS-Feed-Status (Stand 2026-06)
| Podcast | Alter Feed (defekt) | Aktueller Feed |
|---|---|---|
| Cheeky Pint | feeds.transistor.fm/the-cheeky-pint (404) | feeds.transistor.fm/cheeky-pint-with-john-collison |
| 20VC | feeds.simplecast.com/3GxrMqOd (404) | feeds.libsyn.com/61840/rss |
| A16z | feeds.simplecast.com/0cJfpoz2 (404) | feeds.simplecast.com/JGE3yC0V |
Häufige Fehler
- API-Schlüssel vergessen: Setze
GROQ_API_KEYin deiner Umgebung oder.env-Datei - Sich auf Tier-1-Quellen verlassen: Tier 1 ist nach bestem Bemühen und begrenzt. Falle immer auf Tier 2 (RSS+Whisper) zurück – dies ist die empfohlene Methode.
- Das Lenny's-Repo nicht zuerst geklont: Das GitHub-Archiv muss lokal geklont sein, damit Tier 1 funktioniert
- --method taddy ohne TADDY_API_KEY verwenden: Wird still ignoriert; setze den Schlüssel oder verwende den automatischen Modus