Operations
Voice & Audio
Motion & Replay
Recognition
Recordings
Settings & Logs

###
Quick Voice

###
System Info

Loading...
Network interfaces
Subsystems (connected / disconnected)

###
Audio Control

Microphone
Speaker
G1 Built-in Speaker Volume –
Persisted in data/motions/config.json · applies live via DDS
Audio device profile
Manual sink / source override

###
Quick Actions

Speed
BUSY

### Live Voice Commands

Arm Trigger
Deferred Trigger
Last heard: --
Pending action: --
Audio attached: -- | Arm attached: -- | Gemini: --

### Live Gemini Process

State: --
User: --

### Gemini API Key

The key used by GeminiVoiceClient and the Live Gemini subprocess. Saved to `data/motions/config.json`. Get a free key at aistudio.google.com/app/apikey.
Current
New key

### Typed Replay Engine

Record speaker
Session

### Wake Phrase Manager

### Motion Control

Gestural Speaking Speed
BUSY
SDK Actions (built-in)
JSONL Replays (recorded)

### Replay Manager

Motion Files
Upload .jsonl
Test Replay
Teaching Mode

### Macro Recorder (Audio + Motion)

Record
Play
Voice (WAV)
Motion (JSONL)
Speed

### Camera Vision & Face Recognition

Camera Vision --
Face Recognition --
Toggles take effect within ~1 second on the running Gemini session — no restart required.

### Live Preview

Camera off — toggle Vision ON to see the live feed.
--
Resolution / FPS
JPEG Quality
Each button rebuilds the capture pipeline (~0.5 s). Modes match the RealSense D435I colour sensor — on USB 2.x, stick to 424×240 or 640×480. If the feed is grayscale/IR, pin the colour node with `SANAD_CAMERA_USB_INDEX`.

### Add New Face

Name
Description — who is this person? (Gemini reads it)
📁 Upload images
Tip: add 2–3 photos / different angles per person for best recognition. The description is sent to Gemini with the photos — it can then greet and talk about the person using what you wrote.

### Enrolled Faces

Loading…

### Skill Registry

No skills configured

### Saved Records

No records saved

### Scripts Manager

### Prompt Management

### Live Logs