Communitygithub.com

real-sound

Erstelle professionelle, realistische Soundtracks für programmatisch erstellte Videos und Animationen aus echten lizenzierten Aufnahmen – für Launch-Filme, Produkt- und Feature-Videos, UI-Walkthroughs, Logo-Stings, Erklärvideos, Trailer und animierte Kurzfilme.

Was ist real-sound?

Dieses Skill verwandelt dich in den Sound Supervisor eines Films, den du nicht hören kannst – und baut den Soundtrack ausschließlich aus echten, professionell aufgenommenen oder produzierten Audiodateien (einem lizenzierten Musikstück, echtem Foley und SFX, echten Atmosphären). Der gesamte Prozess ist deterministisch und messbar: Code wählt, trimmt, platziert, pegelt, pannt, entzerrt, pitcht durch Resampling, zeitdehnt die Musik und mastered – Code erzeugt niemals einen Ton. Der Anwendungsfall ist ein professioneller Launch-Film, bei dem jedes Geräusch eine sichtbare Ursache hat, eine einheitliche Materialpalette verwendet wird, der Drop der Musik auf die Helden-Enthüllung fällt und das Ganze mit einem aufgelösten Logo und einer Stille am Ende abschließt.

Funktioniert mit~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/SonuSV7719/ai-video-studio/tree/master/skills/real-sound

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht real-sound?

Du bist der Sound Supervisor eines Films, den du nicht hören kannst. Der Soundtrack wird AUSSCHLIESSLICH aus echten, professionell aufgenommenen oder produzierten Audiodateien (einem lizenzierten Musikstück, echtem Foley und SFX, echten Atmosphären) gebaut, die durch einen deterministischen Mixer auf die Cue-Frames des Bildes platziert, gemessen statt gehört, durch fünf Linsen kritisiert, von einem Agenten korrigiert, gemastert, mit Credits versehen und gemuxt werden. Code wählt aus, trimmt, platziert, pegelt, pannt, entzerrt, pitcht durch Resampling, zeitdehnt die Musik und mastered; Code erzeugt niemals einen Ton.

Die Messlatte ist ein professioneller Launch-Film: Jedes Geräusch wird durch etwas auf dem Bildschirm verursacht, eine einheitliche Materialpalette, der Drop der Musik auf die Helden-Enthüllung, Zurückhaltung ansonsten, ein aufgelöstes Logo, ein Auslaufen in die Stille. Regeln: references/sound-design.md (und das Repo earshot mit docs/launch-video-sound.md für das gebündelte Referenzprofil: 7 professionelle Launch-Filme).

<skill> im Folgenden ist dieser Ordner. Python: {{PY}} im Folgenden (und in jeder Prompt-Vorlage) ist EIN Interpreter, der numpy, scipy, soundfile und das earshot-Paket hat: die venv des earshot-Repos (<earshot repo>/.venv/Scripts/python.exe unter Windows, <earshot repo>/.venv/bin/python anderswo) oder jedes Python, bei dem <python> -c "import earshot" funktioniert. Ein bloßes python unter Windows ist oft der Microsoft Store-Stub und schlägt fehl. Ersetze den vollständigen Pfad für {{PY}}, wenn du einen Befehl ausführst oder eine Eingabeaufforderung an einen Sub-Agenten übergibst (die anderen Platzhalter sind in references/process.md aufgelistet). Führe die Skripte mit -I aus (isoliert: heruntergeladene Dateien können niemals ein Modul überschatten); jedes Skript außer scripts/licences.py (das Lizenzrichtlinienmodul, das von audit.py und credits.py importiert wird) gibt --help aus.

Der Prozess

SchrittWerAusgabeTor
0. Cue-ListeLeadout/cues.jsonSync-Frames, berechnet aus dem Bild-Code
1. BriefingLeadaudio/SOUND_BRIEF.mdJeder Cue hat einen Sound-Bedarf (oder "nichts")
2. Beschaffung (pro Kategorie, parallel)Beschaffungs-Agentenaudio/assets/<cat>/, ManifesteJede Datei gemessen + earshot realness "echt oder professionell produziert" auf dem verwendeten Trim (ein "unsicher" nur mit seinem Nachweis und einer erneuten Überprüfung auf Trim-Ebene, die im Manifest festgehalten wird)
3. LizenzprüfungPrüferaudit.jsonaudit.py exit 0 für das, was der Film verwendet
4. MusikschnittMusik-Supervisoraudio/design/music.jsonGrid verifiziert, Drop auf der Enthüllung, Splices sauber
5. Design-Fragmente (pro Kategorie, parallel)Designeraudio/design/<cat>.jsonSolo-Render + QA sauber
6. IntegrationLeadSoundtrack, Stems, Bericht, TraceMaster-Gate (+-0.5 LU, <= -1.5 dBTP)
7. QA + HörenLeadout/qa/qa.json, earshot Timeline / Sheet / CritiqueKein QA-Fehler
8. Kritik (5 Linsen, parallel, schreibgeschützt)KritikerRangfolge der Probleme + getestete Operationen
9. KorrekturEIN KorrektorDas DesignQA: Keine Regression
10. Master, Credits, MuxLeadCREDITS.md, Beschreibungstext, der FilmCredits exit 0, Lag 0

Die Details jedes Schritts, die Rollen und was jeder Kritiker misst: references/process.md. Jede Sub-Agenten-Eingabeaufforderung ist ein fertig auszufüllendes Briefing in templates/prompts/.

0. Cue-Liste aus dem Bild

Jedes Geräusch sitzt auf einem Frame, den der Bild-Code berechnet: einem Kontakt-Frame, einem 50%-Frame eines Pop-ins, einem Geschwindigkeitspeak einer Bewegung, dem Treffer eines Risers, dem Frame, an dem das Wortmarke lesbar wird. Cinetic-Filme haben bereits out/cues.json (export-cues.ts); für alles andere schreibe dasselbe Format (templates/cues.json) aus den Timeline-Konstanten. Stabile IDs (act:thing:n) ermöglichen es Regeln, Aktionsklassen mit einem Regex zu verknüpfen.

1. Briefing

Kopiere templates/SOUND_BRIEF.md nach audio/SOUND_BRIEF.md: Konzept (Palette, der Bogen der Musik, Orte), die Bildkarte (jeder Cue: was auf dem Bildschirm zu sehen ist, der Sound-Bedarf), Atmosphärenzonen, erlaubte Lizenzen, Qualitätsniveau, Dateilayout. Es ist der Vertrag, den jeder Sub-Agent wortwörtlich erhält. Wähle die Zeile der Markenpersönlichkeit aus (references/sound-design.md §3).

2. Beschaffung, pro Kategorie (templates/prompts/sourcing.md)

Typische Kategorien für Launch-Filme: ui (Klicks, Taps, Toggles, Pops), keyboard, motion (Whooshes, Riser), impacts (Enthüllungshits, das Logo), ambience, music; ein Charakterfilm fügt foley, seine Welten, seine Objekte hinzu. Freesound (CC0 / CC BY; HQ-Vorschau cdn.freesound.org/previews/<id//1000>/<id>_<user>-hq.ogg), Mixkit (WAV assets.mixkit.co/active_storage/sfx/<id>/<id>.wav), Komponistenbibliotheken für Musik; Lizenzen werden auf der eigenen Seite jedes Objekts gelesen (references/licences.md); höfliche sequentielle Downloads; jede Datei gemessen:

{{PY}} -I <skill>/scripts/analyze.py audio/assets/ui/* --png out/audio-review/ui --out out/audio-review/ui.json
{{PY}} -m earshot realness audio/assets/ui/                  # Tor: "echt oder professionell produziert" (Trims erneut prüfen: --start --end)
{{PY}} -m earshot rank "ein einzelner knackiger Trackpad-Klick" audio/assets/ui/ --top 5
{{PY}} -m earshot match <file> "ein weicher Korken-Pop" --alts "ein Schuss" "ein Ballon-Platzen"
{{PY}} -m earshot find <long take> "ein einzelner mechanischer Tastendruck" --top 8   # Trims; überspringe alle, die als Kopf-Schnitt / End-Schnitt markiert sind

3. Lizenzprüfung (templates/prompts/licence_audit.md)

Der Prüfer zeichnet auf, was jede Seite sagt (licence_seen, licence_confirmed) in audio/assets/manifests/audit.json; das Skript überprüft den Rest (Klassifizierung, IDs vs. URLs, Dateien dekodieren, Dauern, Credit-Zeilen):

{{PY}} -I <skill>/scripts/audit.py --root . --report out/qa/mix_report.json [--fetch]

Erlaubt: CC0, Public Domain, CC BY 2.0-4.0, Mixkit Free-Lizenzen, Pixabay. Verboten: NC, ND, SA, Sampling+, persönlich, benutzerdefiniert, umstritten. Nicht verifiziert = blockiert.

4. Musik (templates/prompts/music_supervisor.md)

Ein lizenzierter Track, dessen Struktur zum Film passt. Schreibe den Bogen pro Filmtakt (templates/arc.json), dann:

{{PY}} -I <skill>/scripts/arrange.py audio/assets/music/<track> --film-bpm 120 --arc audio/arc.json --out out/audio-review/music/arrange.json

Es passt das Tempo an, verschiebt das Grid auf die gemessenen Angriffe (Beat-Tracker haben eine Verzögerung von 20-50 ms), schlägt die Downbeat-Phase vor, verankert den Drop-Filmtakt auf dem stärksten Drop-Kandidaten und entwirft Segmente an den Taktlinien (ein bereit zum Einfügen music-Block). Der Downbeat ist die Schwachstelle: Wenn er eine NIEDRIGE Konfidenz ausgibt (bei einem der beiden Tracks, mit denen er getestet wurde, lag er einen halben Takt daneben), entscheide zwischen den beiden ausgegebenen Grids anhand der ersten Note, der Abschnittseingänge und der Akkordwechsel in der Takttabelle und führe erneut mit --phase N aus. Dann nach Gehör bearbeiten: Die Harmonie setzt sich über jeden Splice fort, der Downbeat des Drops auf dem Helden-Frame, der letzte Akkord auf dem Logo, tail_fade bis zum Ende.

5. Design-Fragmente, pro Kategorie (templates/prompts/designer.md)

audio/design/<category>.json mit Samples (Trims), Slices (schneide einen Take mit vielen Hits in einzelne Hits), Pools, Regeln für Cue-Ereignisse, freie Platzierungen, Ambience-Betten, den Musik-Block. Referenz mit jedem Schlüssel und echten Beispielen: references/design-format.md; ein vollständiges Launch-Video-Beispiel: templates/design_fragment.json (seine Dateinamen sind Platzhalter wie mk-0000_mouse-click.wav: es rendert, sobald jeder durch eine echte Aufnahme aus deinen Manifests ersetzt wird; mix.py stoppt und listet die fehlenden Dateien bis dahin auf). Überprüfe allein:

{{PY}} -I <skill>/scripts/mix.py --only ui --dump out/audio-review/ui/dump        # jeden Trim als WAV + Zahlen
{{PY}} -I <skill>/scripts/mix.py --only ui --trace out/audio-review/ui/adds.json --out out/audio-review/ui/solo.wav
{{PY}} -I <skill>/scripts/qa.py --only ui --report out/audio-review/ui/solo_report.json --stems out/audio-review/ui/solo_stems --trace out/audio-review/ui/adds.json --out out/audio-review/ui/qa.json
{{PY}} -m earshot timeline out/audio-review/ui/solo.wav --cues out/cues.json

6-7. Integration, QA, Hören

{{PY}} -I <skill>/scripts/mix.py --root . --design audio/sounddesign.json --cues out/cues.json --trace out/qa/adds.json
{{PY}} -I <skill>/scripts/qa.py --layers                      # Klicks, Kanten, Hörbarkeit, Härte, Lautstärke, Abdeckung, Sync, Dichte
{{PY}} -I <skill>/scripts/qa.py --listen --realness --video out/film.mp4   # + earshot timeline, sheet, critique, realness
{{PY}} -m earshot critique out/audio/soundtrack.wav --video out/film.mp4    # Scorecard vs. professionelle Launch-Filme
{{PY}} -m earshot sheet out/audio/soundtrack.wav -o out/qa/sheet.png --video out/film.mp4 --cues out/qa/cues_sounded.json

qa.py verknüpft jeden Befund mit der Regel und dem Sample, das ihn verursacht hat (der Trace). Es ist ohne die Modelle verwendbar; --listen fügt das Transkript von earshot (out/qa/qa_timeline.txt), das kommentierte Sheet und die Scorecard hinzu.

8-9. Kritik und Korrektur

Fünf schreibgeschützte Kritiker parallel, jeder mit seiner eigenen Eingabeaufforderung: critic_sync.md, critic_edges.md, critic_masking.md, critic_tonal.md, critic_director.md. Jeder testet seine Korrekturen als Variante in seinem eigenen Ordner:

{{PY}} -I <skill>/scripts/variant.py --ops out/audio-review/critic_tonal/ops_v1.json --out out/audio-review/critic_tonal/v1 --render --qa

und gibt eine Rangfolge der Probleme mit genauen Operationen und Vorher -> Nachher-Zahlen zurück. Dann führt EIN Korrektor (fixer.md) die Operationen zusammen, löst Konflikte, überprüft die zusammengeführte Variante gegen das vorherige qa.json und wendet sie an (variant.py --apply, Originale werden gesichert). Bestätigte absichtliche Ausnahmen werden mit "qa_ok": "<Grund>" vermerkt. Mindestens eine Runde; eine zweite, wenn sich die Pegel oder der Musikschnitt geändert haben.

10. Master, Credits, Mux

mix.py mastered mit master.py (-14 LUFS, True-Peak-Limiter, Ceiling 0,77 linear; Gate +-0,5 LU und <= -1,5 dBTP).

{{PY}} -I <skill>/scripts/audit.py --root . --report out/qa/mix_report.json            # exit 0
{{PY}} -I <skill>/scripts/credits.py --root . --design audio/sounddesign.json --audit audio/assets/manifests/audit.json
node <skill>/scripts/mux.mjs --video out/film.mp4 --audio out/audio/soundtrack.wav --out out/film_sound.mp4
{{PY}} -m earshot timeline out/film_sound.mp4 --cues out/qa/cues_sounded.json          # die fertige Datei, gehört

CREDITS.md + out/CREDITS_description.txt (einfügen in die Videobeschreibung: CC BY-Credits sind dort erforderlich). mux.mjs stream-copiert das Bild und schneidet das AAC-Audio auf die Dauer des Bildes zu.

Launch-Videos: Die Soundkarte

BildSoundSitzt auf
Cursor bewegt sich, hover, scrollt, Fortschritt, Streaming-Textnichts (die Musik trägt es)
Klick / TapEINE echte Klick-Stimme für den Film, Drücken + Loslassen ~85 ms später, gleicher Pegel jedes Malder Drück-Frame
Tippeneine echte Tastatur, gesliced; <= ~12 Tasten/s, ein Wort pro über ~25 Zeichen/s; Musik sinkt um 6-10 dBjeder ertönte Buchstabe
Eine Karte / ein Chip / ein Abzeichen erscheintein weicher echter Pop oder Tick, steigend über eine Sequenz50 % seiner Reise
Umschalter, Festlegung, der Endwert eines Zählersein echter Riegel / Klick / knackiger Tickder Kontakt-/Festlegungs-Frame
Kamera-Skalierungsbewegung, Peitsche, Zoom (~2 pro Film)ein echtes Schwirren, Höhepunkt am GeschwindigkeitspeakGeschwindigkeitspeak
Harte Schnittenichts
Spannung bis zur Enthüllungder Aufbau der Musik oder ein echter Riser, der 30-250 ms vor dem Treffer endetder Treffer
Helden-Enthüllungder DROP der Musik (bearbeite den Track so, dass sein Downbeat hier landet) + optional ein echter Impactder Frame
Logo / LockupMusik stoppt an einer Taktlinie oder filtert herunter, 0,2-0,7 s fast Stille, EINE weiche Note in der Tonart, Auslaufen in Stilleder Frame, an dem das Wortmarke lesbar ist

Pegel: -14 LUFS, True Peak <= -1 dBTP nach AAC, LRA 5-9 LU, der lauteste Moment am Drop (30-60 % drin), das Logo 8-20 dB darunter, etwa 5 entworfene Effekte pro 10 s, Effekte trocken und zentriert. Gemessene Normen und die billigen Verräter: references/sound-design.md.

Werkzeuge

BedarfWerkzeug
Aufnahmen messen (Format, Grundrauschen, Bandbreite, Einsätze, Spitzen, Tempo / Tonart) + Spektrogramm-PNGsscripts/analyze.py
Aufnahmen hören: echt vs. synthetisiert, wie es klingt, beste Übereinstimmung, bester Take innerhalb einer langen Datei{{PY}} -m earshot realness / describe / match / rank / find / compare / ab
Pegel / Helligkeit / Einsätze einer Datei oder eines Abschnitts (--start --end){{PY}} -m earshot measure (Python: from earshot import api; api.measure(...), ebenso api.find, api.realness ...)
Lizenz- + Dateiprüfungscripts/audit.py (Richtlinie in scripts/licences.py)
Musik-Grid, Downbeats, Taktlinien-Bearbeitungsentwurfscripts/arrange.py
Design rendern (+ Solo --only, --dump Trims, --trace für QA)scripts/mix.py
Master und Lautstärkemessungscripts/master.py (--measure)
Objektive QA verknüpft mit Platzierungenscripts/qa.py (--layers, --listen, --realness)
Kritiker-Varianten, das Anwenden des Korrektorsscripts/variant.py
Credits für CREDITS.md und die Videobeschreibungscripts/credits.py
Soundtrack auf das Bild legenscripts/mux.mjs
Einen gesamten Mix / Film hören; kommentiertes Bild; Launch-Film-Scorecard{{PY}} -m earshot timeline / sheet / critique

Dateien

audio/SOUND_BRIEF.md                 der Vertrag              (templates/SOUND_BRIEF.md)
audio/assets/<category>/             heruntergeladene Aufnahmen     (<source>-<id>_<slug>.<ext>; niemals committen oder veröffentlichen)
audio/assets/manifests/<cat>.json    ein Eintrag pro Aufnahme   (templates/manifest_entry.json)
audio/assets/manifests/audit.json    Lizenzprüfung             (templates/audit_entry.json)
audio/sounddesign.json               oberste Ebene: includes, buses, master   (templates/sounddesign.json)
audio/design/<category>.json         ein Fragment pro Designer             (templates/design_fragment.json)
out/cues.json                        die Cue-Ereignisse des Bildes              (templates/cues.json)
out/audio/soundtrack.wav, stems/     der Master und seine Stems
out/qa/                              mix_report.json, adds.json, cues_sounded.json, master.json, qa.json
out/audio-review/                    Arbeit pro Kategorie und pro Kritiker, Varianten, Dumps (der Prüfpfad)
CREDITS.md, out/CREDITS_description.txt

Referenzen

  • references/process.md: Rollen, Schritte, was jeder Kritiker misst, Schwellenwerte und deren Quellen …

[truncated for translation]

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Verwandte Skills