- 共享引擎(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 模板
31 lines
1.2 KiB
Bash
Executable File
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
|