配音效(可执行管线)
定位:干活的 skill。规则真源在
remotion-assembly/references/audio.md(响度链/母带/停顿/BGM 裁决),冲突以彼为准。 血泪史(勿重蹈):ffmpeg 白噪声合成 → 否(沙沙廉价感);参考片音轨采样 → 否(去人声后单薄)。正解 = 专业音效库 + 用户试听选定(错题 #21)。
0. 先查定稿库(多数情况到此为止)
public/sfx/ 在役十音色(2026-07-16 试听定库 + 2026-07-21 认可池转正换源,编号/换源记录见 audio.md 规则 8;括号内为 §4 事件位):
glass 证据卡显影(A) / pop chip 轻点(B,已换源 fav20 亮脆 tick,顶替被嫌「咔嚓」的旧件) / tick2(B 变体,fav33——同段 B 位连用防重复感) / pop2 名牌落位软噗(G,已换源 fav14 钝噗带体积) / stamp 盖章重锤(D,全片 ≤1) / rise 数字滚动连滚(C,fav29 重制,BASE_VOL 单独压 0.1) / whoosh 清场软扫(F) / shutter 拍照定格专用 / bright 高亮划线位(fav02 亮叮——基准片全谱唯一亮族的专职声) / lowthud 物理撞入·坠落位(fav13 低频长鸣,入侵拍专用,易过重待段终审校)。旧 pop/pop2 存 spare/prev-*。trans、ding 已于 2026-07-20 用户试听裁定弃用(E 位默认留白,正式补源走 §1-2)。备用件在 public/sfx/spare/。认可池 public/sfx/jy-fav/(2026-07-21 用户剪映收藏 42 段试听板裁定 19 件可用):fav 编号+哈希+档位分组见目录内 SOURCES.md,全部过了用户耳朵——B/G/A/E 位换源补源优先从此池取,角色认领在段终审完成;同片在役音色仍按 A-G 表克制(用户校准:常用音色也就十几个,音效不能喧宾夺主)。
换视频直接沿用此库;只有需要新角色/新质感时才走第 1-3 步。
1. 选源(需要新音效时)
优先级:a. 剪映本地缓存盘库(用户指定首选:~/Library/Containers/com.lemon.lvpro/Data/Movies/JianyingPro/User Data/Cache/music/ 等目录藏有音效库下载缓存,find ... -iname "*.mp3" + ffprobe 时长 ≤5s 筛出音效 + md5 去重;文件哈希命名无标题,靠试听板认领。想扩池:用户在剪映里点听心仪音效即落缓存,重跑盘库脚本即可——这就是「用户扩库」的标准动作)→ b. @remotion/sfx(d.ts 即直链清单;可用件:whip/whoosh/switch/mouse-click/page-turn/ding/shutter-modern)→ c. Mixkit 免费商用(分类页 grep assets.mixkit.co/active_storage/sfx/<id>/<id>-preview.mp3)→ d. Pixabay / kenney.nl CC0 → e. 商用包(Artlist/Epidemic)。
版权注意:剪映素材条款名义上限剪映内使用,国内创作者生态通行做法由用户自行裁量;对外商业分发时优先 b-e。
2. 试听板(新音效上片前必过,不可跳过)
音效质感 AI 零判断力,只能筛频谱硬伤。流程:候选归一 -3dB → 每条配黑底编号名称卡(drawtext)渲成小段 → concat 成一条试听视频交用户 → 用户报编号后才准上片。
拼接铁律(2026-07-16 踩坑):① 每段时长锁死等长——音频 apad=whole_dur=2.1,atrim=0:2.1,视频 -t 2.1,禁用 -shortest(aac priming 使各段时长微差);② 拼接禁用 -c copy,必须整条重编码——否则音画漂移累积,越往后编号和声音对不上(用户实测 40+ 号全乱),用户报的编号全部作废返工。③ 交付前逐段验声(0715-02 事故:4/8 号无声板交给了用户当检测器):拼好的板逐段 ffmpeg -ss <段起> -t <段长> -af volumedetect 验 max_volume,任一段 <-60dB 即无声——先 volumedetect 验该条源文件(防库内坏件,如 rise.wav -91dB),再查拼接命令,修好重拼;禁把无声板交用户。
音色定位一律靠试听板,不靠 AI 猜(0715-02 终审沉淀):给画面事件配哪个音色,由用户过试听板指认——AI 对音色零判断力。0715-02 AI 凭猜给了错音色 2 次,最后靠试听板才定位到 stamp。凡新片新配、或旧库音色与新画面事件对不上号时,先出试听板让用户认领,禁止 AI 直接指派音色上片。
3. 加工入库
- 峰值统一 -3dBFS(
volumedetect测 max →volume=(-3-max)dB),48k 单声道。 - 长素材裁头:impact 类取首 1.0-1.6s + afade out。
- 连滚合成(数字滚动/批量点亮):选定 tick 裁 40ms +
-stream_loop 29+ 音量 rampvolume='0.35+0.65*t/1.2':eval=frame——基准片式「滚动声」本质是 tick 连击不是音调 riser。 - 新角色:
sfx-<片名>.ts的 SfxName 联合类型 + SfxTrack BASE_VOL 同步加。
4. cue 表挂载:A-G 配声语法(2026-07-16 频谱破译 11 锚点定谱 + 2026-07-21 双片全量统计升级〔221 实测事件〕;真源=本节 A-G 表 + audio.md 规则 8,定谱证据:assembly/0715-01/分段工坊/音效设计谱.md + docs/基准片配声谱v2.md)
画面事件 → 音色对号表(逐 beat 查表取声,禁止自由发挥):
| 事件 | 音色 | 库文件 |
|---|---|---|
| A 证据卡/截图显影 | 玻璃提示音(短、有音高、界面感;基准片实测显影声偏钝 bright -13.5——勿选最亮档,亮叮备选 fav02/25/19 上片前须校亮度) | glass.wav(剪映 J08,试听板 106 号) |
| B chip/小件入场、点阵逐格点亮 | 短亮 tick;批量时 0.15-0.3s 连发 | pop.wav(2026-07-21 已换源 fav20);同段连用换 tick2.wav 防重复感 |
| C 数字滚动 | tick 滚奏铺满整个滚动期;落定不配重击(基准片语法) | rise.wav(1.5s 版) |
| D 印章/判词砸落 | 短闷击,结实不轰 | stamp.wav(觉得重换 spare/1143) |
| E 章节转场/接管进入 | 长气流 riser,只在章级 | |
| F 清场/退场 | 衰减软扫,比入场轻一档(vol ≤0.5;「轻一档」是本风格克制裁定——基准片实测退场不比入场轻,差异在衰减尾略长,选件重「有衰减尾」甚于音量低) | whoosh.wav |
| G 名牌/徽章/chip 落位 | 软 pop | pop2.wav(2026-07-21 已换源 fav14 钝噗)或 spare/interface-1109 |
扩展事件位(2026-07-18 泛化压测补,就近归族不加新音源):hero 大字/结论 lockup 落地 → D 轻档(vol ≤0.5,不占 Stamp 重锤配额);时间线卡/图表载体进场 → A;时间线节点点亮、数据条生长、连线 draw-on → B(批量按连发规矩);判词小标注/ZeroTag 落位 → B;高亮划线/划重点 → bright.wav(专职亮叮,基准片全谱唯一亮族 +3.0);物理撞入/坠落/挤出 → lowthud.wav(轻档 vol 酌减,易过重);punch-in 变焦 → 中等力度短声(D 轻档或 lowthud 轻档);micro 章降档——分页式切出的 <8s 小节,E 转场只在整组首末各一发,节间用 B 顶替(防转场声连发腻;E 位现暂用 whoosh,见 §0)。
认可池对号(2026-07-21 特征实测分族;主选已于同日转正落库,见 §0;听感终校在段终审):已转正——pop←fav20、pop2←fav14、tick2←fav33、bright←fav02、lowthud←fav13。仍在池备选:B 备 fav27/24、G 备 fav11/06、A 备 fav25/19(亮叮,若 bright 过亮降档用)、F 备 fav16(气声极轻)、D 轻档备 fav05、物理备 fav08、E 位候选 fav17/00(默认仍留白)。段终审嫌哪个换哪个,1 分钟回池换源。完整特征表在 jy-fav/SOURCES.md。
选声先问语义家族(2026-07-21 定,防「哪个好听挑哪个」):亮叮=划重点/高亮强调,观众该看这里(基准片实测唯一亮族是高亮划线 +3.0;证据卡显影实测偏钝 -13.5 归钝短族,配 glass 中档);干嗒=小件就位/逐项点亮(推进感);软噗=身份/结论落定(份量感);低频=物理动作撞/坠/挤(因果感);气声=离场(收拾感)。画面事件属于哪个语义家族,就从哪个家族取声——家族对不上宁可不响。
三条元规则(比音色更重要,v6 翻车根因):① 音色成套——全片一族 UI 系声音,禁止摄影系/办公系/大片系混搭;② 音量克制——没有一发盖人声,靠密度不靠响度(基准片双片实测全片 4-5s/发;「2-3s 一发」是密集段节拍不是全片均值,见配声谱v2);③ 一事一声——不叠双音,同拍两个事件错开 ≥0.1s。
hook / 开场配声通则(问⑩「开场配不配音效」的正条):开场不是「配不配声」的特例,走的还是「主元素配声 + A-G 查表」通则——hook 主视觉该出声就出:打字大字=逐字 tick(B)、hook 重锤数字=C 滚动、证据卡显影=A、章首/接管进入=E。被否决的只是「无视觉锚点的装饰性起手音」(whoosh/沙沙开场、为烘托气氛而配的空拍音)——它不对应任何画面事件,属元规则①②之外的纯噪声。判据:开场每一发声必须挂在一个正在落地的主元素上;挂不上就不配,不为「开头得有声」硬塞。
已否决:开场 whoosh 沙沙(装饰性起手,见上通则)、数字落定重击、重锤满片(旧线 ≤2 处/片,2026-07-21 起收紧为咔嚓类全片 ≤1,硬线见 §4.4;基准片双片实测盖章 1/2 处,音色画像=全谱最钝 bright -18.4+最重 rise 至 30dB,「闷不轰」实锤)、BGM(基准片实测有:连续低频床、头中尾恒定、估相对人声 ≤-15dB——无 BGM 是用户裁定的本风格差异非基准片语法,翻案时起点参考 -15dB 恒定垫底)、trans 章节 riser 与 ding 收尾(2026-07-20 试听裁定弃用,见 §0)。
4.4 全片音效审计闸(0715-02 终审沉淀:挂完 cue 必跑,超线回改再渲)
- 密度:硬下限全片 ≥2.5s/发(事故:1.95s/发被终审打回「太吵」);目标带 3.5-5s/发(基准片双片实测 v5=5.0/v6=4.0;0715-02 砍到 3.05s 仍偏密,非终点)。留白也是语法:连续 20-30s 无 cue 属正常(实测最大留白 28.7s),干口播段禁补声凑密度;密度靠 30s 窗对比做波浪(密窗 9-14 发 vs 疏窗 2-3 发),不匀铺。覆盖判据优先于密度均值(2026-07-21 0721-01 终审):定稿 42 发 3.02s/发(低于旧目标带下沿)用户仍指「不少 MG 缺音效」——密度均值达标≠覆盖达标;审计以「每个 MG 主元素落地有声,或显式留白理由(纯口播/接管进入/语义家族对不上)」为准,目标带 3.5-5 降为防吵参考线,覆盖需要时低于 3.5 不回改(0721-01 时在役仅 7 音色是覆盖上限主因;扩库已落,见下方张力条)。
- 单音色占比 ≤35%(事故:pop 114/220=52%,听感「快门咔嚓连拍」——短 tick 类连发即咔嚓感来源)。基准片干嗒族实测恰 35%(78/221),此线与实测重合,硬线不放宽。
- 批量点亮默认「整组首记一发」;0.15-0.3s 连发只用于 ≤4 件的语义 stagger,覆盖 §4 B 位旧「批量连发」默认。
- BASE_VOL 基准 ≈0.25(0.2-0.3),重锤上限 0.55——用户 2026-07-21 裁定「音效基本音量都要 -15dB 左右」:入库峰值 -3dBFS × 0.25 ≈ 有效峰值 -15dBFS(覆盖 2026-07-20 的 0.3-0.55;再往前 0.8-1.0 是被裁「太大」的旧版,勿回退)。
- stamp 盖章音慎用(0715-02 终审沉淀):用户把密集 stamp 听成「拍照咔嚓」——判词/型名/绿章不必每个都配 stamp,靠视觉留白代替;全片 stamp(含重锤)建议 ≤ 个位数。这与「重锤 ≤2 处/片」叠加:重锤是 stamp 里的强档子集,先卡重锤 ≤2,再卡 stamp 音色总数 ≤ 个位数。
- 咔嚓类音色全片 ≤1(用户 2026-07-21 0721-01 裁定,收紧上条 stamp≤个位数):用户对咔嚓(stamp/shutter)听感极敏感,密集判词咔嚓 = 拍照连拍、刺耳;全片只留最高潮 1 处重锤 stamp,其余判词/结论落定改软音色(pop2 软噗 / rise 生长),别每个判词都盖章。
- 标志性音色(rise 生长音)同样克制、更防局部扎堆(0721-01 教训):rise 全片 ≤4-5 处且禁 30s 窗内 ≥2 发(0721-01 首版 rise 10 处、111-122s 扎堆 4 个,被用户判「同一音效反复出现」——单音色 22% 没超 35% 线仍被嫌多,局部扎堆比全片占比更致命);相邻生长动画只挑最标志的 1 拍配 rise,其余留白或改 pop。
- 连续 tick 类音色(rise)BASE_VOL 单独压更低:rise 是 ~1.2s 连续 tick,累积响度远高于单发 pop/pop2,峰值同为 -3dB 时听感仍更「大」;0721-01 用户裁定 rise 单独压到 0.1(低于常规 0.25 一档)——连续/持续类音色一律比单发档再低一档。
- MG 配声覆盖率 vs 音色库大小的张力(0721-01 未尽,待扩库):用户要「每个 MG 都有声」但库仅 7 音色,硬补覆盖 = 反复用同几个音色 → 又吵又重复(正是咔嚓/rise 被嫌多的根源)。覆盖率与「不吵不重复」在小库下是矛盾的;根治 = 扩库。2026-07-21 已落:认可池转正 3 新角色(tick2/bright/lowthud)+ B/G 换源,在役十音色(§0);还嫌单调再从池里提(19 件已过用户耳朵,SOURCES.md 对号表)或用户再收藏扩池。
- 审计动作:
grep -c数 cue 总数与逐音色分布,任一超线先砍批量位、再压占比;stamp 音色单独计一次,超个位数即回改。
4.5 自动化闭环(用户裁定:以后不再逐版调音)
用户只在两个点介入,其余全自动:
- 一次性定库(已在途):盘库/选源 → 试听总板 → 用户报编号 → 按 A-G 语法认领角色 →
public/sfx/永久库定稿。此后换视频不再选音效。 - 段终审:听段成片整体,报时间点即换(回库/spare 换源 1 分钟出新版)。段终审成片一律带音效交付——cue 自动挂表不依赖视觉先定稿,禁出无音效中间版再重渲(0715-02 教训:三段渲两遍空耗一轮渲染)。
中间零人工:装配每段时按「组件类型 → 事件类型 → A-G 查表」自动派 cue——Chip/点阵格=B、QuoteDoc/ShotCard 显影=A、Stamp=D、BigNumber 滚动=C、Takeover/章首=E、Exit 清场=F、名牌/徽章=G;cue
at直接取元素 enterAt 换算秒。cue 草稿已脚本化:node scripts/beat-to-cues.mjs <片名>从装配方案表机械生成sfx-<片名>.ts草稿(内置 §4.4 预检报告,超线标红不自删),音效员只校不编;脚本内映射表是本节的抄录,规则变更以本 SKILL 为准。禁止为单段临时找新音效(缺角色才走 §1-2 流程补库)。
5. 定量验收(段渲后必跑)
- 每个 cue 点
ffmpeg -ss <t> -t 0.5 -af volumedetect全频段峰应显著高于邻近纯人声窗;亮质感件另测highpass=f=8000:≥ 人声齿音基线 +6dB(该阈值 2026-07-20 起待重标定——BASE_VOL 降档后以逐 cue 可听可辨+用户终审为准,勿为凑 dB 调回音量,见 audio.md 规则 1)。 - 可听事件计数:
highpass=f=12000,silencedetect=noise=-25dB事件数 ≈ cue 数。 - 废峰对照:人声爆破与 BGM 鼓点也会成峰(双片破译 360 候选剔废 39%),响指/拍手等人身收音可达 rise 40dB——听 cue 点验收先排除人身收音,勿当音效对标。
- 最终判据 = 用户耳朵:段成片交用户听,报时间点即回试听板/备用件换源,1 分钟出新版。