save
This commit is contained in:
@@ -1,93 +1,96 @@
|
||||
# 10 · 全局"状态即音乐"规范(state-driven BGM,音频总监生产依据)
|
||||
# 10 · 全局「状态即音乐」规范(26 号对齐)
|
||||
|
||||
> **给音频总监的生产摘要**:本轮新增 7 条 BGM——每游戏一条 `bgm/menu`(6 条)+ RPG 恢复 `bgm/explore`(1 条)。各游戏 prompt 草稿见 §8。所有新 BGM:60-90s 无缝循环、-20 LUFS、ogg+m4a 双格式、归一化工艺沿用现有管线。
|
||||
> **给开发的摘要**:状态→BGM 映射表见 §2-§7(逐游戏)。切换全部走引擎 `play('bgm/...')` 交叉淡入(默认 800ms),特例见各表"切换"列。`bgm=0` 设置时全部静默(含 menu pad)。RPG 的探索 amb 环境音保持在 sfx 层 loop(05-rpg-addendum §3 不变),**BGM 层专用于状态音乐**——两层叠加正是"听 BGM 辨状态、听 amb 辨场景"的设计意图。
|
||||
> **给音频总监**:状态 BGM 身份仍要做。菜单 pad 生产要求不变。新增一条硬约束:语音整条链期间 BGM 保持压低,句间不得抬回来。
|
||||
> **给开发**:状态→BGM 映射表 §2~§7。切换走 `play('bgm/...')` 交叉淡入。`bgm=0` 时全部静默(含 menu pad)。**等待声不是 BGM**,由发言权管理器合成,不受 `bgm` 设置关闭——`bgm=0` 时玩家仍要听得出「轮到你了」。
|
||||
|
||||
交互权威:[26-audio-interaction-playbook.md](26-audio-interaction-playbook.md) 原则 1、10、§4.1、§4.11。
|
||||
|
||||
---
|
||||
|
||||
## 1. 总则
|
||||
## 1. 总则(26 号修订)
|
||||
|
||||
1. **每个可感知状态都要有 BGM 身份**:菜单/结算 = `bgm/menu`(轻 pad);游玩 = 各游戏既有主题曲;战斗/Boss(RPG)= 专属曲。玩家闭上眼只听 2 秒音乐,就该知道自己在菜单里还是在游戏里。
|
||||
2. **menu pad 的共性要求**:音量基底 -24 LUFS(比主题曲低一档)、无鼓点或极弱脉冲、和声静止(pad 性质)、长度 ≥60s 无缝循环。它是"系统界面"的声音,不能抢戏。
|
||||
3. **simon 特例**:游玩/教学/序列播放**全程无 BGM**(用户明确要求,02 文档既定)。只在菜单与结算挂 `bgm/menu`,且以 volume 0.3 播放(比别的游戏更轻)。
|
||||
4. 切换时机一律在**状态进入时**(不是退出时);语音 ducking 行为不变(voice 播放时 BGM duck 到 20%)。
|
||||
5. `bgm=0`(设置关闭)时:所有状态音乐不加载不播放;RPG 场景 amb(sfx 层)不受影响;space 的 `bgm/engine` 属内容音?——**裁定:engine 是 BGM 层资产,bgm=0 时静默**,盲航的方位信息全部由 whoosh/alarm(sfx)承载,无信息损失。
|
||||
1. **玩家只需要听出两种基本状态**:游戏在说 vs 轮到你。BGM 负责宏观场景/紧张度;「轮到你」靠交接提示音 + 等待声,不靠切一首新 BGM。
|
||||
2. **每个可感知宏观状态仍要有 BGM 身份**(菜单/探索/战斗/结算),闭眼 2 秒可辨。但新手期最多教 3 种状态声(含 earcon),教过才算存在。
|
||||
3. **menu pad**:-24 LUFS、无鼓或极弱脉冲、和声静止、≥60s 无缝循环。系统界面声,不抢戏。
|
||||
4. **simon 特例保留**:对局/教学全程无 BGM;只在菜单与结算挂 `bgm/menu`(volume 0.3)。对局的「轮到你」完全靠等待声与音色回声。
|
||||
5. 切换时机:状态**进入时**切,不是退出时。
|
||||
6. **整链压低**:voice 播放时 BGM duck 约 12dB(原 20% 增益口径可沿用)。游戏层用 `onComplete` 串句时,句间不得 `_unduckBGM`。Floor 持有一次压低,或 `audio.holdDuck(true/false)`。
|
||||
7. `bgm=0`:不加载任何 `bgm/`。RPG 场景 amb(sfx 层)不受影响。space 的 `bgm/engine` 仍算 BGM 层,关闭后方位信息由 whoosh/alarm(sfx)承担。等待声、回执、earcon 仍在。
|
||||
8. 同一时间能听清的声音流最多 2 条。BGM + 语音已经占满时,不要再叠第三条语言。
|
||||
|
||||
## 2. storyline《声命线》
|
||||
|
||||
| 状态 | BGM | 切换 |
|
||||
|---|---|---|
|
||||
| 剧情播放(含抉择) | `bgm/dark_drone`(保留) | 开局即播,全剧不切 |
|
||||
| 菜单(下滑呼出) | `bgm/menu` | 进菜单 crossfade 500ms;关菜单淡回 dark_drone 800ms |
|
||||
| 结局结算 | 保持 `bgm/dark_drone` 不切 | 结局语音 duck 即可,氛围连贯 |
|
||||
| 听讲 / 抉择 | `bgm/dark_drone` | 开局即播,全剧不切 |
|
||||
| 菜单 | `bgm/menu` | 进菜单 500ms;关菜单淡回 800ms |
|
||||
| 结局结算 | 保持 dark_drone | 结局语音 duck 即可 |
|
||||
|
||||
抉择等待:不切 BGM。交出话轮后起等待声。
|
||||
|
||||
## 3. escape《暗室》
|
||||
|
||||
| 状态 | BGM | 切换 |
|
||||
|---|---|---|
|
||||
| 引导 + 自由探索 | `bgm/drone`(保留) | 不变 |
|
||||
| 菜单(ENDING 下滑呼出) | `bgm/menu` | 进菜单 crossfade 400ms |
|
||||
| 逃脱结算(ENDING) | `bgm/menu`(volume 0.5) | 现有 `stopBgm(2500)` 淡出 drone 后,escape 语音播完淡入 menu pad 1500ms——结算画面从"空洞的静"变成"松一口气的亮" |
|
||||
| 引导 + 探索 | `bgm/drone` | 不变。探索期环境音常驻(ACTION),等待声可更轻或由房间 amb 承担「还活着」 |
|
||||
| 菜单 | `bgm/menu` | 进菜单 400ms |
|
||||
| 逃脱结算 | `bgm/menu` volume 0.5 | drone 淡出后,escape 语音完再淡入 menu 1500ms。禁止结算黑屏寂静 |
|
||||
|
||||
## 4. simon《音序回响》(特例)
|
||||
## 4. simon《音序回响》
|
||||
|
||||
| 状态 | BGM | 切换 |
|
||||
|---|---|---|
|
||||
| 教学 / 对局全流程 | **无**(静默) | 不加载任何 bgm |
|
||||
| 菜单(结算后下滑) | `bgm/menu`(volume 0.3) | 淡入 600ms |
|
||||
| 结算(gameover) | `bgm/menu`(volume 0.3) | sfx/gameover 播完 1s 后淡入 1000ms |
|
||||
| 单击重开 | 停 menu pad | `stopBgm(300)`,回静默 |
|
||||
| 教学 / 对局 | **无** | 不加载 |
|
||||
| 菜单 / 结算 | `bgm/menu` 0.3 | 淡入 600~1000ms |
|
||||
| 单击重开 | 停 menu | `stopBgm(300)` 回静默 |
|
||||
|
||||
## 5. rhythm《节拍行者》
|
||||
听序列 = BUSY(busy 回执);答题 = YOUR_TURN(等待声)。不要用 BGM 区分这两态。
|
||||
|
||||
## 5. rhythm《节拍行者》/ 鼓手模式
|
||||
|
||||
| 状态 | BGM | 切换 |
|
||||
|---|---|---|
|
||||
| 曲目游玩(含教学) | `bgm/track90/105/120`(不动) | 现有手动网格排程不变 |
|
||||
| 选曲界面 | `bgm/menu` | 进选曲淡入 800ms;选定曲目后 stopBgm(400) 再按现有网格起曲目 BGM |
|
||||
| 模态菜单(暂停) | 现有断点续播机制**保留**,menu pad **不叠**——暂停 = 音乐停(实现已如此,是最干净的"暂停感") | 不变 |
|
||||
| 结算 | 曲目 BGM 现有 0.6s 淡出后,评级语音播完淡入 `bgm/menu` 800ms | 新增 |
|
||||
| 曲目游玩(含教学) | 曲目 BGM(网格排程) | 不变。演奏期 = ACTION,不起等待声 |
|
||||
| 选曲 | `bgm/menu` | 进选曲 800ms;选定后停 pad 再起曲目 |
|
||||
| 暂停菜单 | 音乐停,不叠 menu pad | 恢复必须 count-in(26 原则:暂停恢复后第一拍不能注定失败) |
|
||||
| 结算 | 曲目淡出后淡入 `bgm/menu` | 新增保留 |
|
||||
|
||||
## 6. space《盲航》
|
||||
|
||||
| 状态 | BGM | 切换 |
|
||||
|---|---|---|
|
||||
| 演练 + 对局 | `bgm/engine`(保留) | 不变 |
|
||||
| 模态菜单(暂停) | `bgm/menu` | 进菜单 crossfade 300ms(暂停要快);回对局淡回 engine 500ms |
|
||||
| 坠毁结算 | 现有 stopBgm(600) 后,结算语音链播完淡入 `bgm/menu` 800ms | 新增 |
|
||||
| 演练 + 对局 | `bgm/engine` | 对局 = ACTION |
|
||||
| 暂停菜单 | `bgm/menu` | 进 300ms,回 engine 500ms |
|
||||
| 坠毁结算 | 停 engine 后结算链完淡入 menu | 禁止坠毁后死寂 |
|
||||
|
||||
## 7. rpg《剑与声》(重点:听觉状态语言)
|
||||
## 7. rpg《剑与声》
|
||||
|
||||
用户要求"通过背景音乐判断当前处于菜单/地图/战斗状态"。RPG 的状态语言 = **BGM 层报状态 + sfx 层 amb 报场景**(双层各司其职):
|
||||
BGM 报宏观状态,amb(sfx 层)报场景:
|
||||
|
||||
| 状态 | BGM 层 | sfx 层 amb | 听感设计 |
|
||||
| 状态 | BGM | sfx amb | 听感 |
|
||||
|---|---|---|---|
|
||||
| 菜单(模态) | `bgm/menu` | amb 继续(音量不变) | "游戏还在,界面开了" |
|
||||
| 地图/探索 | `bgm/explore`(**恢复**,volume 0.35 轻垫) | `amb_<scene>` 主角 | 音乐是"底",环境音是"景" |
|
||||
| 村庄(安全区特例) | `bgm/village`(保留) | amb_village(bgm=0 时的垫底) | 温暖,与探索的紧张对比 |
|
||||
| 普通战斗 | `bgm/battle`(保留) | amb 停 | 进战斗 crossfade **400ms**(战斗要快切, urgency) |
|
||||
| Boss 战 | `bgm/boss`(保留) | amb 停 | 同上 400ms |
|
||||
| 战斗胜利 → 探索 | 关键过渡:`sfx/victory`(胜利标识音,见 11 文档 §5)→ battle/boss **淡出 1500ms** → `bgm/explore` **淡入 2000ms** + amb 恢复 | — | "从紧绷到松弛"是可听的,这是用户要的过渡 |
|
||||
| 战败 → 章首 | `bgm/battle` stopBgm(2000) → `voice/btl_lose` → village:bgm/village 淡入 1500ms | — | 重生即安全区音乐 |
|
||||
| 章结算/剧情(evt_ch*_end) | `bgm/ending`(保留) | amb 停 | 播完淡回 explore |
|
||||
| 菜单 | `bgm/menu` | amb 继续 | 游戏还在,界面开了 |
|
||||
| 探索 | `bgm/explore` 0.35 | `amb_<scene>` | 底 + 景 |
|
||||
| 村庄 | `bgm/village` | amb_village | 安全 |
|
||||
| 战斗 | `bgm/battle` | amb 停 | 进战斗 400ms |
|
||||
| Boss | `bgm/boss` | amb 停 | 400ms |
|
||||
| 胜 → 探索 | victory sfx → battle 淡出 1500ms → explore 淡入 2000ms + amb | 可听的松弛 |
|
||||
| 败 → 章首 | battle 停 2000ms → 败句 → village 1500ms | 重生即安全 |
|
||||
| 章结算 | `bgm/ending` | amb 停 | 完再回 explore |
|
||||
|
||||
**裁定(修订 05-rpg-addendum §3)**:addendum 当时取消了 `bgm/explore`(探索期纯 amb);按用户本轮反馈恢复 explore 作为低音量状态垫乐(volume 0.35),amb 仍在 sfx 层不受影响。BGM 需求回到 5 首(village/explore/battle/boss/ending)+ menu。
|
||||
玩家回合等待:battle BGM 不切,起等待声(或指令菜单循环的报名本身即「轮到你」)。
|
||||
|
||||
## 8. 新 BGM 生产清单(Mureka prompt 草稿)
|
||||
## 8. new8 / hunt / 其他
|
||||
|
||||
共性后缀:`", ambient pad, very sparse, no drums or minimal pulse, static harmony, calm, no vocals, seamless loop, 60-90 seconds"`。
|
||||
各游戏自己的状态 BGM 表仍有效,但必须满足 §1:整链 duck、等待声不走 BGM 层、新手期不新教第 4 种状态音乐。
|
||||
|
||||
| 资产 | prompt 草稿(英文) |
|
||||
|---|---|
|
||||
| storyline `bgm/menu` | "Dark post-apocalyptic menu pad, low warm drone with faint radio static texture, sibling mood to a dark ambient drone track" + 共性 |
|
||||
| escape `bgm/menu` | "Underground facility menu pad, soft low hum with distant water drip feel, slightly hopeful resolution tone" + 共性 |
|
||||
| simon `bgm/menu` | "Minimal memory-game menu pad, gentle mallet harmonics over soft sine pad, meditative, extremely light" + 共性 |
|
||||
| rhythm `bgm/menu` | "Electronic music-menu pad, slowed-down synthwave chords at 90 bpm feel, airy, between-songs breather" + 共性 |
|
||||
| space `bgm/menu` | "Space cockpit menu pad, soft engine-room hum with airy synth wash, weightless" + 共性 |
|
||||
| rpg `bgm/menu` | "Wuxia menu pad, single sustained guzheng harmonic over warm drone, ink-painting stillness" + 共性 |
|
||||
| rpg `bgm/explore` | "Wuxia exploration ambient music, sparse guzheng and dizi fragments over low forest drone, 60 bpm, mysterious calm, no vocals, seamless loop, sits quietly under ambience"(轻垫乐,混音时音量再降) |
|
||||
## 9. 生产清单
|
||||
|
||||
## 9. 验收点
|
||||
menu pad 与 rpg `bgm/explore` 的 Mureka prompt 草稿沿用原文(暗色无人机 / 地下设施 / 记忆游戏 / synthwave / cockpit / 武侠古琴)。新游戏的 menu pad 同样遵守 §1.3 共性。
|
||||
|
||||
- 每游戏闭眼测试:菜单开/关、战斗进/出(RPG)仅靠 BGM 可辨。
|
||||
- `bgm=0.3`(小声)与 `bgm=0`(关闭)两档在各状态切换处不破音、不残响(引擎 crossfade 与增益总线叠加正确)。
|
||||
- menu pad 与主题曲同调性优先(storyline/escape/rpg 的 menu 与主题曲同 key;simon/space 无强约束)。
|
||||
## 10. 验收
|
||||
|
||||
- 闭眼:菜单 vs 游玩 2 秒可辨。
|
||||
- 旁白两句之间,BGM **不得**突然变响(整链 duck)。
|
||||
- `YOUR_TURN` 时,即使 `bgm=0`,也能听到等待声或交接提示音。
|
||||
- `bgm=0.3` / `0` 切换不破音。
|
||||
|
||||
Reference in New Issue
Block a user