# shellcheck shell=bash # # Shared deployment config for run_grpc_v2.sh. # The script defines PROJECT_ROOT before sourcing this file. VIITORVOICE_V2_VENV_DIR="${VIITORVOICE_V2_VENV_DIR:-${PROJECT_ROOT}/.venv}" VIITORVOICE_V2_STATE_DIR="${VIITORVOICE_V2_STATE_DIR:-${PROJECT_ROOT}/tmp/viitorvoice_grpc_server}" VIITORVOICE_V2_LOG_DIR="${VIITORVOICE_V2_LOG_DIR:-${VIITORVOICE_V2_STATE_DIR}/logs}" VIITORVOICE_V2_LOG_LEVEL="${VIITORVOICE_V2_LOG_LEVEL:-INFO}" VIITORVOICE_V2_SERVICE_HOST="${VIITORVOICE_V2_SERVICE_HOST:-0.0.0.0}" VIITORVOICE_V2_TARGET_HOST="${VIITORVOICE_V2_TARGET_HOST:-127.0.0.1}" VIITORVOICE_V2_ENCODER_PORT="${VIITORVOICE_V2_ENCODER_PORT:-51051}" VIITORVOICE_V2_LLM_PORT="${VIITORVOICE_V2_LLM_PORT:-51052}" VIITORVOICE_V2_DECODER_PORT="${VIITORVOICE_V2_DECODER_PORT:-51053}" VIITORVOICE_V2_ORCH_PORT="${VIITORVOICE_V2_ORCH_PORT:-50051}" VIITORVOICE_V2_HTTP_PORT="${VIITORVOICE_V2_HTTP_PORT:-7861}" VIITORVOICE_V2_PROVIDER_PORT="${VIITORVOICE_V2_PROVIDER_PORT:-50062}" # CUDA device ids here are process-local logical ids after CUDA_VISIBLE_DEVICES # remapping. For one visible GPU, use 0 even when the physical GPU is not 0. export VIITORVOICE_DEVICE_ID="${VIITORVOICE_DEVICE_ID:-0}" export VIITORVOICE_WARMUP_ON_START="${VIITORVOICE_WARMUP_ON_START:-true}" export VIITORVOICE_V2_REQUEST_TIMEOUT_SEC="${VIITORVOICE_V2_REQUEST_TIMEOUT_SEC:-900}" export VIITORVOICE_REQUEST_TIMEOUT_SEC="${VIITORVOICE_REQUEST_TIMEOUT_SEC:-${VIITORVOICE_V2_REQUEST_TIMEOUT_SEC}}" export VIITORVOICE_V2_LOG_JSON="${VIITORVOICE_V2_LOG_JSON:-true}" export VIITORVOICE_V2_ENCODER_TARGET="${VIITORVOICE_V2_ENCODER_TARGET:-${VIITORVOICE_V2_TARGET_HOST}:${VIITORVOICE_V2_ENCODER_PORT}}" export VIITORVOICE_V2_LLM_TARGET="${VIITORVOICE_V2_LLM_TARGET:-${VIITORVOICE_V2_TARGET_HOST}:${VIITORVOICE_V2_LLM_PORT}}" export VIITORVOICE_V2_DECODER_TARGET="${VIITORVOICE_V2_DECODER_TARGET:-${VIITORVOICE_V2_TARGET_HOST}:${VIITORVOICE_V2_DECODER_PORT}}" export VIITORVOICE_V2_HTTP_TARGET="${VIITORVOICE_V2_HTTP_TARGET:-${VIITORVOICE_V2_TARGET_HOST}:${VIITORVOICE_V2_ORCH_PORT}}" export SPEECH_EDIT_ORCHESTRATOR_TARGET="${SPEECH_EDIT_ORCHESTRATOR_TARGET:-${VIITORVOICE_V2_TARGET_HOST}:${VIITORVOICE_V2_ORCH_PORT}}" export VIITORVOICE_LOCAL_MODELS="${VIITORVOICE_LOCAL_MODELS:-${PROJECT_ROOT}/local_models}" export VIITORVOICE_LLM_CHECKPOINT="${VIITORVOICE_LLM_CHECKPOINT:-${VIITORVOICE_LOCAL_MODELS}/llm/0p6_emotion}" export VIITORVOICE_LLM_ONNX="${VIITORVOICE_LLM_ONNX:-${VIITORVOICE_LLM_CHECKPOINT}/cache/onnx_backbone_fp32/llm_backbone_dynamic.onnx}" export VIITORVOICE_LLM_BACKEND="${VIITORVOICE_LLM_BACKEND:-onnx-cuda}" export VIITORVOICE_LLM_PRECISION="${VIITORVOICE_LLM_PRECISION:-fp32}" export VIITORVOICE_LLM_TRT_CACHE="${VIITORVOICE_LLM_TRT_CACHE:-${VIITORVOICE_LLM_CHECKPOINT}/.cache/trt_cache}" export VIITORVOICE_LLM_BATCH_MAX="${VIITORVOICE_LLM_BATCH_MAX:-4}" export VIITORVOICE_CODEC_DUALCODEC_PATH="${VIITORVOICE_CODEC_DUALCODEC_PATH:-${VIITORVOICE_LOCAL_MODELS}/dualcodec/dualcodec_ckpts}" export VIITORVOICE_CODEC_ENCODER_MODEL_ID="${VIITORVOICE_CODEC_ENCODER_MODEL_ID:-25hz_v1}" export VIITORVOICE_CODEC_ENCODER_BACKEND="${VIITORVOICE_CODEC_ENCODER_BACKEND:-torch}" export VIITORVOICE_CODEC_ENCODER_PRECISION="${VIITORVOICE_CODEC_ENCODER_PRECISION:-bf16}" export VIITORVOICE_CODEC_DECODER_BACKEND="${VIITORVOICE_CODEC_DECODER_BACKEND:-onnx-cuda}" export VIITORVOICE_ALIGNER_MODEL="${VIITORVOICE_ALIGNER_MODEL:-${VIITORVOICE_LOCAL_MODELS}/aligner/Qwen3-ForcedAligner-0.6B}" export VIITORVOICE_ALIGNER_DEVICE="${VIITORVOICE_ALIGNER_DEVICE:-cuda:${VIITORVOICE_DEVICE_ID}}" export VIITORVOICE_ALIGNER_LANGUAGE="${VIITORVOICE_ALIGNER_LANGUAGE:-zh}"