Files
SoundGame Dev f0f0a9b50e 初始提交:3 款纯音频游戏 + 共享引擎 + 完整文档与资产管线
- 共享引擎(app/src/main):GestureEngine 6 手势识别、AudioEngine 三层音频
  (ExoPlayer BGM 交叉淡入 / 对白 ducking / SoundPool 低延迟)、Game/GameEngine
  状态机接口、MainActivity 全屏封面 + TalkBack
- 《声命线》storyline:末世互动广播剧,3 幕 8 抉择点 4 结局
- 《声东击西》reflex:听声辨位反应,12 波战斗 + BGM 三档 BPM 变速
- 《暗室》escape:3x3 网格密室逃脱,钥匙→铁柜→保险丝→电箱→大门谜题链
- 文档:setup(从零搭建)/ architecture(架构)/ engine-api(引擎 API)/
  asset-pipeline(资产流水线)/ games/*(三款游戏设计文档)
- 资产管线:Qwen3-TTS 对白 + 程序合成音效/BGM + Mureka BGM 的 gen 脚本与台账,
  全部 ogg 资产入库可复现
- env.d 环境脚本:android/tts 入库;sfx/mureka 含密钥不入库,仅提交 .example.sh 模板
2026-08-29 13:00:34 +08:00

36 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# Shortcut for running scripts/sa3_gradio.py with the project .venv.
# All args pass through unchanged.
#
# Examples:
# ./sa3-gradio # sm-music + same-s, public share link
# ./sa3-gradio --dit medium
# ./sa3-gradio --no-share # local-only
# ./sa3-gradio --help
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PY="${SCRIPT_DIR}/.venv/bin/python"
if [ ! -x "$PY" ]; then
echo "No .venv found — run ./install.sh first."
exit 1
fi
# gradio + pillow + soundfile are UI-only extras, not part of the base requirements.
if ! "$PY" -c "import gradio, PIL, soundfile" >/dev/null 2>&1; then
echo "The gradio UI needs a few extra packages (gradio, pillow, soundfile)."
read -r -p "Install them into .venv now? [Y/n] " ans
case "${ans:-Y}" in
[Yy]*)
if command -v uv >/dev/null 2>&1; then
uv pip install -p "$PY" -r "${SCRIPT_DIR}/requirements-gradio.txt"
else
"$PY" -m pip install -r "${SCRIPT_DIR}/requirements-gradio.txt"
fi
;;
*) echo "Aborted — install manually: uv pip install -p .venv/bin/python -r requirements-gradio.txt"; exit 1 ;;
esac
fi
exec "$PY" "${SCRIPT_DIR}/scripts/sa3_gradio.py" "$@"