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.
38 lines
1.5 KiB
Bash
Executable File
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"
|