CommunitySchreiben & Editierengithub.com

BingWuJ/podcast2md-skill

Wandelt einen Podcast-Episoden-Link in eine vollständige, nach Kapiteln gegliederte Abschrift um (lokale CapsWriter-Offline-Spracherkennung, erzeugt chapters.md, keine Zusammenfassung).

Was ist podcast2md-skill?

Dieses Skill ermöglicht es, aus einem beliebigen Podcast-Episoden-Link (oder einer direkten Audio-URL, die von yt-dlp unterstützt wird) eine vollständige, nach Kapiteln strukturierte Abschrift zu erstellen. Das Ergebnis wird als chapters.md im angegebenen Ausgabeverzeichnis gespeichert. Es wird keine KI-Zusammenfassung oder Inhaltsergänzung vorgenommen – die Ausgabe ist eine reine Transkription, die auf den Kapitelmarken der Episode basiert. Das Skill ist primär für den Einsatz auf Windows-Rechnern konzipiert, auf denen CapsWriter-Offline (fun_asr_nano) lokal installiert und konfiguriert ist. Es startet automatisch den notwendigen Server und Client und arbeitet vollständig offline – ideal für Datenschutz oder große Audiomengen. Für lokale Audiodateien ohne URL empfiehlt der Skill die Nutzung von FunASR-Nano und verweist auf ein separates Skript. Das Skill bietet Parameter wie --force (Neuberechnung erzwingen) und --transcribe-timeout (Time-out für lange Aufnahmen anpassen). Wichtige Einschränkungen: Keine Sprecherdiariserung, und lange Audios (>1h) benötigen mehrere zehn Minuten Transkriptionszeit (insbesondere auf CPU).

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add BingWuJ/podcast2md-skill

Installed? Explore more Schreiben & Editieren skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

podcast2md — Podcast-Episode-Link → Kapitel-Abschrift

Zielsetzung

  • Eingabe: Ein von yt-dlp unterstützter Link zu einer Podcast-Episode oder eine direkte Audio-URL.
  • Ausgabe: <out-dir>\<slug>\chapters.md – Vollständige, nach den vorhandenen Kapiteln der Episode gegliederte Abschrift; keine Zusammenfassung, keine Inhaltserweiterung.
  • Engine: Lokale CapsWriter-Offline-Instanz (fun_asr_nano), das Skript startet den Server und Client automatisch.

Ausführung (mit dem bereitgestellten Exemplar – muss sich im gleichen Verzeichnis wie start_server.exe befinden)

python "D:\iStall\CapsWriter-Offline\podcast2md.py" "<Episoden-URL>"
python "D:\iStall\CapsWriter-Offline\podcast2md.py" "<Episoden-URL>" --transcribe-timeout 10800
  • Quell-Repository: D:\iStall\podcast2md\ (enthält podcast2md.py + README.md + PODCAST2MD.md). Änderungen am Skript nur im Repository vornehmen, dann nach D:\iStall\CapsWriter-Offline\ kopieren, um sie auszurollen.
  • Vollständige Parameterliste, Pipeline-Details und Exit-Codes: Je nach Bedarf D:\iStall\podcast2md\PODCAST2MD.md lesen (nicht standardmäßig die gesamte Datei lesen).

Wichtige Parameter

ParameterStandardBeschreibung
--out-dir<Skript-Verzeichnis>\workDas fertige Ergebnis liegt unter work\<slug>\chapters.md
--forceAusLöscht das vorhandene Episodenverzeichnis und führt die Verarbeitung neu durch; manuelle Änderungen gehen dabei verloren
--polishoffbasic führt nur regelbasierte Entfernung von Füllwörtern durch, keine KI-Aufbereitung; für originalgetreue Abschrift off verwenden
--server-timeout600 sWartezeit für das Starten des Servers
--transcribe-timeout7200 sWartezeit für die Transkription; bei langen Folgen erhöhen (z. B. 10800)

Fallstricke (vor der Ausführung lesen)

  • Lange Audiodateien (>1 h) benötigen mehrere zehn Minuten für die Transkription: Als Hintergrundprozess laufen lassen + Logdateien abfragen, nicht im Vordergrund warten, bis ein Tool-Zeitüberschreitung auftritt.
  • Der Server bleibt nach der Transkription im Arbeitsspeicher (Wiederverwendung beschleunigt den nächsten Durchlauf); zum Beenden über das Tray-Icon beenden.
  • Exit-Codes: 3 = Download fehlgeschlagen, 4 = Server-Fehler, 5 = Transkriptionsfehler, 6 = Ergebnis bereits vorhanden / belegt, 7 = Fehler bei der Segmentierung oder Validierung.
  • Logdateien: <out-dir>\_podcast2md_server.log und <slug>\logs\.
  • ffmpeg muss im PATH vorhanden sein, sonst schlägt die Client-Transkription fehl.
  • Eine Sprecherdiarisierung wird nicht durchgeführt; mehrsprachige Abschriften müssen nachbearbeitet werden.

Lokal verifizierte Fakten (Stand 2026-10-19 – direkt zitieren, nicht neu ermitteln)

  • ffmpeg 8.1.2 befindet sich im PATH – die Voraussetzung für die Transkription von Client-Dateien ist damit erfüllt; bei Unklarheit zuerst ffmpeg -version tatsächlich ausführen, nicht spekulieren.
  • Es ist keine dedizierte NVIDIA-GPU vorhanden; die Transkription läuft auf der CPU: Eine 30–60-minütige Folge benötigt ca. 10–30 Minuten Abschrift, über 1 h ca. 40–90 Minuten; FunASR-Nano benötigte bei einem 95-minütigen Testaufnahme ca. 46 Minuten für die reine Transkription (ca. 0,5× Echtzeit, inklusive Modell-Laden; siehe work\full.out.log 2026-10-17).
  • FunASR-Nano: Ermittelte Eigenschaften des Referenzskripts: Segmentierung in 15-Sekunden-Abschnitte (ein 60-Sekunden-Block führt zu wiederholten „Ähs“), JSONL-Abschrift pro Abschnitt mit fortgesetzter Ausführung, stille Abschnitte werden anhand eines Energieschwellenwerts übersprungen.
  • Bilibili-Untertitelabdeckung: Offizielle/UP-eigene CC-Untertitel sind nicht vollständig; KI-generierte Untertitel sind häufiger – zuerst yt-dlp --list-subs ausführen, um die Route zu bestimmen; nicht spekulieren.

Zuständigkeit für lokale Audiodateien / angrenzende Szenarien

  • Lokale Audiodateien (Aufnahmen, bereits heruntergeladene mp3/wav – ohne URL): Dieses CLI nicht verwenden. Stattdessen FunASR-Nano nutzen: venv D:\iStall\FunASR-Nano\.venv, Gewichte D:\iStall\model-cache\huggingface\local\Fun-ASR-Nano-2512-hf; lange Audiodateien müssen segmentweise erkannt werden (ein 60-Sekunden-Block führt zu wiederholten „Ähs“); siehe D:\iStall\FunASR-Nano\work\full_transcribe.py.
  • Videos mit Untertiteln (z. B. Bilibili): Zuerst Untertitel erkennen (yt-dlp --list-subs); falls CC- oder KI-Untertitel vorhanden, diese direkt extrahieren und nicht die Spracherkennung ausführen.
  • Untertitel in Text umwandeln (Zeitstempel entfernen, in Fließtext überführen): Das ist Aufgabe von srt-translator, nicht von diesem CLI.

Verwandte Skills