Loading...
Loading...
Build premium, realistic soundtracks for code-made videos and animations from real licensed recordings - launch films, product and feature videos, UI walkthroughs, logo stings, explainers, trailers and animated shorts made with Remotion, HyperFrames, three.js, GSAP or any renderer. Use this whenever a video or animation needs sound design, SFX, foley, ambience, music, a soundtrack, a score, UI click / whoosh / riser / impact / logo-sting sounds, or a music edit to picture; whenever a synthesized or "random" sounding soundtrack must be replaced with real recordings; or when the user asks to source, license, credit, mix, master, critique or mux audio for a film. It covers cue lists from the picture, sourcing from Freesound / Mixkit / composer libraries with licence checks, a music edit at bar lines, a JSON sound design rendered by a deterministic mixer, measured QA (clicks, masking, harshness, sync, loudness) plus earshot listening, a multi-agent critique, mastering, credits and the mux.
npx skill4agent add leonxlnx/earshot real-soundreferences/sound-design.mddocs/launch-video-sound.md<skill>{{PY}}<earshot repo>/.venv/Scripts/python.exe<earshot repo>/.venv/bin/python<python> -c "import earshot"python{{PY}}references/process.md-Iscripts/licences.py--help| step | who | output | gate |
|---|---|---|---|
| 0. cue list | lead | | sync frames computed from the picture code |
| 1. brief | lead | | every cue has a sound need (or "nothing") |
| 2. sourcing (per category, parallel) | sourcing agents | | each file measured + earshot |
| 3. licence audit | auditor | | |
| 4. music edit | music supervisor | | grid verified, drop on the reveal, splices clean |
| 5. design fragments (per category, parallel) | designers | | solo render + qa clean |
| 6. integrate | lead | soundtrack, stems, report, trace | master gate (+-0.5 LU, <= -1.5 dBTP) |
| 7. QA + listening | lead | | no qa fail |
| 8. critique (5 lenses, parallel, read-only) | critics | ranked issues + tested operations | |
| 9. fix | ONE fixer | the design | qa: no regression |
| 10. master, credits, mux | lead | | credits exit 0, lag 0 |
references/process.mdtemplates/prompts/out/cues.jsonexport-cues.tstemplates/cues.jsonact:thing:ntemplates/SOUND_BRIEF.mdaudio/SOUND_BRIEF.mdreferences/sound-design.mdtemplates/prompts/sourcing.mduikeyboardmotionimpactsambiencemusicfoleycdn.freesound.org/previews/<id//1000>/<id>_<user>-hq.oggassets.mixkit.co/active_storage/sfx/<id>/<id>.wavreferences/licences.md{{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/ # gate: "real or pro-produced" (re-check trims: --start --end)
{{PY}} -m earshot rank "a single crisp trackpad click" audio/assets/ui/ --top 5
{{PY}} -m earshot match <file> "a soft cork pop" --alts "a gunshot" "a balloon burst"
{{PY}} -m earshot find <long take> "a single mechanical key press" --top 8 # trims; skip any marked head cut / tail cuttemplates/prompts/licence_audit.mdlicence_seenlicence_confirmedaudio/assets/manifests/audit.json{{PY}} -I <skill>/scripts/audit.py --root . --report out/qa/mix_report.json [--fetch]templates/prompts/music_supervisor.mdtemplates/arc.json{{PY}} -I <skill>/scripts/arrange.py audio/assets/music/<track> --film-bpm 120 --arc audio/arc.json --out out/audio-review/music/arrange.jsonmusic--phase Ntail_fadetemplates/prompts/designer.mdaudio/design/<category>.jsonreferences/design-format.mdtemplates/design_fragment.jsonmk-0000_mouse-click.wav{{PY}} -I <skill>/scripts/mix.py --only ui --dump out/audio-review/ui/dump # every trim as WAV + numbers
{{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{{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 # clicks, edges, audibility, harshness, loudness, coverage, sync, density
{{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 professional launch films
{{PY}} -m earshot sheet out/audio/soundtrack.wav -o out/qa/sheet.png --video out/film.mp4 --cues out/qa/cues_sounded.jsonqa.py--listenout/qa/qa_timeline.txtcritic_sync.mdcritic_edges.mdcritic_masking.mdcritic_tonal.mdcritic_director.md{{PY}} -I <skill>/scripts/variant.py --ops out/audio-review/critic_tonal/ops_v1.json --out out/audio-review/critic_tonal/v1 --render --qafixer.mdvariant.py --apply"qa_ok": "<reason>"mix.pymaster.py{{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 # the finished file, heardCREDITS.mdout/CREDITS_description.txtmux.mjs| picture | sound | sits on |
|---|---|---|
| cursor moves, hovers, scrolls, progress, streaming text | nothing (the music carries it) | |
| click / tap | ONE real click voice for the film, press + release ~85 ms later, same level every time | the press frame |
| typing | one real keyboard, sliced; <= ~12 keys/s, one per word above ~25 chars/s; music dips 6-10 dB | each sounded character |
| a card / chip / badge appears | a soft real pop or tick, climbing across a run | 50 % of its travel |
| toggle, lock-in, a counter's final value | a real latch / click / crisp tick | the contact / lock frame |
| camera-scale move, whip, zoom (~2 per film) | a real swish, apex on the velocity peak | velocity peak |
| hard cuts | nothing | |
| tension into the reveal | the music's build, or a real riser ending 30-250 ms before the hit | the hit |
| hero reveal | the music's DROP (edit the track so its downbeat lands here) + optionally one real impact | the frame |
| logo / lockup | music stops on a bar line or filters down, 0.2-0.7 s near-silence, ONE soft note in key, tail to silence | the frame the wordmark reads |
references/sound-design.md| need | tool |
|---|---|
| measure recordings (format, floor, bandwidth, onsets, spikes, tempo / key) + spectrogram PNGs | |
| hear recordings: real vs synthesized, what it sounds like, best match, best take inside a long file | |
levels / brightness / onsets of one file or a stretch of it ( | |
| licence + file audit | |
| music grid, downbeats, bar-line edit draft | |
render the design (+ solo | |
| master and loudness measurement | |
| objective QA tied to placements | |
| critic variants, the fixer's apply | |
| credits for CREDITS.md and the video description | |
| put the soundtrack on the picture | |
| listen to a whole mix / film; annotated picture; launch-film scorecard | |
audio/SOUND_BRIEF.md the contract (templates/SOUND_BRIEF.md)
audio/assets/<category>/ downloaded recordings (<source>-<id>_<slug>.<ext>; never commit or publish them)
audio/assets/manifests/<cat>.json one entry per recording (templates/manifest_entry.json)
audio/assets/manifests/audit.json licence audit (templates/audit_entry.json)
audio/sounddesign.json top level: includes, buses, master (templates/sounddesign.json)
audio/design/<category>.json one fragment per designer (templates/design_fragment.json)
out/cues.json the picture's cue events (templates/cues.json)
out/audio/soundtrack.wav, stems/ the master and its stems
out/qa/ mix_report.json, adds.json, cues_sounded.json, master.json, qa.json
out/audio-review/ per-category and per-critic work, variants, dumps (the audit trail)
CREDITS.md, out/CREDITS_description.txtreferences/process.mdreferences/design-format.mdreferences/sound-design.mdreferences/licences.mdreferences/troubleshooting.mddocs/INTEGRATION.md