real-sound

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

real-sound

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 bundled reference profile: 7 professional launch films).
<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
.
你担任一部自己无法听到的影片的 sound supervisor。Soundtrack 完全由真实、由专业录制或制作的音频构成(一首已授权音乐、真实 foley 和 SFX、真实 ambience),由确定性 mixer 按画面的 cue frames 放置;以量化测量而非仅靠聆听来判断,再从五个视角接受 critique,由一个 Agent 修复,最后完成 mastering、credits 和 mux。代码负责选择、裁剪、放置、调整电平、调整声像、执行 EQ、通过 resampling 调整 pitch、对音乐进行 time-stretch,并完成 mastering;代码绝不生成声音。
标准是一条专业 launch film:画面中每个动作引发的声音都应存在,整片采用统一的材质 palette,music 的 drop 落在 hero reveal,其他地方保持克制,logo 完整收束,并以尾音自然进入静音。规则:
references/sound-design.md
(对于内置的 reference profile,还包括 earshot repo 的
docs/launch-video-sound.md
:7 条专业 launch film)。
下文的
<skill>
指当前文件夹。Python: 下文的
{{PY}}
(以及每个 prompt template 中)指同一个 interpreter,其中安装了 numpy、scipy、soundfile 和 earshot package:即 earshot repo 的 venv(Windows 上为
<earshot repo>/.venv/Scripts/python.exe
,其他系统为
<earshot repo>/.venv/bin/python
),或任何执行
<python> -c "import earshot"
都能成功导入 earshot 的 Python。Windows 上直接使用
python
往往命中 Microsoft Store stub 并失败。运行命令或将 prompt 交给 sub-agent 时,务必把
{{PY}}
替换为完整路径(其他 placeholder 列于
references/process.md
)。使用
-I
运行脚本(isolated:下载的文件绝不能 shadow module);除
scripts/licences.py
(由 audit.py 和 credits.py 导入的 licence policy module)外,每个脚本都会打印
--help
。

The process

流程

stepwhooutputgate
0. cue listlead
out/cues.json
sync frames computed from the picture code
1. brieflead
audio/SOUND_BRIEF.md
every cue has a sound need (or "nothing")
2. sourcing (per category, parallel)sourcing agents
audio/assets/<cat>/
, manifests
each 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 auditauditor
audit.json
audit.py
exit 0 for what the film uses
4. music editmusic supervisor
audio/design/music.json
grid verified, drop on the reveal, splices clean
5. design fragments (per category, parallel)designers
audio/design/<cat>.json
solo render + qa clean
6. integrateleadsoundtrack, stems, report, tracemaster gate (+-0.5 LU, <= -1.5 dBTP)
7. QA + listeninglead
out/qa/qa.json
, earshot timeline / sheet / critique
no qa fail
8. critique (5 lenses, parallel, read-only)criticsranked issues + tested operations
9. fixONE fixerthe designqa: no regression
10. master, credits, muxlead
CREDITS.md
, description text, the film
credits 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/
.
stepwhooutputgate
0. cue list主理人
out/cues.json
根据画面代码计算的 sync frames
1. brief主理人
audio/SOUND_BRIEF.md
每个 cue 都有声音需求(或写明“nothing”)
2. sourcing(按类别并行)采购 Agents
audio/assets/<cat>/
、manifests
每个文件都经过测量,且在所用 trim 上通过 earshot
realness
“real or pro-produced”检查(只有在 manifest 中附有证据并完成 trim-level re-check 时,才可标为“uncertain”)
3. licence audit审计 Agent
audit.json
对影片所用内容,
audit.py
exit 0
4. music edit音乐指导
audio/design/music.json
grid 已验证,drop 对齐 reveal,splices 干净
5. design fragments(按类别并行)设计 Agents
audio/design/<cat>.json
solo render 和 qa 均无问题
6. integrate主理人soundtrack、stems、report、tracemaster gate(+-0.5 LU,<= -1.5 dBTP)
7. QA + listening主理人
out/qa/qa.json
、earshot timeline / sheet / critique
无 qa fail
8. critique(5 个视角,并行、只读)评审 Agents按优先级排序的问题和经过测试的操作
9. fix唯一修复 Agentdesignqa:无 regression
10. master、credits、mux主理人
CREDITS.md
、description text、影片
credits exit 0,lag 0
每个步骤的详细信息、角色分工以及每个 critic 的衡量内容见
references/process.md
。每个 sub-agent prompt 都是
templates/prompts/
中可直接填写的 brief。

0. Cue list from the picture

0. 从画面生成 Cue list

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.
每个声音都落在由画面代码计算出的帧上:contact frame、pop-in 完成 50% 的帧、move 的 velocity peak、riser 的 hit,或 wordmark 变得清晰可读的帧。Cinetic films 已有
out/cues.json
(
export-cues.ts
);其他项目应根据 timeline constants 按相同格式(
templates/cues.json
)编写。稳定的 id(
act:thing:n
)让 rules 可以通过 regex 匹配某类 action。

1. Brief

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).
将
templates/SOUND_BRIEF.md
复制到
audio/SOUND_BRIEF.md
:其中包括 concept(palette、music 的 arc、场景)、picture map(每个 cue:画面上有什么、声音需求)、ambience zones、允许的 licences、质量标准和文件布局。它是每个 sub-agent 都会逐字收到的 contract。选择品牌 personality 所在的行(
references/sound-design.md
§3)。

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

2. 按类别采购(
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
典型 launch-film 类别:
ui
(clicks、taps、toggles、pops)、
keyboard
、
motion
(whooshes、risers)、
impacts
(reveal hits、logo)、
ambience
、
music
;character film 还要加入 foley、其 worlds 和 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 用于 music;licences 必须在每个素材自己的页面上读取(
references/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 cut

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

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.
auditor 在
audio/assets/manifests/audit.json
中记录每个页面所写的内容(
licence_seen
、
licence_confirmed
);script 检查其余部分(classification、ids 与 URLs 的对应关系、文件能否解码、durations、credit lines):
{{PY}} -I <skill>/scripts/audit.py --root . --report out/qa/mix_report.json [--fetch]
允许:CC0、public domain、CC BY 2.0-4.0、Mixkit free licences、Pixabay。禁止:NC、ND、SA、Sampling+、personal、custom、disputed。Unverified = blocked(未验证即视为禁止)。

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

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.
选择一首结构适合影片的 licensed track。按每个 film bar 编写 arc(
templates/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.json
该脚本会匹配 tempo,把 grid 对齐到实测的 attacks(beat trackers 会滞后 20-50 ms),给出 downbeat phase 建议,把 drop 的 film bar 对齐到最强的 drop candidate,并在 bar lines 处起草 segments(生成可直接粘贴的
music
block)。downbeat 是薄弱环节:当输出 LOW confidence 时(在测试过的两条 track 中,有一条相差 half a bar),根据第一个 note、section entrances 和 bar table 中的 chord changes,在输出的两个 grids 之间做判断,然后以
--phase N
重新运行。随后凭判断编辑:每个 splice 处的 harmony 延续,drop 的 downbeat 落在 hero frame,最终 chord 落在 logo,使用
tail_fade
淡出至片尾。

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

5. 按类别设计 fragments(
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
audio/design/<category>.json
包含 samples(trims)、slices(把包含多次 hits 的 take 切成单独 hits)、pools、cue events 的 rules、free placements、ambience beds 和 music block。每个 key 及真实示例见
references/design-format.md
;另有完整的 launch-video 示例:
templates/design_fragment.json
(其中文件名是
mk-0000_mouse-click.wav
等 placeholder:只有在每个文件都替换为 manifests 中的真实录音后才会渲染;在此之前,mix.py 会停止并列出缺失文件)。
单独验证:
{{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

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.
{{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
会把每个 finding 与导致它的 rule 和 sample 关联起来(通过 trace)。它无需 models 即可使用;
--listen
会额外增加 earshot 的 transcript(
out/qa/qa_timeline.txt
)、annotated sheet 和 scorecard。

8-9. Critique and fix

8-9. Critique 和 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.
五个 read-only critics 并行工作,每个都有自己的 prompt:
critic_sync.md
、
critic_edges.md
、
critic_masking.md
、
critic_tonal.md
、
critic_director.md
。每个 critic 都会在自己的文件夹中把修复方案测试为一个 variant:
{{PY}} -I <skill>/scripts/variant.py --ops out/audio-review/critic_tonal/ops_v1.json --out out/audio-review/critic_tonal/v1 --render --qa
并返回按优先级排序的问题、精确操作以及 before -> after 数值。随后由 ONE fixer(
fixer.md
)合并操作、解决冲突、将合并后的 variant 与上一版
qa.json
对比检查,并应用它(
variant.py --apply
,原文件会被备份)。对于已确认的有意例外,使用
"qa_ok": "<reason>"
标明原因。至少进行一轮;如果 levels 或 music edit 发生变化,则进行第二轮。

10. Master, credits, mux

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.
mix.py
使用
master.py
完成 mastering(-14 LUFS、true-peak limiter、ceiling 0.77 linear;gate 为 +-0.5 LU 且 <= -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
(粘贴到视频 description:CC BY credits 必须写在那里)。
mux.mjs
对画面执行 stream-copy,并将 AAC audio 裁切到画面 duration。

Launch videos: the sound map

Launch videos: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
.
picturesoundsits on
cursor 移动、悬停、滚动、进度变化、streaming text无(由 music 承载)
click / tap全片使用同一个真实 click voice;press 后约 85 ms 出现 release sound,且每次电平一致press frame
typing使用一个真实 keyboard 并切片;速度不超过约 12 keys/s 时,每个实际发声的 character 都配一个声音;速度超过约 25 chars/s 时,每个 word 只配一个声音;music 降低 6-10 dB每个实际发声的 character
card / chip / badge 出现柔和的真实 pop 或 tick;连续出现时音高逐渐上行位移的 50%
toggle、lock-in、counter 的最终值真实 latch / click / crisp tickcontact / lock frame
camera-scale move、whip、zoom(约每片 2 次)真实 swish,顶点对齐 velocity peakvelocity peak
hard cuts无
进入 reveal 前的 tensionmusic 的 build,或真实 riser 在 hit 前 30-250 ms 结束hit
hero revealmusic 的 DROP(编辑 track,使 downbeat 落在此处)+可选的一记真实 impact对应帧
logo / lockupmusic 在 bar line 停止或 filter down;保持 0.2-0.7 s near-silence;只保留 ONE 与 key 相同的柔和 note;tail 融入静音wordmark 可读的帧
电平:-14 LUFS;AAC 后 true peak <= -1 dBTP;LRA 5-9 LU;全片最响的瞬间是 drop(位于影片 30%-60% 处);logo 比它低 8-20 dB;每 10 s 约设计 5 个 effects;effects 保持 dry 并居中。量化标准和常见廉价感破绽见
references/sound-design.md
。

Tools

Tools

needtool
measure recordings (format, floor, bandwidth, onsets, spikes, tempo / key) + spectrogram PNGs
scripts/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 audit
scripts/audit.py
(policy in
scripts/licences.py
)
music grid, downbeats, bar-line edit draft
scripts/arrange.py
render the design (+ solo
--only
,
--dump
trims,
--trace
for QA)
scripts/mix.py
master and loudness measurement
scripts/master.py
(
--measure
)
objective QA tied to placements
scripts/qa.py
(
--layers
,
--listen
,
--realness
)
critic variants, the fixer's apply
scripts/variant.py
credits for CREDITS.md and the video description
scripts/credits.py
put the soundtrack on the picture
scripts/mux.mjs
listen to a whole mix / film; annotated picture; launch-film scorecard
{{PY}} -m earshot timeline / sheet / critique
needtool
测量录音(格式、floor、bandwidth、onsets、spikes、tempo / key)+ spectrogram PNG
scripts/analyze.py
试听录音:real 还是 synthesized、听起来像什么、最佳 match、长文件中的最佳 take
{{PY}} -m earshot realness / describe / match / rank / find / compare / ab
测量单个文件或一段内容的 levels / brightness / onsets(
--start --end
)
{{PY}} -m earshot measure
(Python:
from earshot import api; api.measure(...)
,以及
api.find
、
api.realness
等)
licence + file audit
scripts/audit.py
(policy 位于
scripts/licences.py
)
music grid、downbeats、bar-line edit draft
scripts/arrange.py
渲染 design(+ solo
--only
、
--dump
trims、用于 QA 的
--trace
)
scripts/mix.py
master 和 loudness measurement
scripts/master.py
(
--measure
)
与 placements 关联的客观 QA
scripts/qa.py
(
--layers
、
--listen
、
--realness
)
critic variants、fixer 的 apply
scripts/variant.py
为 CREDITS.md 和视频 description 生成 credits
scripts/credits.py
将 soundtrack 放到画面上
scripts/mux.mjs
试听完整 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
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

  • 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).
  • references/process.md
    :角色、步骤、每个 critic 的衡量内容、thresholds 及其来源、variants、rounds。
  • references/design-format.md
    :所有 design keys、defaults、processing order、outputs 和真实示例。
  • references/sound-design.md
    :launch-video 和 film sound rules、levels、sync、variation、tuning、selection、cheap tells。
  • references/licences.md
    :允许 / 禁止的 licences、按站点验证、attribution、Content ID。
  • references/troubleshooting.md
    :错误及修复方法。
  • Cinetic films:earshot repo 中的
    docs/INTEGRATION.md
    (cue file、timeline 和 review loop 如何连接)。