Files
xsl 31372615b2 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条(全为设计内部冲突按承诺清单/归因真话律取优)
2026-09-10 01:40:31 +08:00

36 lines
1.9 KiB
Bash
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.
#!/bin/bash
# 《雨夜专案》BGM 后处理(批次 2):Mureka flac 候选 -> 90s 无缝循环 ogg+m4a。
# 用法: bash web/detective/gen/gen_bgm.sh (flac 原件在 tools/mureka_out/,不入库)
#
# 工艺(tools/mureka_log.md 批次 1 同款):
# 首个强 onset 起点(silenceremove,-35dB 门限)→ 93s 裁剪 → 首尾 3s acrossfade(tri)
# 无缝循环 → loudnorm I=-20/TP=-2/LRA=11(18-detective.md §8.1 明确 3 首全部 -20 LUFS;
# SETTLE 的 0.5 volume 由游戏层控制)→ aresample 44.1kHz
# → ogg libvorbis q3 + m4a aac 128k,落 web/detective/audio/bgm/。
# 雨声底按设计烤进曲目(§8.1:省第三声流);无节奏关键曲目,不需要 bpm_precise
# (jazz 的 brushed drums 仅为 prompt 特征词)。
set -euo pipefail
cd /home/xsl/SoundGame
TMP=tools/bgm_post_wav/detective # 中间 wav(不入库,可由本脚本复现)
DST=web/detective/audio/bgm
mkdir -p "$TMP" "$DST"
post() { # post <flac> <track> <LUFS>
local src="$1" track="$2" lufs="$3"
local tmp="$TMP/$track.wav"
ffmpeg -y -v error -i "$src" -af \
"silenceremove=start_periods=1:start_threshold=-35dB:start_silence=0.02,atrim=end=93,asetpts=PTS-STARTPTS,asplit[a][b];[b]atrim=start=90,asetpts=PTS-STARTPTS[t];[a][t]acrossfade=d=3:c1=tri:c2=tri,loudnorm=I=${lufs}:TP=-2:LRA=11,aresample=44100" \
"$tmp"
ffmpeg -y -v error -i "$tmp" -c:a libvorbis -q:a 3 "$DST/$track.ogg"
ffmpeg -y -v error -i "$tmp" -c:a aac -b:a 128k "$DST/$track.m4a"
echo "$track <- $src (I=${lufs})"
}
# 选用候选 = 更接近 90s 的那支(拿不准原则),详见 mureka_log.md 批次 2 节
post tools/mureka_out/detective-menu/160001918435329_1.flac menu -20 # 219.8s
post tools/mureka_out/detective-board/160002065039361_0.flac board -20 # 216.8s
post tools/mureka_out/detective-verdict/160002209873922_1.flac verdict -20 # 223.7s
echo "== detective bgm done: $(ls "$DST" | wc -l) files =="