sfxwright 是做什么的?
结果:每个声音都是 sounds.json 列表中的一行,包含其事件、层次、变体、长度、路线和状态,并且每个文件都记录其来源、模型、提示词、种子、许可证和编辑信息。数字捕捉故障;人耳做最终判断。报告哪些声音还没人听过。
SFX 意味着从该文件夹运行 python scripts/sfx.py(执行它,不要阅读它;sfx_audio.py 和 sfx_synth.py 是其模块)。当某个步骤需要时,阅读一篇参考资料。
步骤 0:新鲜度
读取 evergreen.json。如果设置了 contradiction 或者今天等于或晚于 next_due,用一句话说明,执行任务,然后运行 evergreen-refresh。如果 verify_at_use 为真,则在依赖模型和许可证声明之前重新检查它们。ai-sfx 常青侦察兵在存在时会提供刷新信息。
步骤 1:权利优先
- 来自知名电影或节目,或著名声音标志(光剑、THX Deep Note、NBC 音调、Intel 提示音、MGM 狮吼、Netflix 开场音)的声音:用一句话拒绝复制,并提供一个基于声学特征构建的原创声音。不要将标题或名称放入提示词或文件中:references/rights.md。
- 列表中的
commercial决定了允许哪些来源。如果用户没有说明,则设置为--commercial yes(更严格的解读),并用一句话说明;不要停下来询问。 - 没有已知许可证的文件不能用于商业项目。找到其来源或替换它。切勿猜测许可证。
- 切勿在模型上训练或将其用于训练 Sonniss、BOOM 或 A Sound Effect 文件。
步骤 2:规划
SFX init sounds.json --project NAME --use game --commercial yes,然后每个声音执行 SFX add。电影剪辑、游戏设计或简单描述都归结于此:references/plan.md。对于任何具有轴(表面、力、尺寸)的内容,在提交文件之前运行 SFX plan --axis surface=6 --axis force=3 --variations 4 --budget 100。格式:references/format.md。
步骤 3:选择路线
根据任务、许可证和硬件:references/routes.md。运行 SFX doctor 一次。用一句话说明选择及其原因。安装节点、引擎或大型模型,以及任何付费 API 调用,需要先获得用户的同意;同时使用现有资源。没有可访问的内容不是错误:SFX synth 不需要模型,而 SFX gen --workflow-out 会输出一个工作流。
步骤 4:制作
SFX synth list # 每个配方、其参数和材料
SFX synth footstep --param surface=gravel --takes 6 --out takes/ --name step
SFX gen "heavy wooden crate dropped on concrete, dead room" --seconds 2 --takes 4 --out takes/ --name crate
SFX library found.wav --licence cc0 --library Freesound --title "..." --url ...
SFX register sounds.json crate takes/crate_01.flac
提示词命名来源、材料、空间和时间,而非故事。请求的长度是最大值,因此要预留填充空间。先尝试不同的种子,再更改措词。切勿向模型请求行走周期:制作单步,然后使用 SFX sequence。
步骤 5:编辑
SFX edit(整理、修剪、淡入淡出、增益、峰值、音高、拉伸、反转、卷积、直流偏移)、layer、vary、sequence、loop、place、record-sheet(为带有录音路线的声音做规划)、tone(稳定的轻柔拉伸,可选填充;与 check --tone-match 比较)、pop(在干声上添加或 --verify 头和尾的 2 次爆音)。配方以及每次编辑的成本:references/edit.md。默认情况下,音高变化是变速的;拉伸会产生涂抹效果。编辑会向前传递来源信息,而无衍生作品许可证的来源会拒绝编辑。切勿手动复制或重命名声音:关联文件会留在后面。使用 edit、finish 或 synth --out 写入最终名称。
步骤 6:检查每批
SFX check takes/*.flac --seconds 2 # 每个文件的读数和标记
SFX set takes/step_*.wav # 近似重复、异常值、电平分散度
SFX timing walk.wav # 过于均匀,或单个样本重复
SFX sheet takes/*.wav --out sheet.png # 查看波形
任何变体集始终运行 set。标记意味着需要倾听;它不是判决,干净的结果也不意味着声音是好的。忽略简报中允许的内容(对噼啪声使用 --waive CLICK)。每个数字的含义及其校准依据:references/thresholds.md。
步骤 7:倾听
数字无法判断一个声音是否适合其画面,或者一个集合是否读起来像单个对象。当存在 askwright 页面时,将选中的声音放在页面上,进行电平匹配(SFX review --match)和盲测,并为电影提供画面。否则,提供带标签的文件列表和简单问题。在录音的 heard 字段中记录听到的内容,并将选中的声音标记为 picked: true。
步骤 8:完成并记录
SFX finish in out --dest game-sfx:仅调整增益,最后进行编码。未知的目的地是错误:询问。当存在 musicwright 并且整个混音需要响度目标时,使用 mw.py master。引擎和目的地:references/finish.md。
SFX doc sounds.json --kind cue|impl|credits,然后 SFX ship sounds.json。报告 BLOCKED、CHECK 或 CLEAR 状态及原因、需要署名的内容和商店披露信息。它是一个记录,而非法律建议。
输出
路线、列表路径、每批的标记、听到了什么以及是谁听到的,以及当有任何内容输出时的 ship 答案。
规则
- 切勿将生成的声音称为已录制或无 AI。
ship会列出需要披露的内容。 - 带有音符、调性和节奏的音乐应交给 musicwright;对话及其室内混响应交给 voicewright 或 cinewright。
- 随插件发布的样本必须有明确的权利。
工作时:记录学习内容
如果用户纠正你,错误重复出现,或出现变通方法,将其添加到 LEARNINGS.md。如果它证明规则有误,修复规则,在 CHANGELOG.md 中记录,并在 evergreen.json 中设置 contradiction。
维护
常青单元,层级 fast;状态在 evergreen.json 中。请参阅 MAINTENANCE.md、RESEARCH.md、TESTS.md、evals/。