from datetime import datetime from os import getenv from pathlib import Path from dotenv import load_dotenv from kokoro import KPipeline from loguru import logger from torch import cuda load_dotenv() DEBUG: bool = getenv(key="DEBUG", default="False").lower() == "true" CHAR_LIMIT: int = int(getenv(key="CHAR_LIMIT", default="-1")) SERVER_NAME: str = getenv(key="GRADIO_SERVER_NAME", default="localhost") SERVER_PORT: int = int(getenv(key="GRADIO_SERVER_PORT", default="8080")) PIPELINE: KPipeline = KPipeline(lang_code="a", repo_id="hexgrad/Kokoro-82M") CURRENT_DATE: str = datetime.now().strftime(format="%Y-%m-%d_%H-%M-%S") BASE_DIR: Path = Path.cwd() RESULTS_DIR: Path = BASE_DIR / "results" LOG_DIR: Path = BASE_DIR / "logs" AUDIO_FILE_PATH: Path = RESULTS_DIR / f"{CURRENT_DATE}.wav" LOG_FILE_PATH: Path = LOG_DIR / f"{CURRENT_DATE}.log" RESULTS_DIR.mkdir(exist_ok=True) LOG_DIR.mkdir(exist_ok=True) CUDA_AVAILABLE: bool = cuda.is_available() logger.add( LOG_FILE_PATH, format="{time:YYYY-MM-DD at HH:mm:ss} | {level} | {message}", colorize=True, ) logger.info(f"CUDA Available: {CUDA_AVAILABLE}") logger.info(f"Char limit: {CHAR_LIMIT}") logger.info(f"Base directory: {BASE_DIR}") logger.info(f"Results directory: {RESULTS_DIR}") logger.info(f"Current date: {CURRENT_DATE}") logger.info(f"Audio file path: {AUDIO_FILE_PATH}") CHOICES: dict[str, str] = { "πŸ‡ΊπŸ‡Έ 🚺 Heart ❀️": "af_heart", "πŸ‡ΊπŸ‡Έ 🚺 Bella πŸ”₯": "af_bella", "πŸ‡ΊπŸ‡Έ 🚺 Nicole 🎧": "af_nicole", "πŸ‡ΊπŸ‡Έ 🚺 Aoede": "af_aoede", "πŸ‡ΊπŸ‡Έ 🚺 Kore": "af_kore", "πŸ‡ΊπŸ‡Έ 🚺 Sarah": "af_sarah", "πŸ‡ΊπŸ‡Έ 🚺 Nova": "af_nova", "πŸ‡ΊπŸ‡Έ 🚺 Sky": "af_sky", "πŸ‡ΊπŸ‡Έ 🚺 Alloy": "af_alloy", "πŸ‡ΊπŸ‡Έ 🚺 Jessica": "af_jessica", "πŸ‡ΊπŸ‡Έ 🚺 River": "af_river", "πŸ‡ΊπŸ‡Έ 🚹 Michael": "am_michael", "πŸ‡ΊπŸ‡Έ 🚹 Fenrir": "am_fenrir", "πŸ‡ΊπŸ‡Έ 🚹 Puck": "am_puck", "πŸ‡ΊπŸ‡Έ 🚹 Echo": "am_echo", "πŸ‡ΊπŸ‡Έ 🚹 Eric": "am_eric", "πŸ‡ΊπŸ‡Έ 🚹 Liam": "am_liam", "πŸ‡ΊπŸ‡Έ 🚹 Onyx": "am_onyx", "πŸ‡ΊπŸ‡Έ 🚹 Santa": "am_santa", "πŸ‡ΊπŸ‡Έ 🚹 Adam": "am_adam", "πŸ‡¬πŸ‡§ 🚺 Emma": "bf_emma", "πŸ‡¬πŸ‡§ 🚺 Isabella": "bf_isabella", "πŸ‡¬πŸ‡§ 🚺 Alice": "bf_alice", "πŸ‡¬πŸ‡§ 🚺 Lily": "bf_lily", "πŸ‡¬πŸ‡§ 🚹 George": "bm_george", "πŸ‡¬πŸ‡§ 🚹 Fable": "bm_fable", "πŸ‡¬πŸ‡§ 🚹 Lewis": "bm_lewis", "πŸ‡¬πŸ‡§ 🚹 Daniel": "bm_daniel", }