Communitygithub.com

Geräusche

Findet jeden Schlag in einem stummen oder rohen Schnitt, legt CC0-Effekte auf das genaue Frame und hört nach, bis jeder sitzt.

Was ist Geräusche?

Dieses Skill vertont ein stummes Bild oder einen Schnitt, dessen Effekte zu spät, vergraben oder übersteuert sind. Es markiert die Momente, die einen Ton brauchen, holt CC0-Clips von Openverse, schneidet sie zu und legt sie mit ffmpeg auf das Frame. Ein Nachhören prüft Sync und Pegel, bevor der Ton als fertig gilt. Die Bibliothek braucht kein Konto.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ekcheungAI/foley-skill/tree/HEAD/foley

In Ihrer bevorzugten KI fragen

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

Dokumentation

foley: Soundeffekte, die auf den Frame treffen

Du kannst nicht hören. earshot ist deine Ohren: Sage nie, ein Sound „passt“ oder „ist synchron“, ohne eine earshot-Zahl. SKILL_DIR unten = der Ordner dieses Skills (angezeigt als sein Stammverzeichnis, wenn der Skill geladen wird). Arbeite im Ordner des Videos. Lege alles, was du erstellst, unter foley/ neben dem Video ab.

Voraussetzungen

  • ffmpeg und ffprobe im PATH, Python 3.10+.
  • earshot im PATH: uv tool install "earshot[mcp] @ git+https://github.com/Leonxlnx/earshot" dann earshot doctor --fetch (~1,1 GB Modelle, nur CPU).
  • Internet für Openverse (anonymes Limit: ca. 20 Anfragen pro Minute, 200 pro Tag).

1. Cues finden (schauen, dann messen)

  1. python3 SKILL_DIR/scripts/find_cues.py VIDEO --out foley/cues-candidates.json gibt Bewegungspeaks (Änderung von Frame zu Frame) aus und schreibt Kontaktabzüge nach foley/sheets/.
  2. Lies die Kontaktabzüge. Benenne jeden Moment, der einen Sound benötigt (Schlag, Schritt, Tür, Whoosh bei schneller Drehung, Sturz, Atmosphärenbett) und wähle seinen exakten Frame; nutze die Bewegungspeaks zur Eingrenzung, aber vertraue dem, was du siehst. Überspringe Kontakte, die du nicht wirklich sehen kannst.
  3. Schreibe foley/cues.json: [{"id": "hit1", "t": 0.625, "kind": "hit", "what": "Faust trifft offene Handfläche"}, ...].

2. CC0-Sounds holen

Für jede Art 2–4 Suchwörter: python3 SKILL_DIR/scripts/fetch_cc0.py "Faustschlag Aufprall" foley/sounds/hit --limit 8. Es behält nur license=cc0-Ergebnisse von source=freesound und protokolliert Titel, Urheber, Lizenz und Quellseite in foley/sounds/sources.json. CC0 benötigt keine Nennung, aber sag dem Benutzer, er solle die Quellseite öffnen, wenn die Nutzung kommerziell ist: Openverse garantiert nicht die Genauigkeit der Lizenz.

3. Mit earshot auswählen und trimmen

  • earshot rank "<wie der Moment klingt>" foley/sounds/<kind> --top 3 --out foley/rank-<kind>.json. Beschreibe den Klang, nicht das Bild („ein kurzer, scharfer Schlag einer Faust auf eine offene Handfläche“).
  • earshot find DATEI "<gleiche Wörter>" --kind event --top 3 --out foley/find-<id>.json für One-Shots; --kind texture für ein Atmosphärenbett. Lehne Trims ab, die als Head Cut / Tail Cut markiert sind.
  • Notiere den Sync-Punkt jedes Trims: Bei Schlägen ist es der Attack (Start + ~5 ms); bei Whooshes ist es der lauteste Punkt, nicht der Start.

4. Platzieren

Schreibe foley/plan_v1.json (siehe Kopf von scripts/mix.py) und führe python3 SKILL_DIR/scripts/mix.py foley/plan_v1.json aus. Das Bild wird kopiert, nie neu kodiert.

5. Abhören und korrigieren (der wichtige Teil)

  1. earshot timeline OUT.mp4 --cues "t1,t2,..." --out foley/timeline_v1.json
  2. python3 SKILL_DIR/scripts/check.py foley/timeline_v1.json id1,id2,... foley/check_v1.json Ein Cue besteht, wenn der gehörte Einsatz innerhalb von 40 ms des Frames liegt und mindestens 6 dB über dem Hintergrund liegt.
  3. Korrigiere nur die nicht bestandenen um den gemessenen Betrag:
    • zu spät / zu früh → verschiebe dieses Event um den Offset (Whooshes sind meist zu spät, weil ihr Peak nach dem Start kommt);
    • zu leise (< 6 dB über Hintergrund) → erhöhe es oder senke den Hintergrund;
    • True Peak über −1 dBTP oder Clipping → senke den lautesten Schlag (ein Limiter kann einen Transienten auf den ersten Samples nicht abfangen).
  4. Schreibe plan_v2.json, rendere, höre erneut ab. Wiederhole, bis ALLE BESTEHEN und True Peak ≤ −1 dBTP.
  5. Lautstärke: Eine reine Soundeffektspur ist peakig und misst normalerweise etwa −20 LUFS bei True Peak ≤ −1 dBTP. Das ist erwartet; stelle die endgültige Lautstärke später im Schnitt mit Sprache/Musik ein. Erhöhe hier nicht die Lautstärke.

6. Bericht

Schreibe foley/report.md: jeden Cue (Zeit, Frame, Beschreibung), die verwendete Datei (Titel, Urheber, CC0-Quellseite), den Offset und Pegel des ersten Abhörens, was du geändert hast, und die endgültigen Werte. Sage klar, dass die Prüfungen earshot-Messungen und kein menschliches Hören sind, und schlage vor, dass der Benutzer einmal selbst hört.

Regeln

  • Nur CC0-Sounds, es sei denn, der Benutzer wünscht etwas anderes. Verwende niemals einen Sound ohne seinen sources.json-Eintrag.
  • Erfinde keinen Schlag, den du nicht sehen kannst. Behaupte nicht, dass ein Sound „richtig klingt“; zitiere earshot.
  • Lasse das Originalvideo unberührt; schreibe <name>-sfx.mp4.

Verwandte Skills