--- title: Mood Engine emoji: 🎭 colorFrom: purple colorTo: blue sdk: static pinned: false short_description: "Full emotion system with personality presets" tags: - reachy_mini - reachy_mini_python_app --- # Mood Engine 🎭🤖 Full emotion state machine for Reachy Mini with 6 base emotions, compound emotions, personality presets, micro-expressions, mood decay, and configurable web UI. ## Emotions **Base:** neutral, happy, sad, curious, surprised, angry **Compound:** bittersweet, awestruck, nervous, frustrated, intrigued, content ## Personality Presets | Personality | Style | |------------|-------| | 🐱 Shy | Subtle movements, slow transitions | | 🦁 Bold | Exaggerated movements, fast transitions | | 🐒 Playful | Bouncy movements, quick changes | ## Features - Smooth emotion transitions with natural durations - Micro-expressions (random subtle twitches every 3-8s) - Mood decay toward neutral over time - Emotion memory (history of transitions) - Compound emotions via blending - Personality modifiers affect intensity, speed, and idle behavior - REST API for control ## API (port 8042) ```bash # Set emotion curl -X POST http://localhost:8042/emotion -H "Content-Type: application/json" -d '{"emotion": "happy", "intensity": 0.8}' # Set compound emotion curl -X POST http://localhost:8042/emotion -d '{"emotion": "awestruck"}' # Change personality curl -X POST http://localhost:8042/personality -d '{"personality": "playful"}' # Get current state curl http://localhost:8042/state ``` ## Requirements - `numpy` ## Install & Run ```bash pip install . reachy-mini run mood_engine ```