Schnitte für Fehler & Wiederholungen (Pipeline-Agent 2)
Zweiter Schritt der automatisierten Bearbeitung, ausgeführt nach Stille-Entfernung. Er entfernt die Dinge, die ein menschlicher Editor im zweiten Durchgang schneidet: Stottern („der der“, „ich- ich-“), unmittelbar wiederholte Wörter, Fehlstarts (ein abgebrochener Satz, der neu beginnt) und Neuaufnahmen (eine neu eingesprochene Zeile – die saubere Aufnahme behalten, die verpatzte verwerfen).
Die Entscheidung, was ein Fehler ist, ist Ermessenssache, keine Formel – betonte Wiederholung („nie, nie“) und rhetorische Verdopplung („das erste Stück ist, ist das…“) sehen mechanisch genauso aus wie ein Stottern. Daher ist dieser Agent standardmäßig review-gated: Er präsentiert Kandidaten mit vollständigem Kontext; der Agent (und der Benutzer) entscheiden; nur genehmigte Schnitte werden gerendert.
Wann verwenden
- „Schneide die Fehler“, „Entferne Stottern/Wiederholungen“, „Bereinige die Patzer“, „Behalte die beste Aufnahme“, „Schneide Fehlstarts“
- Als zweite Stufe des Hauptbearbeitungsworkflows, ausgehend von der Ausgabe der Stille-Entfernung.
Der dreiteilige Ablauf
1. Kandidaten finden (mechanisch)
node .claude/skills/cut-mistakes/scripts/find-cut-candidates.mjs \
<silence-transcript.json> --out-dir video-projects/<slug>/assets
Eingabe ist normalerweise die <stem>.silence-transcript.json von Agent 1, sodass Schnitte auf der bereits stillen Zeitleiste landen. Schreibt:
<stem>.cut-candidates.json– strukturierte Kandidaten (Typ, Konfidenz, vorgeschlagenercut-Bereich,removes/keeps-Text, Kontext, Empfehlung)<stem>.cut-candidates.md– lesbarer Vorschlag
Kandidatentypen: stutter (sofortige Wortwiederholung), retake (doppeltes/nahezu doppeltes Segment via Jaccard-Ähnlichkeit), false_start (kurzer abgebrochener Satz, der neu beginnt).
2. Überprüfung (das Gate – ERFORDERLICH)
Lese jeden Kandidaten im Kontext und entscheide „behalten“ oder „schneiden“. Der mechanische Detektor kann absichtliche Betonung/Rhetorik nicht von einem echten Patzer unterscheiden, also vertraue nicht blind auf recommend – lies removes + context. Häufige Fehlalarme: betonte Wiederholung („es ist nie, nie nicht eingreifend“), Kopula-dann-Frage („das Stück ist, ist das…“), Aufzählung.
Präsentiere die Kandidaten dem Benutzer mit einer Empfehlung pro Eintrag; sammle Genehmigungen. Schreibe die genehmigten Schnitte in eine Datei:
{ "cuts": [ { "start": 100.93, "end": 101.06, "reason": „Ich- Fehlstart“ }, ... ] }
(start/end in Sekunden auf der Eingabe-Transkript-/Videozeitleiste. Du kannst den Bereich eines Kandidaten erweitern – z.B. bei einer Neuaufnahme vom Start der verpatzten Aufnahme bis zum sauberen Neustart schneiden.)
3. Genehmigte Schnitte anwenden
node .claude/skills/cut-mistakes/scripts/apply-cuts.mjs \
<silence-transcript.json> --cuts approved-cuts.json \
--video video-projects/<slug>/assets/edited-silenced.mp4 \
--output video-projects/<slug>/assets/edited-clean.mp4 --apply
Schreibt die EDL, ein neu getimtes <stem>.mistakes-transcript.json (füttert den Motion-Graphics-Agenten + validate-beat-sync.mjs), ein Entscheidungsprotokoll und – mit --apply – das geschnittene Video (ffmpeg trim+concat, A/V synchron). Lasse --apply für einen Probelauf weg.
Ergebnis überprüfen
Verwende das gemeinsame Überprüfungswerkzeug, um die Schnitte visuell zu prüfen und Grenzen stichprobenartig zu kontrollieren:
node scripts/build-edl-review.mjs <stem>.mistakes-edl.json \
--original video-projects/<slug>/assets/edited-silenced.mp4 \
--edited video-projects/<slug>/assets/edited-clean.mp4 \
--output video-projects/<slug>/assets/mistakes-review.html
npx serve . -p 8080 -n
Hinweise
- Eine sehr saubere Aufnahme kann wenige oder gar keine echten Schnitte ergeben – das ist ein gültiges Ergebnis; schneide nicht natürliche Sprache, um eine Quote zu erreichen.
- Schnitte zwischen zwei gesprochenen Wörtern sind harte Übergänge. Sie sind normalerweise sauber für Stottern/Fehlstarts; bei engerem Audio kann später ein 20-30ms-Fade hinzugefügt werden.
- Übergib das
mistakes-transcript.json+ das saubere Video an Agent 3 (Motion Graphics / gestaffelte Karten).