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

31 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# Shortcut for running sa3_gradio.py with the right Python (./.venv if it exists).
# All args are passed through unchanged.
#
# Examples:
# ./sa3-gradio # default: sm-music + same-s, local UI
# ./sa3-gradio --dit medium --decoder same-l
# ./sa3-gradio --share # public gradio.live URL
# ./sa3-gradio --help
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Prefer the producer venv (`sa3_torch29`) since it has BOTH gradio + tensorrt
# + stable_audio_tools — needed for the PT-FP32-GT debug backend. Fall back to
# the consumer .venv if the producer one isn't available.
PT_VENV_PY="/admin/home-cj/sa/venvs/sa3_torch29/bin/python"
CONSUMER_VENV_PY="${SCRIPT_DIR}/.venv/bin/python"
if [ -x "${PT_VENV_PY}" ]; then
exec "${PT_VENV_PY}" "${SCRIPT_DIR}/scripts/sa3_gradio.py" "$@"
elif [ -x "${CONSUMER_VENV_PY}" ]; then
exec "${CONSUMER_VENV_PY}" "${SCRIPT_DIR}/scripts/sa3_gradio.py" "$@"
elif command -v uv >/dev/null 2>&1; then
exec uv run --with-requirements "${SCRIPT_DIR}/requirements.txt" \
python "${SCRIPT_DIR}/scripts/sa3_gradio.py" "$@"
else
echo "error: no python venv found. run: bash ${SCRIPT_DIR}/install.sh" >&2
exit 1
fi