四泳道并行全流水线(资产→开发→测试→玩家迭代闭环),双双 R1-R2 连续达标裁定可交付: - cipher《暗码》223 断言:摩尔斯解码嵌叙事/四结局矩阵/暴露度逐NIGHT验算/三层兜底;R2 三修(链首标记音/预警震/结局计数句+4句补录)4/4 全满分档 - teahouse《深夜茶馆》205 断言:泡茶时机窗/经济逐晚对账/多晚弧线;连续 2 轮 4/4 愿意玩 P0=0 - keeper《守塔人》257 断言:时空签名教学-兑现/插叙触发回返/trust×truth 档位/4结局;R2 F1/F2 坐实(震型豁免/首播跳句锁)4/4 - bridge《星环舰长》336 断言:巡检节奏逐毫秒/危机×系统态矩阵/仲裁7场景/忠诚差分/评级验算;R1 当场修F1-F4、R2 F5 菜单顺延保护 4/4 上行 公共:index.html 四卡片+profiles.js 四桶+check_all_assets 登记(预接线)、00-program 八款进度账收账、 gen_voice_dual 四游戏段、README/HANDOVER 阵容更新(11 款)、voice_text.json 四游戏键、mureka 台账(累计$1.26/$2.00) 验证:四游戏 playtest 223/205/257/336 全绿 + guide 122/122 + 全项目 15 游戏资产终检绿 遗留:keeper 三代人声滤波人耳试听(最高优先,ASR 对滤波句失明)、bridge 音频 32MB 超软指引 2MB(压缩候选)
37 lines
2.0 KiB
Bash
37 lines
2.0 KiB
Bash
#!/bin/bash
|
||
# 《星环舰长》BGM 后处理(批次 4):Mureka flac 候选 -> 90s 无缝循环 ogg+m4a。
|
||
# 用法: bash tools/gen_bridge_bgm.sh (flac 原件在 tools/mureka_out/,不入库)
|
||
#
|
||
# 工艺(tools/gen_hunt_bgm.sh 同款):首个强 onset 起点(silenceremove,-35dB 门限)
|
||
# → 93s 裁剪 → 首尾 3s acrossfade(tri) 无缝循环 → loudnorm I=-20/TP=-2/LRA=11
|
||
# (22-bridge.md §9.1 三首均 -20 LUFS;结算 0.5 volume 由游戏层控制)
|
||
# → aresample 44.1kHz → ogg libvorbis q3 + m4a aac 128k,落 web/bridge/audio/bgm/。
|
||
# 份额裁定(22 §15-R3):3 任务 ×1 候选 = $0.09(每任务平台返回 2 候选,选用候选 0,
|
||
# 备选留 tools/mureka_out/ 不入库);无节拍网格玩法,bpm 仅为 prompt 特征词。
|
||
set -euo pipefail
|
||
cd "$(dirname "$0")/.."
|
||
export PATH="$PWD/tools/bin:$PATH"
|
||
|
||
TMP=tools/bgm_post_wav/bridge
|
||
DST=web/bridge/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})"
|
||
}
|
||
|
||
# 选用候选 0(各任务均 2 候选;拿不准原则=选更接近 90s 者——三者候选 0 均不劣),
|
||
# 详见 tools/mureka_log.md 批次 4 节。
|
||
post tools/mureka_out/bridge-menu/160722038489089_0.flac menu -20 # 184.5s
|
||
post tools/mureka_out/bridge-cruise/160722208358402_0.flac cruise -20 # 206.0s
|
||
post tools/mureka_out/bridge-crisis/160723804225539_0.flac crisis -20 # 205.9s
|
||
|
||
echo "== bridge bgm done: $(ls "$DST" | wc -l) files =="
|