feat(new8/batch2): 《深海回音》abyss +《雨夜专案》detective 全套交付(多agent流水线:策划→资产→开发→测试→真资产复跑)
- abyss:game.js 242 断言全绿(剧本A-F六路径/氧气门三形态/sonarGate仲裁/结算死窗/双轨看门狗/radio 8项修复继承);资产 148句+11key变体(电台滤波带内能量47-62%→69-80%) - detective:game.js 265 断言真资产下全绿(矩阵不变式独立重算/指证全路径/评级12组注入/VERDICT死窗/二周目变体);真资产复跑回炉3处实现修复(无进展轨墙钟化/菜单暂停记账/停止播报真停声——mock时长掩盖的正确性bug) - 资产:TTS 539条×2格式、Mureka 7首 $0.21(累计$1.08/$2.00)、SYN12+SA3 19件(QC抓出1例AAC过冲并修复)、封面×2、check_all_assets 10游戏全绿(abyss 298/298、detective 279/279) - 平台接线:大厅双卡片、BUCKETS 增 abyss/detective 桶(H4 断言更新 10 游戏)、voice_text.json 10游戏991句 - 回归:14 套件全绿(10 playtest+guide+engine-voice+engine-input+api-smoke 12/12) - 设计偏差登记:abyss 7条/detective 9条(全为设计内部冲突按承诺清单/归因真话律取优)
This commit is contained in:
@@ -21,6 +21,8 @@
|
||||
| rpg | Uncle_Fu | Serena | 旁白;NPC 单音色平铺(见 rpg 章节) |
|
||||
| radio | Uncle_Fu(HOST)/Dylan(PROD) | Serena(HOST)/Vivian(PROD) | 双性别行同性别双 speaker(VOICE_SPK 逐句覆盖);NPC 单音色平铺 5 音色+逐人带通(见 radio 章节) |
|
||||
| dungeon | Uncle_Fu | Serena | 旁白全表统一 instruct,无 NPC |
|
||||
| abyss | Uncle_Fu(DIVER)/Dylan(DECK) | Serena(DIVER)/Vivian(DECK) | 玩家/调度同性别双 speaker(VOICE_SPK,radio 同型);NPC 平铺 4 音色+逐船员带通(见 abyss 章节) |
|
||||
| detective | Uncle_Fu | Serena | 旁白全表统一 instruct;NPC 平铺 5 音色满配、不滤波(见 detective 章节) |
|
||||
|
||||
关于 Ryan:冒烟测试样本在 `tools/samples/ryan_zh_*.wav`(3 条中文句)。Ryan 是英语母语音色(见 `env.d/tts.md`),项目已有中文发音投诉(反馈⑥),男声统一采用中文母语的 Uncle_Fu;如需换成 Ryan,改 `tools/gen_voice_dual.py` 的 `SPEAKERS` 表重跑即可。
|
||||
|
||||
@@ -34,6 +36,8 @@
|
||||
- rhythm(R3 起,全表统一):female(Vivian)「活力清晰的年轻女声,像节奏游戏主持人,情绪饱满但不夸张」/ male(Uncle_Fu)「低沉醇厚的男声,像节奏游戏主持人,平稳有力」
|
||||
- space(R3 起,全表统一):female(Serena)「平静清晰的女声,像飞船领航员,沉稳可信」/ male(Uncle_Fu)「低沉醇厚的男声,像飞船领航员,沉稳有力」
|
||||
- rpg(R4 起,旁白全表统一):female(Serena)「平静清晰的年轻女声,像在讲武侠故事」/ male(Uncle_Fu)「低沉醇厚的男声,像说书人,平静有韵味」;NPC 各角色 speaker+instruct 恒定(村长 Uncle_Fu·慈祥和缓的老者/老猎人 Eric·沙哑粗犷豪爽中带着暖意/头目 Dylan·凶狠粗鲁大声喝骂/寨主 Uncle_Fu·低沉阴狠慢条斯理)
|
||||
- abyss(批次 2):DIVER female(Serena)「低沉冷静的年轻女声,深潜救援员,干练沉着,水下通讯的轻微气声」/ male(Uncle_Fu)「低沉冷静的男声,深潜救援员,干练沉着,水下通讯的轻微气声」;DECK female(Vivian)「清晰稳定的女声,母船潜水调度员,专业干脆,隔着耳机下达指令」/ male(Dylan)「清晰稳定的男声,母船潜水调度员,专业干脆,隔着耳机下达指令」;NPC 恒定(小舟 Serena·年轻女声二十三岁声呐兵缺氧后发虚强撑着干脆/老白 Uncle_Fu·沙哑爽朗中年男声五十岁轮机长忍着伤痛开玩笑/陈医官 Vivian·平静沙哑中年女声四十五岁船医专业镇定语气温和/高船长 Eric·低沉苍老男声五十八岁船长疲惫克制有老舵手的威严)
|
||||
- detective(批次 2,旁白全表统一):female(Serena)「沉稳清晰的女声,专案组探长,冷静克制,像在雨夜读卷宗」/ male(Uncle_Fu)「低沉沉稳的男声,专案组探长,冷静克制,像在雨夜读卷宗」;NPC 恒定(老葛 Eric·苍老沙哑的男声守夜人慢悠悠带倦意/小顺 Dylan·年轻清亮的男声学徒怯生生的慌张诚实/周先生 Uncle_Fu·平板谨慎的男声账房字斟句酌被追问时渐慌/温太太 Vivian·快嘴泼辣的中年女声房东太太嗓门亮热心肠/秦法医 Serena·冷静干练的女声验尸官临床腔短句平直)
|
||||
|
||||
## 各游戏资产清单
|
||||
|
||||
@@ -107,6 +111,33 @@
|
||||
- bgm(4,Mureka $0.12):`menu explore battle boss`(全部 -20 LUFS,16-dungeon.md §9.1);90.00s 无缝循环;battle/boss 的 bpm 仅为 prompt 特征词、无节拍网格玩法,未跑 bpm_precise;后处理脚本 `web/dungeon/gen/gen_bgm.sh`。
|
||||
- 合计 303 ogg + 303 m4a(250 voice + 49 sfx + 4 bgm;批次 1 表述 273 未计 R2 amb_cave/turn_tick 与批次 2 的 28 文件,本行已按实盘点修正);台词/生成/终检走 `tools/gen_voice_dual.py --game dungeon` 与 `tools/check_all_assets.py`。
|
||||
|
||||
### abyss《深海回音》(批次 2 新游戏,叙事模式,台词依据 `docs/design/17-abyss-voice-ids.md`)
|
||||
|
||||
- voice 双性别版(male/ 与 female/ 各 116 条 + key 变体各 11 条):**DIVER 潜航员(玩家)** 30 条(male=Uncle_Fu「低沉冷静的男声,深潜救援员,干练沉着,水下通讯的轻微气声」/ female=Serena「低沉冷静的年轻女声,…」:开场 `b_open`、行动句 `d1_* d2_* d3_* d4_* d9_* g9_knot`、结局 `e1–e4_a/b`)+ **DECK 母船调度/系统/向导** 86 条(male=Dylan / female=Vivian「清晰稳定的男/女声,母船潜水调度员,专业干脆,隔着耳机下达指令」:`gd_* sys_* prog_d1–4 oxy_* dry_*`、下潜/解读句 `dv1–dv4_*`、抉择提示 `p1–p9`(含单载 `p7_chen/p7_zheng`)、结算 `d*_surf/d*_supply`、尾声 `ep_*` 14 条)。同性别双 speaker 逐句覆盖见 `tools/gen_voice_dual.py` 的 `VOICE_SPK["abyss"]`(玩家与调度同场景永不同 speaker,radio HOST/PROD 同型)。
|
||||
- voice NPC 平铺(21 条,落 `voice/` 根,引擎平铺回退;**转码带通**见下):小舟 5 条(z1_* + d1_log,Serena·年轻女声 23 岁声呐兵)、老白 4 条(bai_*,Uncle_Fu·沙哑爽朗轮机长)、陈医官 5 条(chen_*,Vivian·平静沙哑船医)、高船长 7 条(gao_*,Eric·低沉苍老船长)。**区分度风险中**:小舟与 female 玩家同 speaker、老白与 male 玩家同 speaker——靠年龄感/沙哑 instruct + 电台滤波区分,待人工试听(17b 头注)。
|
||||
- **水声电台滤波(资产侧,17-abyss.md §5.3)**:convert 转码按船员逐档带通+轻压缩(小舟 420-3200 / 老白 350-3000 / 陈医官 400-3100 / 高船长 300-2800 Hz,均 `acompressor threshold=-20dB ratio=3`);参数在 `NPC_BANDPASS["abyss"]`,已验证生效(带内能量 47-62%→69-80%,>3.4kHz 高频占比 7% vs 未滤波 DECK 45%),未滤波原声保留在 staging 可重滤/回退(宁窄勿脏)。DIVER/DECK 不滤波(母船级音质)。
|
||||
- sfx(19 文件):SYN 6 件(`web/abyss/gen/gen_sfx.py`:`sonar_ping`(1.4→0.9kHz chirp 220ms **-6dBFS 设计指定电平**)、`pipe_knock`(三短三长三短固定节拍,断言可数)、`link_beep`、`ascent_chime`、`ui_confirm ui_menu`)+ SA3 13 件(`web/abyss/gen/gen_sfx_sa3.py`,seed 20260909):`echo_metal_l/_r`(**预 pan 立体声**:mono 下混 + ffmpeg pan 派生,能量只在目标声道、极性断言,dungeon side_* 工艺——引擎无运行时 pan)、`echo_debris echo_groan static_burst spark_flash valve_close landslide surf_splash bell_toll`(one-shot)+ `amb_deep amb_deck breath_loop`(18s amb 床,只去直流不淡化,游戏层 buffer.loop,RMS -26/峰值帽 -8 先例)。
|
||||
- bgm(4,Mureka $0.12):`deck dive comms ending`(全部 -20 LUFS——MENU 复用 deck 低响度淡入由游戏层控制);90.00s 无缝循环(mean -20.5~-21.9dB);dive 的 sonar-like pulse 仅为 prompt 特征词,未跑 bpm_precise;后处理脚本 `web/abyss/gen/gen_bgm.sh`。
|
||||
- 合计 298 ogg + 298 m4a(voice 275 + sfx 19 + bgm 4);台词/生成/终检走 `tools/gen_voice_dual.py --game abyss` 与 `tools/check_all_assets.py`;两表一致闭环校验脚本 `/tmp/verify_batch2.py`(重解析 17b 文档逐字 diff,一次性,未入库)。
|
||||
|
||||
### detective《雨夜专案》(批次 2 新游戏,本格推理模式,台词依据 `docs/design/18-detective-voice-ids.md`)
|
||||
|
||||
- voice 旁白双性别版(male/ 与 female/ 各 96 条 + key 变体各 10 条):male=Uncle_Fu「低沉沉稳的男声,专案组探长,冷静克制,像在雨夜读卷宗」/ female=Serena「沉稳清晰的女声,…」,两常量全表统一(禁句级变体)。分组:G0 系统/菜单 11、G1 开场/教学 12、G2 状态/条目 20(`st_asked_0–6 st_doubt_0–4 item_* intro_w3`)、G3 现场勘验 6(探长自勘 `sc_*`)、G4 指证 8、G5 结案三问 18、G6 结算 9、G7 看门狗/卡关 12(`hint_a/b/c1/c2 b_hint_c1/c2 hint_fin recap_go`)、V 键盘变体 10。**句序号一律不播**(数字拼接禁令,交互侧落实)。
|
||||
- voice NPC 平铺(52 条,落 `voice/` 根,**不加滤波**——区分度靠 speaker+instruct+游戏侧签名 earcon `sig_*` 前缀,18b 头注):老葛 7 条(w1_* + acc_ge,Eric·苍老沙哑守夜人)、小顺 16 条(w2_* acc_shun b_shun_1–4 b_shun_react_1–2 b_shun_break_1–3,Dylan·年轻清亮学徒)、周先生 17 条(z_1–6 z_react_1–4 acc_zhou z_break_1–3 b_zhou_1–3,Uncle_Fu·平板谨慎账房)、温太太 7 条(wen_* + acc_wen,Vivian·快嘴泼辣房东)、秦法医 5 条(fo_*,Serena·冷静干验收官)。**区分度风险中**:周先生与 male 旁白同 speaker、秦法医与 female 旁白同 speaker——靠 sig 前缀+instruct+语境兜底,待人工试听(18b 头注)。声音演技核心 `z_react_1–4`(记岔→支吾→拒答→想走)与 `z_break_1–3`(认罪三段)情绪全在句内文本(省略号/破折号)。
|
||||
- sfx(12 文件):SYN 6 件(`web/detective/gen/gen_sfx.py`:签名 `sig_shun sig_wen sig_fore`、`contra_hit`(小二度金属相击+盖章尾,最强确认音 -4dBFS)、`contra_miss`(钝木鱼,非 error 音色)、`turn_tick`(880Hz 木鱼族,dungeon 配方自存))+ SA3 6 件(`web/detective/gen/gen_sfx_sa3.py`,seed 20260909):`paper_turn sig_ge sig_zhou sig_scene gavel rain_swell`(认罪链垫 7.2s,-10dBFS 压在 bgm/verdict 下)。签名 earcon 实测 0.78-1.28s(文档 0.3-0.5s 指引——两步+伞抖水类内容下限,超出已记录批次报告)。
|
||||
- bgm(3,Mureka $0.09):`menu board verdict`(18-detective.md §8.1 明确全部 -20 LUFS;雨声底烤进曲目省第三声流);90.00s 无缝循环(mean -20.2~-21.7dB);后处理脚本 `web/detective/gen/gen_bgm.sh`。
|
||||
- 合计 279 ogg + 279 m4a(voice 264 + sfx 12 + bgm 3);台词/生成/终检走 `tools/gen_voice_dual.py --game detective` 与 `tools/check_all_assets.py`。
|
||||
|
||||
### 批次 2 资产账(2026-09-09)
|
||||
|
||||
- abyss 148 句(双性别 127 含 key 11 对 ×2 + NPC 平铺 21)= 275 voice 资产;detective 158 句(旁白 106 含 key 10 对 ×2 + NPC 平铺 52)= 264。两游戏合计 1154 文件(ogg+m4a)+ 2 cover。
|
||||
- GPU 串行(flock):abyss male/female/key/npc 与 detective male/female/key/npc + SA3 两批共 3 轮,两游戏 `--check` 全绿(无时长离群/短句)。
|
||||
- Mureka 7 任务 $0.21(台账见 `tools/mureka_log.md` 2026-09-09 批次 2 节),全部一次成功;项目累计 $1.08/$2.00。
|
||||
- 台词两表一致闭环校验:一次性脚本重解析 17b/18b 文档 vs `gen_voice_dual.py` 逐字 diff PASS(148/158 句、key 11/10 对、NPC 21/52 全对齐,账目 275/264 音频条数与文档合计一致)。
|
||||
- 音色分配表新增:abyss(双性别 DIVER=Uncle_Fu/Serena + DECK=Dylan/Vivian 双配对 + NPC 平铺 4 音色)、detective(旁白 Uncle_Fu/Serena + NPC 平铺 5 音色满配)。
|
||||
- sfx 真峰值(逐声道解码回读)全部 ≤ -3dBFS、|直流| ≤ 0.001(SYN 首轮即抓出 link_beep.m4a AAC 过冲 -2.82dBFS,迭代补 volume 修复;SA3 超限自动补偿未触发)。
|
||||
- check_all_assets 10 游戏全绿(exit=0):abyss 298/298、detective 279/279,双性别集合一致 + key 变体两性别一致且 ⊆ 主集。
|
||||
|
||||
### 批次 1 资产账(2026-09-01)
|
||||
|
||||
- radio 132 句(双性别 103 ×2 + NPC 平铺 29)= 235 voice 资产;dungeon 125 句 ×2 = 250。两游戏合计 970 文件(ogg+m4a)。
|
||||
|
||||
Reference in New Issue
Block a user