Spaces:
Running
Running
| """ | |
| Configuration constants and logging setup. | |
| """ | |
| import logging | |
| import os | |
| import sys | |
| import torch | |
| # ββ Logging βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| logging.basicConfig( | |
| level=logging.INFO, | |
| format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", | |
| handlers=[logging.StreamHandler(sys.stdout)], | |
| ) | |
| logger = logging.getLogger("rvc") | |
| # ββ Device detection ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| if torch.cuda.is_available(): | |
| DEVICE = "cuda" | |
| DEVICE_LABEL = "GPU (CUDA)" | |
| elif torch.backends.mps.is_available(): | |
| DEVICE = "mps" | |
| DEVICE_LABEL = "GPU (Apple Metal)" | |
| else: | |
| DEVICE = "cpu" | |
| DEVICE_LABEL = "CPU" | |
| # ββ Limits ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| MAX_INPUT_DURATION = 600 # seconds (10 minutes) | |
| # ββ Built-in models βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| BUILTIN_MODELS = { | |
| "Vestia Zeta v1": "vestia_zeta_v1", | |
| "Vestia Zeta v2": "vestia_zeta_v2", | |
| "Ayunda Risu": "ayunda_risu", | |
| "Gawr Gura": "gawr_gura", | |
| } | |
| # ββ Demucs configuration ββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| DEMUCS_MODEL = "htdemucs" | |
| DEMUCS_DEVICE = "cuda" if torch.cuda.is_available() else "cpu" | |
| DEMUCS_SEPARATION_DIR = "separated" | |
| # ββ Output formats ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| OUTPUT_FORMATS = ["WAV", "MP3", "FLAC", "OPUS"] | |
| DEFAULT_OUTPUT_FORMAT = "MP3" | |
| # ββ Paths βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| MODELS_DIR = "models" | |
| OUTPUTS_DIR = "outputs" | |
| # ββ Gradio CSS ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| CSS = """ | |
| #header { text-align: center; margin-bottom: 1rem; } | |
| #status { text-align: center; font-weight: bold; } | |
| footer { visibility: hidden; } | |
| """ |