feeling_machine / README.md
RemiFabre
Add credits for Anaelle Jaffré's PAD emotion work from I3R project
a36288e
metadata
title: Feeling Machine
emoji: 🎭
colorFrom: purple
colorTo: blue
sdk: static
pinned: false
tags:
  - reachy_mini
  - reachy_mini_python_app

Feeling Machine

An expressive robot app that responds to users through emotions only - no speech output.

The robot listens to what you say and responds with expressive motion and procedurally-generated sounds based on the PAD model (Pleasure, Arousal, Dominance).

Features

  • PAD-based emotion generation: Motion and sound are generated procedurally from emotional parameters
  • Named emotions: joy, happiness, anger, fear, sadness, surprise, boredom, uncertainty, disgust, neutral
  • Custom PAD values: The LLM can specify precise P/A/D values for nuanced expressions
  • No speech: The robot expresses itself only through body language and generated sounds

PAD Model

The PAD model represents emotions in a 3D space:

  • Pleasure: Positive (+1) vs negative (-1) emotion
  • Arousal: Excited/energetic (+1) vs calm/relaxed (-1)
  • Dominance: In control (+1) vs submissive (-1)

Usage

cd src/feeling_machine
python main.py --gradio

Then open http://127.0.0.1:7860/ or http://127.0.0.1:7861/

Classic Emotions

If you specifically ask for "classic" emotions, the robot can play pre-recorded emotions from the Pollen library instead of PAD-generated ones.

Credits

PAD-based motion and sound generation by Anaelle Jaffré, from the I3R student project.