File size: 1,569 Bytes
46d5d48
 
daced27
46d5d48
daced27
46d5d48
 
 
 
 
 
 
 
 
daced27
46d5d48
daced27
46d5d48
daced27
46d5d48
daced27
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4cbb336
daced27
 
 
 
a36288e
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
---
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:
- **P**leasure: Positive (+1) vs negative (-1) emotion
- **A**rousal: Excited/energetic (+1) vs calm/relaxed (-1)
- **D**ominance: In control (+1) vs submissive (-1)

## Usage

```bash
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](https://github.com/InTheSnow31/reachy-mini-I3R/blob/main/src/movement_sound_generation/README.md).