Files
UmbraAudio/tts_server/run_server.sh
B.D. Murphy c86e323d7a Initial commit: UmbraAudio audiobook generation program
Quality-first multi-pass audiobook generation from English manuscripts.

Includes:
- umbraaudio/ core package (pipeline, config, voices, web review UI)
- scripts/ CLI utilities + model download script
- tts_server/ remote TTS server
- specs/ design docs, tests/, pyproject.toml + uv.lock
- Qwen3-TTS git submodule (pinned 022e286) with local demo.py UI patch
  saved at scripts/qwen3_tts_demo_umbra_patch.patch
- .env with runtime config/secrets

Excluded (see .gitignore): models/ (downloaded via scripts/download_models.sh),
output/, logs/, .venv, .umbra runtime data, and book projects
(DealHunterShip_*), which are committed separately.
2026-08-30 07:58:24 -07:00

38 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
# Launch the UmbraAudio Qwen3-TTS server (CUDA/GPU).
#
# Config via env vars (override as needed):
# QWEN_MODELS_DIR - dir holding the 1.7B model subdirs (default ./models)
# QWEN_PROMPT_DIR - dir of cached ICL voice prompts (default ./voice_prompts)
# QWEN_DEVICE - cuda | mps | cpu (default cuda)
# QWEN_PORT - listen port (default 8881)
# QWEN_HOST - bind address (default 0.0.0.0)
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
export QWEN_MODELS_DIR="${QWEN_MODELS_DIR:-$SCRIPT_DIR/models}"
export QWEN_PROMPT_DIR="${QWEN_PROMPT_DIR:-$SCRIPT_DIR/voice_prompts}"
export QWEN_DEVICE="${QWEN_DEVICE:-cuda}"
export QWEN_BASE_MODEL="${QWEN_BASE_MODEL:-$QWEN_MODELS_DIR/Qwen3-TTS-12Hz-1.7B-Base}"
export QWEN_VOICEDESIGN_MODEL="${QWEN_VOICEDESIGN_MODEL:-$QWEN_MODELS_DIR/Qwen3-TTS-12Hz-1.7B-VoiceDesign}"
PORT="${QWEN_PORT:-8881}"
HOST="${QWEN_HOST:-0.0.0.0}"
printf 'Device: %s\nBase: %s\nVoice: %s\nPrompts:%s\nPort: %s\n' \
"$QWEN_DEVICE" "$QWEN_BASE_MODEL" "$QWEN_VOICEDESIGN_MODEL" \
"$QWEN_PROMPT_DIR" "$PORT"
# Verify model dirs exist
for d in "$QWEN_BASE_MODEL" "$QWEN_VOICEDESIGN_MODEL"; do
if [ ! -d "$d" ]; then
echo "!! Missing model dir: $d"
echo " Download it (see install_server.sh) or set QWEN_MODELS_DIR."
fi
done
mkdir -p "$QWEN_PROMPT_DIR" "$QWEN_MODELS_DIR"
exec .venv/bin/python qwen_tts_server.py --port "$PORT" --host "$HOST"