"""Configuration constants for MrrrMe smart mirror system""" # Audio Configuration AUDIO_SR = 16000 AUDIO_BLOCK = 0.02 CLIP_SECONDS = 1.2 VAD_AGGRESSIVENESS = 3 # Model Configuration WHISPER_MODEL = "distil-whisper/distil-large-v3" TEXT_SENTIMENT_MODEL = "j-hartmann/emotion-english-distilroberta-base" VOICE_EMOTION_MODEL = "superb/hubert-large-superb-er" LLM_MODEL = "Qwen/Qwen2.5-1.5B-Instruct" # ⭐ ADJUSTED: Fusion Weights (will be dynamically adjusted based on quality) FUSE_ALPHA_FACE = 0.25 # Face (with quality weighting) FUSE_ALPHA_VOICE = 0.30 # Voice (generally reliable) FUSE_ALPHA_TEXT = 0.45 # Text (with rule overrides) # Note: These are BASE weights. The IntelligentFusionEngine will adjust them # dynamically based on signal quality, confidence, and reliability. # UI Configuration SHOW_TOP3_FACE = True # Timing Configuration TRANSCRIPTION_BUFFER_SEC = 3.0 AUTO_RESPONSE_COOLDOWN = 10.0 LLM_RESPONSE_COOLDOWN = 8.0 # Emotion Classes FACE8 = ["Neutral", "Happy", "Sad", "Surprise", "Fear", "Disgust", "Anger", "Contempt"] MAP_8TO4 = { "Neutral": "Neutral", "Happy": "Happy", "Sad": "Sad", "Surprise": "Neutral", "Fear": "Sad", "Disgust": "Angry", "Anger": "Angry", "Contempt": "Angry", } FUSE4 = ["Neutral", "Happy", "Sad", "Angry"] IDX4 = {k: i for i, k in enumerate(FUSE4)}