mood_engine / README.md
jrubiosainz's picture
Initial publish: mood_engine
85195d1 verified
metadata
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)

# 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

pip install .
reachy-mini run mood_engine