Files

42 lines
4.9 KiB
Markdown
Raw Permalink 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.
# 主界面轻柔配乐:微风小镇
2026-10-20,根据用户“类似宫崎骏电影配乐的风格,更轻柔一些”的反馈生成。用户随后确认“这首音乐可以,就用这首吧”,现正式选作主界面背景音乐;《糖果营地》原版作为历史候选保留。取手绘动画电影里微风、原野、小镇和温暖童话的氛围,以原创旋律创作,不引用已有电影主题。
编曲提示以柔和钢琴为主,木管偶尔呼应、少量持续弦乐和竖琴,旋律舒展、音符稀疏、和声变化缓慢,弱化木琴和拨弦节奏,去掉鼓与明显打击乐。完整提示词见 `prompt.txt` 和 `generation.json`,有无人声及最终听感以人工试听为准。
## 生成与成品
依 `D:/UD/AI/XModel/DGX音乐_AI调用指南.md` 调用DGXA音乐服务:`acestep-v15-xl-sft`、50步、CFG 7、LM思考开启、单首、空歌词,参考音频留空。未指定数字BPM和时长,保持BPM null、时长-1。服务返回种子 `2085836397`,规划120 BPM、E major、4拍、87秒;这些是LM规划值,未进行人工节拍确认。
- 原曲:`MeadowBreeze_MainMenu_Source.mp3`,87秒、48000 Hz、立体声、MP3 128 kbps。
- 循环候选:`AIClient/Assets/Bundles/Sound/BGM/MeadowBreeze_MainMenu_Loop.ogg`,84秒、48000 Hz、立体声、Vorbis质量5,1,408,223字节。
- 原始服务回执:`server_metadata.json`;加工与校验:`generation.json`;Unity回执:`unity_validation.json`。
- 任务ID:`9ae35ea3603e459daf1273c5f04f5fdf`,完整队列记录留在 `Tools/output/main_menu_music_soft/`,仅提交一次生成。
原曲按规划小节裁至86秒,进行2秒(一个规划小节)首尾等功率交叠,旋转到连续波形位置,输出84秒OGG。按RMS目标-24 dBFS降低音量,保留原有动态;成品实测RMS -24.003 dBFS、峰值-9.168 dBFS。前一版OGG的RMS约-20.90 dBFS,便于以较低平均音量作菜单背景。完整解码正常、采样有限、无削波;边界采样差0.002665,低于内部采样差99百分位0.01494。技术检查不等同于音乐衔接的人工试听。
## 复现入口
生成脚本支持独立输出目录与提示词文件;已有任务回执时恢复原任务,不重复提交:
```powershell
python Tools/generate_main_menu_music.py --output Tools/output/main_menu_music_soft --prompt-file Doc/Design/Sound/MainMenuSoft/prompt.txt
python Tools/prepare_main_menu_music.py --work Tools/output/main_menu_music_soft --design Doc/Design/Sound/MainMenuSoft --stem MeadowBreeze_MainMenu --title 'Meadow Breeze - Main Menu' --crossfade-bars 1 --target-rms-dbfs -24
```
上述生成目录已有完成结果,脚本会拒绝再次提交;若要同种子重制,需按指南在新请求中设置随机种子关闭及种子字符串,不覆盖本次记录。
Unity通过Pipeline的 `import_asset` 导入新路径,然后运行 `AgentScripts/ImportMainMenuMusic.cs` 的 `ConfigureSoftAndVerify`;设置CompressedInMemory、Vorbis质量0.7、保留采样率、后台加载、不预加载。复用Art/Sound目录收集、按文件名寻址、PackSeparately。Unity回读4,032,000采样帧、84秒、2声道、48000 Hz,验证通过;Console游标559之后无新增错误。
初次生成时仅完成候选入库;`unity_validation.json`、`generation.json` 保留该阶段原始回执。用户已试听确认选用,当前接入状态以以下说明及 `playback_assets.json`、`playback_validation.json` 为准。
## 正式选用与播放接入
播放器Prefab为 `Assets/Bundles/Sound/Prefab/MainMenuMusic.prefab`,由Pipeline执行 `BuildMainMenuMusic.Build` 制作。AudioSource持久引用本曲,2D、循环、音量1、不自动PlayOnAwake,配合 `MainMenuMusic` 组件播放;音量可在Prefab调节。Prefab收集到Art/Sound,按文件名地址 `MainMenuMusic`、PackSeparately。
`GameplayBootstrap`在HUD绑定后通过现有YooAsset路径异步加载Prefab,每个Bootstrap仅创建一次,持有资源句柄至销毁。浏览主界面、营地、设置等菜单连续播放;进入战斗或弹珠页暂停,回菜单续播。音乐开关独立于音效开关,关闭暂停、开启从原位置续播;切后台暂停,回前台按用户偏好恢复。不修改业务UI骨架。
`VerifyMainMenuMusic.Play` 的Boot实播验证通过:实际选曲、采样前进、3轮设置开关及菜单往返不重启、不叠音,音乐/音效开关组合正确;进入弹珠暂停、切换偏好不误恢复、返回首页续播;玩法门控、应用暂停恢复、84秒曲尾回环通过。战斗使用同一门控,未为验证开启服务端战斗。测试恢复原音乐/音效偏好及监听音量;退出Play后恢复原启动场景选项,三个原角色预览场景及未保存标记保留。编译通过,本轮Console游标561之后无新增错误。
未构建Player或Bundle,未发布CDN。正式版本需包含新增音乐Prefab、配套音频及更新后的热更程序集;微信首次交互与音频解锁需真机验证。