- 设计:docs/design/23-hunt.md + voice-ids(84 id,166条)+ 13号断言登记,§15记录10+1条设计裁决 - 服务器:零依赖WebSocket(ws.js)+ 房间管理/服务端权威战斗/bot AI(hunt-room.js),断线30s宽限resume回槽、超时转bot;修复package.json模块类型误判的既有破坏 - 客户端:web/hunt/ 全套(教学T0-T4/听觉视野裁剪R1-R8/结算排行榜/guide接入),playtest 211断言 - 引擎:audio.js 后向兼容 opts.pan(StereoPannerNode),web-engine-api.md 同步 - 资产:166条TTS语音(QC无离群)+ 13件合成sfx(真峰值≤-3dBFS)+ 2首Mureka BGM,终检全绿 - 平衡:bot调参至挂机局71%失守/C、3bot局71% A/B(hunt-balance-scan.mjs 24种子扫描) - 接线:大厅卡片、profiles.js hunt桶、README/roadmap MMO路线条目 验证:hunt-sim 16/16 + api-smoke 12/12 + hunt playtest 211/211 + 既有10游戏与引擎回归零回退 + 真服务器WS端到端冒烟通过
35 lines
1.8 KiB
Bash
35 lines
1.8 KiB
Bash
#!/bin/bash
|
||
# 《围猎》BGM 后处理(批次 3):Mureka flac 候选 -> 90s 无缝循环 ogg+m4a。
|
||
# 用法: bash tools/gen_hunt_bgm.sh (flac 原件在 tools/mureka_out/,不入库)
|
||
#
|
||
# 工艺(web/detective/gen/gen_bgm.sh 同款,tools/mureka_log.md 先例):
|
||
# 首个强 onset 起点(silenceremove,-35dB 门限)→ 93s 裁剪 → 首尾 3s acrossfade(tri)
|
||
# 无缝循环 → loudnorm I=-20/TP=-2/LRA=11(23-hunt.md §10.1,两首均 -20 LUFS;
|
||
# 结算态 0.5 volume 由游戏层控制)→ aresample 44.1kHz
|
||
# → ogg libvorbis q3 + m4a aac 128k,落 web/hunt/audio/bgm/。
|
||
# hunt 无节拍网格玩法,100bpm 仅为 prompt 特征词,不跑 bpm_precise(dungeon 先例)。
|
||
set -euo pipefail
|
||
cd "$(dirname "$0")/.."
|
||
export PATH="$PWD/tools/bin:$PATH"
|
||
|
||
TMP=tools/bgm_post_wav/hunt # 中间 wav(不入库,可由本脚本复现)
|
||
DST=web/hunt/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 的那支(拿不准原则),详见 tools/mureka_log.md 批次 3 节
|
||
post tools/mureka_out/hunt-menu/160549591842821_0.flac menu -20 # 177.3s
|
||
post tools/mureka_out/hunt-hunt/160549425905665_0.flac hunt -20 # 192.6s
|
||
|
||
echo "== hunt bgm done: $(ls "$DST" | wc -l) files =="
|