- 共享引擎(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 模板
27 lines
1.0 KiB
Bash
Executable File
27 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Shortcut for running sa3_trt.py with the right Python (from ./.venv if it exists).
|
|
# All args are passed through unchanged.
|
|
#
|
|
# Examples:
|
|
# ./sa3 --prompt "lofi house" --dit sm-music --decoder same-s --out lofi.wav
|
|
# ./sa3 --prompt "piano arpeggio" --dit medium --decoder same-l
|
|
# ./sa3 --help
|
|
|
|
set -e
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
VENV_PY="${SCRIPT_DIR}/.venv/bin/python"
|
|
|
|
if [ -x "${VENV_PY}" ]; then
|
|
# Use the venv directly — faster than `uv run` (no project resolution) and works
|
|
# without uv installed at runtime.
|
|
exec "${VENV_PY}" "${SCRIPT_DIR}/scripts/sa3_trt.py" "$@"
|
|
elif command -v uv >/dev/null 2>&1; then
|
|
# No venv yet, but uv is on PATH — let uv resolve from requirements.txt
|
|
exec uv run --with-requirements "${SCRIPT_DIR}/requirements.txt" \
|
|
python "${SCRIPT_DIR}/scripts/sa3_trt.py" "$@"
|
|
else
|
|
echo "error: no .venv at ${VENV_PY} and 'uv' not on PATH." >&2
|
|
echo " run: bash ${SCRIPT_DIR}/install.sh" >&2
|
|
exit 1
|
|
fi
|