talk / plan.md
onitsche's picture
Initial commit
14b721e
# Plan: talk β€” Reachy Mini date/time announcer
## What I understand you want
A Reachy Mini Python app (`talk`) that:
1. Wakes the robot up (animation + sound)
2. Speaks the current date and time in German via text-to-speech
## App flavour
**Python app** (not JS) because:
- TTS requires `espeak-ng` on the robot
- This is a developer-style on-robot app, same pattern as the sibling `recognizer`
- The `--template conversation` is designed exactly for "making the robot talk"
Scaffold command (after plan approval):
```bash
reachy-mini-app-assistant create --template conversation talk /Users/oliver/Documents/dev/reachy_mini/talk --publish
```
## Technical approach
1. **TTS**: `espeak-ng -v de -s 130 -w /tmp/datetime.wav` + `reachy_mini.media.play_sound()`
German voice gives natural German phonetics for date/time strings.
2. **Date/time string**: Python `datetime` formatted manually in German
e.g. `"Heute ist Montag, der neunzehnte Mai 2026. Es ist 14 Uhr 30."` β€” spelled-out numbers sound better from a TTS engine than digits.
3. **Lifecycle**: `ReachyMiniApp` subclass, `--template conversation` base
- On `run()`: call `reachy_mini.wake_up()`, then speak the date/time string
## Open questions β€” please fill in your answers
**Q1: Trigger** β†’ B) Antenna press (either antenna β†’ speak)
**Q2: Hardware** β†’ Wireless (onboard CM4)
**Q3: After speaking** β†’ Goes back to sleep