from pydantic_settings import BaseSettings class Settings(BaseSettings): """Gateway configuration, overridable via DESKLOCK_* environment variables.""" tatlock_base_url: str = "http://tatlock.schweitz.internal:8000" tatlock_model: str = "Tatlock" # PCM rate of the device WebSocket contract (docs/architecture.md) sample_rate: int = 16000 # "speaches" (shared speech container) or "embedded" (in-process models) stt_backend: str = "speaches" tts_backend: str = "speaches" speaches_base_url: str = "http://localhost:8601" stt_model: str = "Systran/faster-whisper-small" tts_model: str = "speaches-ai/Kokoro-82M-v1.0-ONNX" tts_voice: str = "bm_george" # embedded fallback only (requires the [speech] extra) embedded_stt_model: str = "small" embedded_stt_device: str = "cuda" embedded_tts_voice: str = "en_GB-alan-medium" model_config = {"env_prefix": "DESKLOCK_"} settings = Settings()