Commit graph

10 commits

Author SHA1 Message Date
ba61434798 feat: extract_text.py – YouTube-URL → Textdatei in einem Schritt
- Kombiniert yt_untertitel.py und vtt2txt.py; die VTT bleibt temporär
- Standardsprache ist die des Original-Audios (original_language())
- -o Ausgabedatei, Standard output.txt
- Tests ohne Netz, README

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 19:51:32 +02:00
b0b79515ca docs: README um Werkzeugübersicht, Kurzweg und bekannte Grenzen ergänzen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 19:23:28 +02:00
b2aa88085e chore: persönliche Claude-Code-Einstellungen ignorieren
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 19:18:26 +02:00
903aa92b09 feat: YouTube-Untertitel herunterladen (yt_untertitel.py)
- yt_untertitel.py lädt über yt-dlp die Untertitel eines Videos als VTT:
  manuelle Untertitel in der Sprache, sonst automatische in Originalsprache
  (<lang>-orig); Maschinenübersetzungen werden nie genommen
- Tests ohne Netz (yt-dlp durch Fakes ersetzt)
- Testdaten: Lahnstein-Rede (VTT und daraus erzeugter Rohtext)
- README: Ablauf URL → VTT → TXT → Korrektur

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 18:19:14 +02:00
8fe7c394f1 feat: Glossar für die Magdeburg-Rede
- magdeburg.glossar.txt: 64 feste Ersetzungen (Namen, Orte, Hörfehler)
  und 10 Hinweis-Begriffe; jede Ersetzung trifft den Rohtext
- Test prüft jetzt beide Beispiel-Glossare gegen ihre Testdaten
- README: Glossare zu beiden Testdaten erwähnt

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 18:11:58 +02:00
8e1945e406 test: Testdaten (Magdeburg-Rede) ins Repo aufnehmen
- testdaten/magdeburg.de-orig.vtt (YouTube-Auto-Untertitel) und der daraus
  mit vtt2txt.py erzeugte Rohtext magdeburg.de-orig.txt
- Test: jede Beispiel-VTT ergibt genau ihre .txt

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 17:52:56 +02:00
99238870f7 feat: VTT-Untertitel in Rohabschrift umwandeln (vtt2txt.py)
- vtt2txt.py als Kommandozeilenprogramm: -i nimmt mehrere Dateien und
  Muster (auch ohne Shell-Expansion), -o eine Datei oder ein Verzeichnis
- Rollende YouTube-Untertitel über die Überlappung aufeinanderfolgender
  Blöcke entdoppeln; echte Wiederholungen des Redners bleiben erhalten
- Fix: Blöcke nur an wirklich leeren Zeilen trennen; Text nach einer
  Leerzeichen-Zeile ging verloren (u. a. das letzte [applaus])
- Schutz gegen Überschreiben der Eingabe und doppelte Ausgabedateien,
  klare Meldung bei Nicht-UTF-8, Stapel läuft bei Fehlern weiter
- rede_korrigieren.py nimmt .vtt direkt an
- testdaten/ramstein.de.txt neu erzeugt (+ abschließendes [applaus])
- pytest: global installiertes asyncio-Plugin abschalten (Warnung)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 17:50:51 +02:00
6e5117a33b test: pytest-Suite ohne Ollama-Abhängigkeit
33 Tests mit Fakes für die Modellaufrufe: Abschnittsbildung, Glossar
(jede Ersetzung trifft die Testdaten), Streaming-Auswertung und
Fehlerfälle, Satztrennung, Absatzgliederung inkl. Teilen/Verbinden,
Zwischenspeicher und Kommandozeile.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 16:57:37 +02:00
1414f0c229 test: Testdaten (Ramstein-Rede) ins Repo aufnehmen
Automatische YouTube-Untertitel (.vtt) und Rohtext (.txt) als Eingabe
für ramstein.glossar.txt; README um Abschnitt Testdaten ergänzt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 16:54:00 +02:00
9c5553aa86 feat: Redeabschriften mit lokalem Ollama-Modell korrigieren
CLI (-i/-o/-g) korrigiert automatische Abschriften abschnittsweise mit
qwen3:32b: Satzende-Trennung, feste Glossar-Ersetzungen vor dem Modell,
Wortzahl-Prüfung, Zwischenspeicher mit Fortsetzen, Streaming-Fortschritt
und Absatzgliederung über Satznummern (3–10 Sätze pro Absatz).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 16:50:54 +02:00