97 lines
5.0 KiB
Markdown
97 lines
5.0 KiB
Markdown
# 10 · 全局「状态即音乐」规范(26 号对齐)
|
||
|
||
> **给音频总监**:状态 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. 总则(26 号修订)
|
||
|
||
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` | 进菜单 500ms;关菜单淡回 800ms |
|
||
| 结局结算 | 保持 dark_drone | 结局语音 duck 即可 |
|
||
|
||
抉择等待:不切 BGM。交出话轮后起等待声。
|
||
|
||
## 3. escape《暗室》
|
||
|
||
| 状态 | BGM | 切换 |
|
||
|---|---|---|
|
||
| 引导 + 探索 | `bgm/drone` | 不变。探索期环境音常驻(ACTION),等待声可更轻或由房间 amb 承担「还活着」 |
|
||
| 菜单 | `bgm/menu` | 进菜单 400ms |
|
||
| 逃脱结算 | `bgm/menu` volume 0.5 | drone 淡出后,escape 语音完再淡入 menu 1500ms。禁止结算黑屏寂静 |
|
||
|
||
## 4. simon《音序回响》
|
||
|
||
| 状态 | BGM | 切换 |
|
||
|---|---|---|
|
||
| 教学 / 对局 | **无** | 不加载 |
|
||
| 菜单 / 结算 | `bgm/menu` 0.3 | 淡入 600~1000ms |
|
||
| 单击重开 | 停 menu | `stopBgm(300)` 回静默 |
|
||
|
||
听序列 = BUSY(busy 回执);答题 = YOUR_TURN(等待声)。不要用 BGM 区分这两态。
|
||
|
||
## 5. rhythm《节拍行者》/ 鼓手模式
|
||
|
||
| 状态 | BGM | 切换 |
|
||
|---|---|---|
|
||
| 曲目游玩(含教学) | 曲目 BGM(网格排程) | 不变。演奏期 = ACTION,不起等待声 |
|
||
| 选曲 | `bgm/menu` | 进选曲 800ms;选定后停 pad 再起曲目 |
|
||
| 暂停菜单 | 音乐停,不叠 menu pad | 恢复必须 count-in(26 原则:暂停恢复后第一拍不能注定失败) |
|
||
| 结算 | 曲目淡出后淡入 `bgm/menu` | 新增保留 |
|
||
|
||
## 6. space《盲航》
|
||
|
||
| 状态 | BGM | 切换 |
|
||
|---|---|---|
|
||
| 演练 + 对局 | `bgm/engine` | 对局 = ACTION |
|
||
| 暂停菜单 | `bgm/menu` | 进 300ms,回 engine 500ms |
|
||
| 坠毁结算 | 停 engine 后结算链完淡入 menu | 禁止坠毁后死寂 |
|
||
|
||
## 7. rpg《剑与声》
|
||
|
||
BGM 报宏观状态,amb(sfx 层)报场景:
|
||
|
||
| 状态 | BGM | sfx amb | 听感 |
|
||
|---|---|---|---|
|
||
| 菜单 | `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 |
|
||
|
||
玩家回合等待:battle BGM 不切,起等待声(或指令菜单循环的报名本身即「轮到你」)。
|
||
|
||
## 8. new8 / hunt / 其他
|
||
|
||
各游戏自己的状态 BGM 表仍有效,但必须满足 §1:整链 duck、等待声不走 BGM 层、新手期不新教第 4 种状态音乐。
|
||
|
||
## 9. 生产清单
|
||
|
||
menu pad 与 rpg `bgm/explore` 的 Mureka prompt 草稿沿用原文(暗色无人机 / 地下设施 / 记忆游戏 / synthwave / cockpit / 武侠古琴)。新游戏的 menu pad 同样遵守 §1.3 共性。
|
||
|
||
## 10. 验收
|
||
|
||
- 闭眼:菜单 vs 游玩 2 秒可辨。
|
||
- 旁白两句之间,BGM **不得**突然变响(整链 duck)。
|
||
- `YOUR_TURN` 时,即使 `bgm=0`,也能听到等待声或交接提示音。
|
||
- `bgm=0.3` / `0` 切换不破音。
|