本文へ移動
cccskills
無料GitHub で公開

real-sound

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.

インストール方法を見る

含まれるファイル(33)

  • SKILL.md15.1 KB
  • references/design-format.md16.3 KB
  • references/licences.md7.2 KB
  • references/process.md13.7 KB
  • references/sound-design.md10.8 KB
  • references/troubleshooting.md6.1 KB
  • scripts/analyze.py13.4 KB
  • scripts/arrange.py20.9 KB
  • scripts/audit.py23.3 KB
  • scripts/credits.py11.7 KB
  • scripts/licences.py6.8 KB
  • scripts/master.py14.8 KB
  • scripts/mix.py33.3 KB
  • scripts/mux.mjs4.4 KB
  • scripts/qa.py53.5 KB
  • scripts/variant.py15.7 KB
  • templates/arc.json736 B
  • templates/audit_entry.json1.5 KB
  • templates/cues.json2.7 KB
  • templates/design_fragment.json7.9 KB
  • templates/manifest_entry.json2.7 KB
  • templates/prompts/critic_director.md2.4 KB
  • templates/prompts/critic_edges.md2.2 KB
  • templates/prompts/critic_masking.md2.3 KB
  • templates/prompts/critic_sync.md2.6 KB
  • templates/prompts/critic_tonal.md2.4 KB
  • templates/prompts/designer.md3.5 KB
  • templates/prompts/fixer.md3.4 KB
  • templates/prompts/licence_audit.md2.8 KB
  • templates/prompts/music_supervisor.md3.8 KB
  • templates/prompts/sourcing.md4.5 KB
  • templates/SOUND_BRIEF.md6.2 KB
  • templates/sounddesign.json1.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

real-sound

You are the sound supervisor of a film you cannot hear. The soundtrack is built ONLY from real, professionally recorded or produced audio (one licensed music track, real foley and SFX, real ambiences), placed on the picture's cue frames by a deterministic mixer, measured instead of listened to, critiqued through five lenses, fixed by one agent, mastered, credited and muxed. Code selects, trims, places, levels, pans, EQs, pitches by resampling, time-stretches the music and masters; code never generates a sound.

The bar is a professional launch film: every sound caused by something on screen, one material palette, the music's drop on the hero reveal, restraint everywhere else, a resolved logo, a tail into silence. Rules: references/sound-design.md (and the earshot repo's docs/launch-video-sound.md for the user's reference profile).

<skill> below is this folder. Python: {{PY}} below (and in every prompt template) is ONE interpreter that has numpy, scipy, soundfile and the earshot package: the earshot repo's venv (<earshot repo>/.venv/Scripts/python.exe on Windows, <earshot repo>/.venv/bin/python elsewhere), or any Python where <python> -c "import earshot" works. Bare python on Windows is often the Microsoft Store stub and fails. Substitute the full path for {{PY}} when you run a command or hand a prompt to a sub-agent (the other placeholders are listed in references/process.md). Run the scripts with -I (isolated: downloaded files can never shadow a module); every script except scripts/licences.py (the licence policy module that audit.py and credits.py import) prints --help.

The process

stepwhooutputgate
0. cue listleadout/cues.jsonsync frames computed from the picture code
1. briefleadaudio/SOUND_BRIEF.mdevery cue has a sound need (or "nothing")
2. sourcing (per category, parallel)sourcing agentsaudio/assets/<cat>/, manifestseach file measured + earshot realness "real or pro-produced" on the trim used (an "uncertain" only with its evidence and a trim-level re-check written in the manifest)
3. licence auditauditoraudit.jsonaudit.py exit 0 for what the film uses
4. music editmusic supervisoraudio/design/music.jsongrid verified, drop on the reveal, splices clean
5. design fragments (per category, parallel)designersaudio/design/<cat>.jsonsolo render + qa clean
6. integrateleadsoundtrack, stems, report, tracemaster gate (+-0.5 LU, <= -1.5 dBTP)
7. QA + listeningleadout/qa/qa.json, earshot timeline / sheet / critiqueno qa fail
8. critique (5 lenses, parallel, read-only)criticsranked issues + tested operations
9. fixONE fixerthe designqa: no regression
10. master, credits, muxleadCREDITS.md, description text, the filmcredits exit 0, lag 0

The detail of every step, the roles and what each critic measures: references/process.md. Every sub-agent prompt is a ready-to-fill brief in templates/prompts/.

0. Cue list from the picture

Every sound sits on a frame the picture code computes: a contact frame, a pop-in's 50 % frame, a move's velocity peak, a riser's hit, the frame the wordmark becomes readable. Cinetic films already have out/cues.json (export-cues.ts); for anything else write the same format (templates/cues.json) from the timeline constants. Stable ids (act:thing:n) let rules match classes of action with a regex.

1. Brief

Copy templates/SOUND_BRIEF.md to audio/SOUND_BRIEF.md: concept (palette, the music's arc, places), the picture map (every cue: what is on screen, the sound need), ambience zones, allowed licences, quality bar, file layout. It is the contract every sub-agent gets verbatim. Pick the brand's personality row (references/sound-design.md §3).

2. Sourcing, per category (templates/prompts/sourcing.md)

Typical launch-film categories: ui (clicks, taps, toggles, pops), keyboard, motion (whooshes, risers), impacts (reveal hits, the logo), ambience, music; a character film adds foley, its worlds, its objects. Freesound (CC0 / CC BY; HQ preview cdn.freesound.org/previews/<id//1000>/<id>_<user>-hq.ogg), Mixkit (WAV assets.mixkit.co/active_storage/sfx/<id>/<id>.wav), composer libraries for music; licences read on each item's own page (references/licences.md); polite sequential downloads; every file measured:

{{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 cut

3. Licence audit (templates/prompts/licence_audit.md)

The auditor records what each page says (licence_seen, licence_confirmed) in audio/assets/manifests/audit.json; the script checks the rest (classification, ids vs URLs, files decode, durations, credit lines):

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

Allowed: CC0, public domain, CC BY 2.0-4.0, Mixkit free licences, Pixabay. Forbidden: NC, ND, SA, Sampling+, personal, custom, disputed. Unverified = blocked.

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

One licensed track whose structure fits the film. Write the arc per film bar (templates/arc.json), then:

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

It fits the tempo, moves the grid onto the measured attacks (beat trackers lag 20-50 ms), proposes the downbeat phase, anchors the drop film bar on the strongest drop candidate and drafts segments at bar lines (a ready-to-paste music block). The downbeat is the weak spot: when it prints LOW confidence (on one of the two tracks it was tested on it was half a bar off), decide between the two printed grids from the first note, the section entrances and the chord changes in the bar table, and re-run with --phase N. Then edit by judgement: harmony continues across each splice, the drop's downbeat on the hero frame, the final chord on the logo, tail_fade into the end.

5. Design fragments, per category (templates/prompts/designer.md)

audio/design/<category>.json with samples (trims), slices (cut a take of many hits into single hits), pools, rules on cue events, free placements, ambience beds, the music block. Reference with every key and real examples: references/design-format.md; a complete launch-video example: templates/design_fragment.json (its file names are placeholders such as mk-0000_mouse-click.wav: it renders once each one is replaced by a real recording from your manifests; mix.py stops and lists the missing files until then). Verify alone:

{{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

6-7. Integrate, QA, listen

{{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.json

qa.py ties every finding to the rule and sample that caused it (the trace). It is usable without the models; --listen adds earshot's transcript (out/qa/qa_timeline.txt), annotated sheet and scorecard.

8-9. Critique and fix

Five read-only critics in parallel, each with its prompt: critic_sync.md, critic_edges.md, critic_masking.md, critic_tonal.md, critic_director.md. Each tests its fixes as a variant in its own folder:

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

and returns ranked issues with exact operations and before -> after numbers. Then ONE fixer (fixer.md) merges the operations, resolves conflicts, checks the merged variant against the previous qa.json, and applies it (variant.py --apply, originals backed up). Acknowledge confirmed deliberate exceptions with "qa_ok": "<reason>". At least one round; a second when levels or the music edit changed.

10. Master, credits, mux

mix.py masters with master.py (-14 LUFS, true-peak limiter, ceiling 0.77 linear; gate +-0.5 LU and <= -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          # the finished file, heard

CREDITS.md + out/CREDITS_description.txt (paste into the video description: CC BY credits are required there). mux.mjs stream-copies the picture and cuts the AAC audio to the picture's duration.

Launch videos: the sound map

picturesoundsits on
cursor moves, hovers, scrolls, progress, streaming textnothing (the music carries it)
click / tapONE real click voice for the film, press + release ~85 ms later, same level every timethe press frame
typingone real keyboard, sliced; <= ~12 keys/s, one per word above ~25 chars/s; music dips 6-10 dBeach sounded character
a card / chip / badge appearsa soft real pop or tick, climbing across a run50 % of its travel
toggle, lock-in, a counter's final valuea real latch / click / crisp tickthe contact / lock frame
camera-scale move, whip, zoom (~2 per film)a real swish, apex on the velocity peakvelocity peak
hard cutsnothing
tension into the revealthe music's build, or a real riser ending 30-250 ms before the hitthe hit
hero revealthe music's DROP (edit the track so its downbeat lands here) + optionally one real impactthe frame
logo / lockupmusic stops on a bar line or filters down, 0.2-0.7 s near-silence, ONE soft note in key, tail to silencethe frame the wordmark reads

Levels: -14 LUFS, true peak <= -1 dBTP after AAC, LRA 5-9 LU, the loudest moment on the drop (30-60 % in), the logo 8-20 dB under it, about 5 designed effects per 10 s, effects dry and centred. Measured norms and the cheap tells: references/sound-design.md.

Tools

needtool
measure recordings (format, floor, bandwidth, onsets, spikes, tempo / key) + spectrogram PNGsscripts/analyze.py
hear recordings: real vs synthesized, what it sounds like, best match, best take inside a long file{{PY}} -m earshot realness / describe / match / rank / find / compare / ab
levels / brightness / onsets of one file or a stretch of it (--start --end){{PY}} -m earshot measure (Python: from earshot import api; api.measure(...), likewise api.find, api.realness ...)
licence + file auditscripts/audit.py (policy in scripts/licences.py)
music grid, downbeats, bar-line edit draftscripts/arrange.py
render the design (+ solo --only, --dump trims, --trace for QA)scripts/mix.py
master and loudness measurementscripts/master.py (--measure)
objective QA tied to placementsscripts/qa.py (--layers, --listen, --realness)
critic variants, the fixer's applyscripts/variant.py
credits for CREDITS.md and the video descriptionscripts/credits.py
put the soundtrack on the picturescripts/mux.mjs
listen to a whole mix / film; annotated picture; launch-film scorecard{{PY}} -m earshot timeline / sheet / critique

Files

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.txt

References

  • references/process.md: roles, steps, what each critic measures, thresholds and their sources, variants, rounds.
  • references/design-format.md: every design key, defaults, processing order, outputs, real examples.
  • references/sound-design.md: launch-video and film sound rules, levels, sync, variation, tuning, selection, cheap tells.
  • references/licences.md: allowed / forbidden, verification per site, attribution, Content ID.
  • references/troubleshooting.md: errors and fixes.
  • Cinetic films: docs/INTEGRATION.md in the earshot repo (how the cue file, timeline and review loop connect).

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

earshot

無料

Listen with earshot whenever you must judge, choose, trim, verify or compare sound you cannot hear - picking a sound effect, music or ambience from candidates, finding the cleanest moment in a recording, checking that audio is real and not code-synthesized, reviewing a soundtrack or a video's audio (what happens when, sync to picture, loudness, mix), A/B-ing a mix change, or making a sound in code and improving it by listening (earshot forge). Use it before telling anyone how audio sounds.

日本語の概要は準備中です。原文の説明を表示しています。

Leonxlnx/earshot442026年10月16日 更新

Leonxlnx のスキルをすべて見る

このスキルの問題を報告する