| title | Chord Guessing Game | ||||
|---|---|---|---|---|---|
| emoji | 🎵 | ||||
| colorFrom | purple | ||||
| colorTo | blue | ||||
| sdk | static | ||||
| pinned | false | ||||
| tags |
|
A music education game built on the Reachy Mini Conversation App. Reachy Mini becomes a conversational game host that plays musical sounds and challenges kids to guess what they heard — in any language!
The game runs as a conversation app profile. The LLM (via OpenAI's Realtime API) acts as the game host, calling game tools to play challenges, evaluate answers, and manage scoring. No custom voice pipeline or state machine needed — the LLM drives the game flow conversationally.
reachy_mini_conversation_app (runtime)
├── OpenAI Realtime API (voice I/O, multilingual)
├── Movement Manager (dances, emotions)
└── Game Tools (profile: chord_game)
├── play_challenge — synthesize & play audio
├── check_answer — evaluate the kid's response
├── get_hint — return a hint
├── get_score — return score/level info
└── replay_challenge — replay current audio
- 5 progressive levels: Single notes, note sequences, chords, chord progressions, and musical modes
- Conversational: Reachy speaks, listens, and responds naturally in any language
- Robot celebrations: Dances and emotions for correct answers
- Star scoring: Earn 1-3 stars per challenge with streak bonuses
- Level unlocking: Earn enough stars to unlock harder levels
- Reachy Mini robot
- Python 3.10+
- OpenAI API key
pip install .The game uses SoundFont samples for realistic piano sound via FluidSynth. If the native library is not found, it falls back to basic sine wave synthesis.
To enable piano audio, install the FluidSynth library for your platform:
| Platform | Command |
|---|---|
| macOS | brew install fluidsynth |
| Ubuntu/Debian | sudo apt install libfluidsynth3 |
| Fedora | sudo dnf install fluidsynth-libs |
No extra Python packages needed — pyfluidsynth is installed automatically with the game.
Copy .env.example to .env and set your OpenAI API key:
cp .env.example .env
# Edit .env with your API key# Run directly
chord-guessing-game
# Or as a module
python -m chord_game.mainThe game connects to your Reachy Mini and starts a conversation. The robot will introduce itself and begin playing challenges.
- Reachy Mini introduces the game and plays a musical sound
- Listen carefully and say your answer out loud (in any language!)
- Reachy tells you if you're right and celebrates with a dance
- Earn stars based on how quickly you answer correctly
- Build streaks for bonus stars and unlock new levels
| Level | Name | Description | Stars to Unlock |
|---|---|---|---|
| 1 | Single Notes | Identify individual notes (C, D, E...) | 0 |
| 2 | Note Sequences | Identify sequences of 2-4 notes | 8 |
| 3 | Chords | Name chord types (major, minor...) | 20 |
| 4 | Chord Progressions | Identify sequences of chords | 35 |
| 5 | Modes | Identify musical modes (dorian, mixolydian...) | 50 |