#!/usr/bin/env bash # 批次 4 bridge《星环舰长》SA3 危机签名生成(4 件,2.5s;其余 SYN 在 gen_bridge_syn.py)。 # 用法: bash tools/gen_bridge_sfx.sh (内部 flock 串行 GPU;输出 tools/gen_bridge_sfx_wav/) set -u source /home/xsl/SoundGame/env.d/sfx.sh cd /home/xsl/SoundGame/tools/stable-audio-3 OUT=/home/xsl/SoundGame/tools/gen_bridge_sfx_wav mkdir -p "$OUT" declare -A P D P[sig_meteor]="dense meteor swarm passing close, multiple rock whooshes and rubble impacts, dry, tight" P[sig_pirate]="hostile spacecraft engine roar with weapon charging whine, menacing" P[sig_distress]="repeating three-short radio distress beeps through static, deep space" P[sig_radiation]="geiger counter clicking rapidly intensifying, eerie space ambience" D[sig_meteor]=2.5 D[sig_pirate]=2.5 D[sig_distress]=2.5 D[sig_radiation]=2.5 ORDER="sig_meteor sig_pirate sig_distress sig_radiation" flock /home/xsl/SoundGame/.gpu.lock bash -c ' '"$(declare -p P D OUT)"' for k in '"$ORDER"'; do if [ -s "$OUT/$k.wav" ]; then echo "skip $k"; continue; fi uv run stable-audio --model small-sfx -p "${P[$k]}" --duration "${D[$k]}" -o "$OUT/$k.wav" 2>&1 | grep -i "saved\|error" done' echo "SA3 batch done: $(ls "$OUT" | wc -l) files"