Spaces:
Sleeping
Sleeping
| set -euo pipefail | |
| PORT="${PORT:-7860}" | |
| MODEL_PATH="${WHISPER_MODEL_PATH:-}" | |
| WHISPER_LANGUAGE="${WHISPER_LANGUAGE:-uz}" | |
| WHISPER_BACKEND="${WHISPER_BACKEND:-whisper}" | |
| WHISPER_BACKEND_POLICY="${WHISPER_BACKEND_POLICY:-localagreement}" | |
| WHISPERLIVEKIT_ARGS="${WHISPERLIVEKIT_ARGS:-}" | |
| if [ -z "${MODEL_PATH}" ]; then | |
| MODEL_PATH="$(python /app/download_models.py)" | |
| fi | |
| if command -v wlk >/dev/null 2>&1; then | |
| WLK_CMD="wlk" | |
| elif command -v whisperlivekit-server >/dev/null 2>&1; then | |
| WLK_CMD="whisperlivekit-server" | |
| else | |
| echo "Neither 'wlk' nor 'whisperlivekit-server' is available on PATH." >&2 | |
| exit 1 | |
| fi | |
| HELP_FILE="/tmp/whisperlivekit-help.txt" | |
| "${WLK_CMD}" --help >"${HELP_FILE}" 2>&1 || true | |
| ARGS=(--host 0.0.0.0 --port "${PORT}") | |
| if grep -q -- "--model-path" "${HELP_FILE}"; then | |
| ARGS+=(--model-path "${MODEL_PATH}") | |
| else | |
| ARGS+=(--model "${MODEL_PATH}") | |
| fi | |
| if [ -n "${WHISPER_LANGUAGE}" ] && grep -q -- "--language" "${HELP_FILE}"; then | |
| ARGS+=(--language "${WHISPER_LANGUAGE}") | |
| fi | |
| if [ -n "${WHISPER_BACKEND}" ] && grep -q -- "--backend" "${HELP_FILE}"; then | |
| ARGS+=(--backend "${WHISPER_BACKEND}") | |
| fi | |
| if [ -n "${WHISPER_BACKEND_POLICY}" ] && grep -q -- "--backend-policy" "${HELP_FILE}"; then | |
| ARGS+=(--backend-policy "${WHISPER_BACKEND_POLICY}") | |
| fi | |
| if [ -n "${WHISPERLIVEKIT_ARGS}" ]; then | |
| read -r -a EXTRA_ARGS <<<"${WHISPERLIVEKIT_ARGS}" | |
| ARGS+=("${EXTRA_ARGS[@]}") | |
| fi | |
| echo "Starting WhisperLiveKit on 0.0.0.0:${PORT} with model ${MODEL_PATH}" | |
| exec "${WLK_CMD}" "${ARGS[@]}" | |