用途:为 JavaScript 动画影片编写专属声音。资料称影片的声音应为该片而写——拥有自己的乐器、节奏与和声,从零用 Web Audio 合成,写在 window.SCORE = ac => { … } 中,可使用振荡器、噪声、滤波器、包络、延迟等。鼓、律动或音乐盒底色同样如此编写,不应两部影片因共用模板而听起来一样。templates/groove.js 与 templates/score.js 是两份现成乐谱,仅在用户要求时使用。
主要能力与用法:render.mjs(来自 javascript-animation 技能)用 OfflineAudioContext 离线渲染 window.SCORE,写出 <out>.wav 并混入 MP4;页面实时预览点击时播放同一乐谱。资料建议不要一开始就让用户选音乐来源,交付时用一行说明 AI 生成音乐或个人音轨也可行。音乐跟随画面的做法包括:速度映射,每个场景占整数小节,剪辑点落在强拍;用和声而非音量标记剪辑,每个场景走向属和弦、剪辑落在主和弦,剪辑处响度跳变 +3 到 +5 dB 配和弦变化读作干净剪辑,+7 到 +10 dB 会显得惊吓;剪辑强拍不额外加重音;场景内硬切也写入 window.CUES;让画面有可锁定的节拍;每小节只加入一两层;使用留白。其他来源:AI 生成音乐(如经 OpenRouter 的 Lyria)见 references/ai-music.md,用户自有音轨用 ffmpeg 混入;对不可控音乐要反向处理,让画面跟随音乐,渲染、混入、检查后按报告偏移量调整页面 SCENES 表中的场景边界并重渲染。检查命令:node scripts/sync-check.mjs piece.mp4 --cues-file piece.cues.json,或 node scripts/sync-check.mjs piece.mp4。它会打印每个事件到最近强音频起点的偏移与进入时的响度跳变,偏移超过 ±100 ms 或跳变超过 +6 dB 会失败;开头一秒与结尾淡出跳过;无音频流的视频会被如实报告。
限制:代码合成适合音乐盒、类钢琴拨弦、铺底、铃铛、轻柔打击乐,不适合真实人声、管弦乐与类型化制作,这类应改用 AI 音乐或真实音轨。其他细节暂未提供。