Files
AIGame/Doc/Design/Sound/MixReview/Production.md
T

29 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 技能/UI 混音试听收尾(2026-10-22)
已生成五份可试听的离线混音,使用正式入库音频、Unity Pipeline 读取的真实音源参数及第20关 T2 权威轨迹。**这是离线重建,不是 Unity 实录或微信设备录音;主观听审尚待确认。**
| 试听文件 | 内容与时间定位 | 长度 | 4倍过采样峰值 |
| --- | --- | --- | --- |
| [menu_ui.wav](menu_ui.wav) | 《微风小镇》+10个v3 UI音效;1.0秒起每1.4秒依次 Click/Confirm/Back/Open/Close/Tab/Claim/Deny/Toggle/Notify | 17秒 | -4.31 dBFS |
| [skill_bank.wav](skill_bank.wav) | 0.75秒起每1.6秒依次 FireCharge/FireLaunch/FireHit/RockHit/Shield/Heal/Slow/Lightning/EnemyHit,保持正式单音增益 | 16秒 | -30.29 dBFS |
| [battle_1x.wav](battle_1x.wav) | 第20关T2轨迹前23.5秒,技能+敌人反馈;tick200时模拟UI开关音(1×为10.5秒)。菜单BGM按现有战斗规则暂停 | 26秒 | -9.47 dBFS |
| [battle_2x.wav](battle_2x.wav) | 同一轨迹双速,原音高,5.5秒模拟UI开关音;技能与敌人池抢占、同cast去重及敌人75ms同音保护 | 26秒 | -9.47 dBFS |
| [overlap_stress.wav](overlap_stress.wav) | 1~4.75秒每0.25秒叠加9种技能、5种敌人攻击和1种UI音效;人为压力样例 | 8秒 | -3.47 dBFS |
输出为48kHz/PCM16/立体声。对应 `*_float.wav` 保留未截幅浮点母带,逐文件JSON包含事件时刻、声道池、增益及源音频SHA256。`validation.json` 汇总PCM哈希、样本峰值、4倍过采样峰值、RMS和越界样本数。五份越界样本数均为0,未加归一化或限幅器;这个结果只代表所列样例,不是任意输入或设备的零削波保证。
## 混音关注点
- 正式技能音源每路0.0375(0.3÷8),敌人池预算0.7/单路上限0.4,UI为0.8,菜单BGM为1.0。当前技能单音峰值约-30dBFS,应重点听治疗、护盾、减速在敌人连续攻击中是否被遮盖;本轮未擅自改变正式增益。
- 对比 `menu_ui` 的 Claim/Deny/Toggle 与 `battle_2x`,确认UI提示清晰但不过分突出;密集叠加检查刺耳、疲劳与抢占尾音。
- `skill_bank` 与前一首的听感响度不同,这是正式参数的实际比例,不能把逐文件归一化后的播放用作混音判断。
- 音色喜好、遮蔽感和舒适度仍需人工试听;微信真机延迟、帧耗、内存和输出设备差异未在本轮验收。
## 方法与边界
入口 `python Tools/build_audio_mix_review.py`。输入参数回执 `unity_snapshot.json` 来自 `ReviewAudioMix.Snapshot`,通过Pipeline读取持久化Prefab;脚本只读正式资源和既有轨迹,不改服务器、账号、声音文件、Prefab或运行时代码。战斗离线重建遵循 `PrototypeBattle.Trace` 的命中映射以及 `PrototypeFlow.DrainBattleFeedback` 的敌人先于技能队列顺序;省略普通受击重复声音,重用8+8音源,技能按cast去重。没有模拟真实帧抖动、播放器过期事件或音频驱动延迟,不能替代实机同步测试。
曾尝试通过 `UnityEngine.AudioRenderer` 导出实录,但调用超时且Pipeline停止响应,没有产出可用实录。已移除录音入口,关闭本轮临时Play并重新打开原项目;启动前Boot无脏内容,恢复回执 `unity_recovery.json` 确认Boot无脏内容、非Play、无临时对象,当前音乐与音效开关均开启。原音效开关值只保存在被中断的内存任务中,重启后无法重新核验此前偏好;不声称该偏好已逐值还原。失败尝试不作为验收证据。API用途参考[Unity AudioRenderer官方文档](https://docs.unity.cn/2022.1/Documentation/ScriptReference/AudioRenderer.html)。
`python Tools/verify_partner_skills.py` 与 `python Tools/validate_skill_runtime.py` 通过:9/9音效与源/请求/成品哈希、25技能、10伙伴、5敌人和20关正式契约一致。TangoFlux来源声音沿用现有许可记录,本轮没有变更授权结论。未构建或发布Player。