Voice Satellite
The full-stack OVOS voice satellite. Microphone, VAD, wakeword, STT, and TTS all run on this device. Only the transcribed text utterance is sent to the hub. Responses arrive as text and are spoken locally.
What runs locally: Microphone + VAD + Wakeword + STT + TTS
What the hub provides: Skills, intents, reasoning
When to use it
- Devices with sufficient CPU/GPU (laptop, desktop, Raspberry Pi 4B or better)
- Maximum audio privacy — audio never leaves the device
- Low-latency interaction (no round-trip for audio)
- Offline operation after initial model downloads
Install
pip install HiveMind-voice-sat
# Linux (ALSA / SoundDevice microphone support)
pip install HiveMind-voice-sat[linux]
# macOS
pip install HiveMind-voice-sat[mac]
Quickstart
1. On the hub — register a client:
hivemind-core add-client --name my-voice-sat
2. On the satellite — run it:
hivemind-voice-sat --host <hub_host> --key <access_key> --password <password>
Say your wakeword. The satellite transcribes locally and sends the utterance text to the hub.
CLI reference
Usage: hivemind-voice-sat [OPTIONS]
Options:
--host TEXT HiveMind host (ws:// or wss://)
--key TEXT Access key
--password TEXT Password for key derivation
--port INTEGER HiveMind port number (default: 5678)
--selfsigned Accept self-signed TLS certificates
--siteid TEXT Location identifier for message context
All flags fall back to the identity file written by hivemind-client set-identity.
Configuration
voice-sat reads ~/.config/mycroft/mycroft.conf (standard OVOS configuration). Override STT, TTS, VAD, and wakeword plugins there.
Example:
{
"listener": {
"VAD": {
"module": "ovos-vad-plugin-silero"
},
"wake_word": "hey_mycroft",
"hey_mycroft": {
"module": "ovos-ww-plugin-vosk"
}
},
"stt": {
"module": "ovos-stt-plugin-server",
"ovos-stt-plugin-server": { "url": "https://stt.openvoiceos.org/stt" }
},
"tts": {
"module": "ovos-tts-plugin-server",
"ovos-tts-plugin-server": { "host": "https://tts.openvoiceos.org" }
}
}
All plugin slots are swappable via ovos-plugin-manager.
| Plugin type | Config key | Required |
|---|---|---|
| Microphone | listener.microphone.module |
Yes |
| VAD | listener.VAD.module |
Yes |
| Wakeword | listener.wake_word |
Yes (can skip with continuous listening) |
| STT | stt.module |
Yes |
| TTS | tts.module |
Yes |
| G2P | g2p.module |
No |
| Media playback | various | No |
| Audio/Dialog transformers | various | No |
| PHAL | PHAL.ovos-phal-... |
No |
How it differs from other satellites
Unlike mic-satellite and voice-relay, voice-sat sends text utterances to the hub — no audio leaves the device. The hub only needs to run skills and return text responses. It does not need hivemind-audio-binary-protocol.
You also choose your own STT and TTS plugins, independent of any hub configuration.