Fehler & Wiederholungen schneiden (Pipeline-Agent 2)
Zweiter Schritt der automatisierten Bearbeitung, ausgeführt nach dem Stille-Schneiden. Entfernt das, was 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 Zeile wurde erneut aufgenommen – der gute Take bleibt, der verpatzte wird entfernt).
Die Entscheidung, was ein Fehler ist, ist Ermessenssache, keine Formel – emphatische Wiederholung („nie, nie“) und rhetorische Verdopplung („das erste Stück ist, ist das…“) sehen mechanisch identisch aus wie ein Stottern. Daher ist dieser Agent standardmäßig prüfungsgesteuert: Er präsentiert Kandidaten mit vollem Kontext; der Agent (und der Benutzer) entscheiden; nur genehmigte Schnitte werden gerendert.
Verwendung
- „Schneide die Fehler“, „entferne Stottern / Wiederholungen“, „räume die Patzer auf“, „behalte den besten Take“, „schneide Fehlstarts“
- Als zweite Stufe des Hauptbearbeitungsworkflows, auf der Ausgabe von Stille-Schneiden.
Der Dreiteilige Ablauf
1. Kandidaten finden (mechanisch)
node .agents/skills/cut-mistakes/scripts/find-cut-candidates.mjs \
<silence-transcript.json> --out-dir video-projects/<slug>/assets
Die Eingabe ist normalerweise die <stem>.silence-transcript.json von Agent 1, sodass die Schnitte auf der bereits stillgelegten Timeline landen. Erzeugt:
<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 (doppelter/fast doppelter Abschnitt via Jaccard-Ähnlichkeit), false_start (kurzer abgebrochener Satz, der neu beginnt).
2. Prüfen (das Tor – ERFORDERLICH)
Lese jeden Kandidaten im Kontext und entscheide behalten oder schneiden. Der mechanische Detektor kann beabsichtigte Betonung/Rhetorik nicht von einem echten Patzer unterscheiden, also vertraue der recommend nicht blind – lies removes + context. Häufige Fehlalarme: emphatische Wiederholung („es ist nie, nie händisch“), Kopula-dann-Frage („das Stück ist, ist das…“), Aufzählungen.
Präsentiere dem Benutzer die Kandidaten mit einer Empfehlung pro Element; 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-/Video-Zeitachse. Du kannst den Bereich eines Kandidaten erweitern – z. B. bei einer Neuaufnahme vom Beginn des verpatzten Takes bis zum sauberen Neustart schneiden.)
3. Genehmigte Schnitte anwenden
node .agents/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 zeitlich angepasstes <stem>.mistakes-transcript.json (für den Motion-Graphics-Agenten + validate-beat-sync.mjs), ein Entscheidungsprotokoll und – mit --apply – das geschnittene Video (ffmpeg trim+concat, A/V synchron). Ohne --apply wird ein Probelauf ausgeführt.
Prüfen des Ergebnisses
Verwende das gemeinsame Prüfwerkzeug, um die Schnitte zu begutachten und die Grenzen zu überprüfen:
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 keine natürliche Sprache, um eine Quote zu erfüllen.
- Schnitte zwischen zwei gesprochenen Wörtern sind harte Übergänge. Sie sind bei Stottern/Fehlstarts normalerweise sauber; für engere Audios kann später eine 20-30 ms Ein-/Ausblendung hinzugefügt werden.
- Gib das
mistakes-transcript.json+ das saubere Video an Agent 3 (Motion Graphics / gestaffelte Karten) weiter.