from dotenv import load_dotenv import os load_dotenv() DEEPGRAM_API_KEY: str = os.environ["DEEPGRAM_API_KEY"] CARTESIA_API_KEY: str = os.environ["CARTESIA_API_KEY"] CARTESIA_VOICE_ID: str = os.environ["CARTESIA_VOICE_ID"] SAMPLE_RATE: int = int(os.getenv("SAMPLE_RATE", "16000")) WAKE_WORDS: list[str] = [w.strip().lower() for w in os.getenv("WAKE_WORD", "Hai EMA").split(",") if w.strip()] WAKE_WORD_ENABLED: bool = os.getenv("WAKE_WORD_ENABLED", "false").lower() in ("1", "true", "yes") CARTESIA_MODEL: str = os.getenv("CARTESIA_MODEL", "sonic-3") GOOGLE_API_KEY: str = os.getenv("GOOGLE_API_KEY", "") GOOGLE_PROJECT_NAME: str = os.getenv("GOOGLE_PROJECT_NAME", "") GOOGLE_PROJECT_ID: str = os.getenv("GOOGLE_PROJECT_ID", "") GOOGLE_PROJECT_NUMBER: str = os.getenv("GOOGLE_PROJECT_NUMBER", "") GOOGLE_CLOUD_LOCATION: str = os.getenv("GOOGLE_CLOUD_LOCATION", "us-central1") GEMINI_TTS_MODEL: str = os.getenv("GEMINI_TTS_MODEL", "gemini-2.5-flash-tts") GEMINI_TTS_MODELS: list[str] = [ m.strip() for m in os.getenv( "GEMINI_TTS_MODELS", "gemini-2.5-flash-tts", # "gemini-2.5-flash-tts,gemini-3.1-flash-tts-preview,gemini-2.5-pro-tts", ).split(",") if m.strip() ] GEMINI_TTS_VOICE: str = os.getenv("GEMINI_TTS_VOICE", "Autonoe") GEMINI_TTS_LANGUAGE: str = os.getenv("GEMINI_TTS_LANGUAGE", "id-ID") GEMINI_STT_MODEL: str = os.getenv("GEMINI_STT_MODEL", "gemini-2.0-flash") GEMINI_LIVE_MODEL: str = os.getenv("GEMINI_LIVE_MODEL", "gemini-live-2.5-flash-preview") GEMINI_STT_LANGUAGE: str = os.getenv("GEMINI_STT_LANGUAGE", "id-ID") STT_PROVIDER: str = os.getenv("STT_PROVIDER", "deepgram") TTS_PROVIDER: str = os.getenv("TTS_PROVIDER", "cartesia") DEEPGRAM_LANGUAGE: str = os.getenv("DEEPGRAM_LANGUAGE", "id") DEEPGRAM_ENDPOINTING_MS: int = int(os.getenv("DEEPGRAM_ENDPOINTING_MS", "300")) DEEPGRAM_UTTERANCE_END_MS: int = int(os.getenv("DEEPGRAM_UTTERANCE_END_MS", "2000")) CHIRP3_REGION: str = os.getenv("CHIRP3_REGION", "us-central1") # chirp_2 valid regions: us-central1, europe-west4, asia-southeast1 CHIRP3_LANGUAGE: str = os.getenv("CHIRP3_LANGUAGE", "id-ID")