46 lines
2.1 KiB
Markdown
46 lines
2.1 KiB
Markdown
---
|
|
created: 2026-08-30
|
|
modified: 2026-08-30
|
|
type: note
|
|
tags:
|
|
- voice
|
|
- system
|
|
- ai
|
|
aliases:
|
|
- Jervis
|
|
- Voice Assistant
|
|
---
|
|
|
|
# Home Voice Assistant System (Jervis)
|
|
|
|
> **Source of truth:** Gitea repo `sam/voice-assistant` → `https://gitea.lab.audasmedia.com.au/sam/voice-assistant`
|
|
> Docs: `docs/overview.md`, `docs/agent-api.md`, `docs/clients.md` (in that repo).
|
|
|
|
## TL;DR
|
|
Local, private voice assistant. "Hey Jervis" → natural language → one LLM brain (voice-agent on `.13:8501`)
|
|
decides intent → calls tools (time/weather/shopping/HA control/reminders/character voices) → speaks via piper → Snapcast.
|
|
|
|
**Command it from anywhere:** `POST http://192.168.20.13:8501/voice {"text":"add milk to the shopping list"}` (reply is spoken).
|
|
|
|
## Components (host:port)
|
|
| Component | Host | Port | Role |
|
|
|---|---|---|---|
|
|
| ESP32-S3 (wake word) | — | — | mic, LED |
|
|
| voice_bridge / voice_whisper | .13 | docker/:5000 | STT |
|
|
| **voice-agent (LLM brain)** | .13 | **:8501** | tool-calling |
|
|
| OmniRoute | .13 | :20129 | LLM gateway |
|
|
| piper_tts | .13 | :10200 | TTS |
|
|
| Snapcast | .13 | :1780 | audio |
|
|
| Home Assistant | .30 | :8123 | control |
|
|
| KitchenOwl | .35 | owl.lab | shopping |
|
|
| mosquitto | .13/.30 | :1883 | MQTT |
|
|
|
|
See the repo `docs/overview.md` for the full diagram + `docs/agent-api.md` for the API contract + `docs/clients.md` for type/web/Android.
|
|
|
|
## Status (2026-08-30)
|
|
- Voice-over-Snapcast restored (piper docker + HA→.13 SSH auth fixed); full-length speech (pure-python resampler).
|
|
- Agent persistent as NixOS systemd service; tools verified: time, weather, shopping (KitchenOwl), HA control, reminders, feed-fish, character voices (Trump etc.).
|
|
- **Music working**: `play_music` → Mopidy → Spotify → Snapcast (gst-plugin-spotify + device-auth credentials.json; Radiohead/Pink Floyd verified). Fast LLM route `voice-fast` (OpenRouter→opencode-go→deepseek flash) cuts response latency to ~2-3s.
|
|
- Next: pause/stop music tools, Apprise messaging (sam/jo/harry/finn), calendar (N8N), extended TTS voices. See [[secrets_fixes]] for credential issues.
|
|
|
|
See also: [[Docker Containers]], [[Home Network Map Overview]]. |