# Whisper Transcript Pipeline Diese Pipeline überwacht einen Ordner auf neue MacWhisper-Transkripte, erstellt mit OpenAI eine strukturierte Zusammenfassung, schreibt die Ergebnisdateien nach Obsidian, archiviert Audio-Dateien per `rclone` und kann die fertigen Notizen zusätzlich als private Quartz-Website veröffentlichen. ## Voraussetzungen - Python 3.10+ - `ffprobe` - `rclone` - optional `fswatch` - ohne `fswatch` nutzt die Pipeline automatisch Polling - `OPENAI_API_KEY` - für die Memos-Website zusätzlich Node.js 22+ und npm 10.9.2+ (Quartz 4) ## Einrichtung ```bash cp .env.example .env ``` Danach in `.env` mindestens diese Werte setzen: - `OPENAI_API_KEY` - `WATCH_DIR` - `OBSIDIAN_DIR` - optional für die Webveröffentlichung: - `MEMOS_ENABLED=true` - `MEMOS_QUARTZ_DIR` - `MEMOS_CONTENT_DIR` - `MEMOS_OUTPUT_DIR` - `MEMOS_RCLONE_REMOTE` - optional `MEMOS_RCLONE_EXCLUDES` ## Befehle Einmaliger Lauf: ```bash python3 transcript_pipeline.py scan ``` Nur ein bestimmtes Paar verarbeiten: ```bash python3 transcript_pipeline.py scan --basename "Neue Aufnahme 23" ``` Dauerhafte Überwachung: ```bash python3 transcript_pipeline.py watch ``` Archiv bereinigen: ```bash python3 transcript_pipeline.py cleanup ``` ## Steuerbefehl Der zentrale Wrapper ist: ```bash ./bin/transcript ``` oder nach Verlinkung in `~/bin` einfach: ```bash transcript transkript ``` Verfügbare Befehle: ```bash transcript install transcript start transcript stop transcript restart transcript status transcript logs pipeline transcript logs service transcript scan transcript cleanup transcript retry-uploads transcript memos-sync transcript memos-auth transcript migrate-archive transcript reprocess "Neue Aufnahme 23" transcript bundle ``` ## Hintergrunddienst - auf macOS: `launchd` - auf Linux: `systemd --user` Installieren und starten: ```bash ./bin/transcript install ``` Status: ```bash ./bin/transcript status ``` ## Verhalten - erwartet ein Audio-/Transkript-Paar mit gleichem Basenamen, z. B. `Aufnahme.m4a` und `Aufnahme.md` - nutzt [transkript-zusammenfassung-prompt.md](/Users/maddin/Desktop/Whisper/transkript-zusammenfassung-prompt.md) als Zusammenfassungsstandard - extrahiert Aufnahmedatum und Dauer aus der Audiodatei - erzeugt eine Obsidian-Notiz mit YAML-Frontmatter, Zusammenfassung und eingebettetem Transkript - puffert die Audio-Datei lokal in `archive/processed//audio/` - lädt die Audio-Datei verschlüsselt nach `transkripte://audio/...` per `rclone` hoch - löscht lokale Audio-Caches nach 7 Tagen - aktualisiert vorhandene Obsidian-Notizen, wenn dieselbe Quelle später erneut verarbeitet wird - kann dieselben Notizen bereinigt nach `memos-content/` exportieren und mit Quartz nach `memos-site/` bauen - kann die fertige statische Website per `rclone sync` auf einen separaten Host veröffentlichen ## Migration nach Linux Für einen portablen Export: ```bash transcript bundle ``` Die Linux-Schritte stehen in [LINUX_MIGRATION.md](/Users/maddin/Desktop/Whisper/LINUX_MIGRATION.md).