Hivemind Voice Relay
Project description
HiveMind Voice Relay
Local wakeword detection; STT and TTS handled remotely by hivemind-core running the hivemind-audio-binary-protocol plugin.
Voice Relay runs the microphone, VAD, and wakeword engine on-device — keeping wake-word detection private and low-latency — while forwarding audio to hivemind-core (running the hivemind-audio-binary-protocol plugin) for speech-to-text, and receiving synthesised audio back for playback. No STT or TTS models run on the device.
Full documentation: docs/
Satellite spectrum
| Satellite | Mic | VAD | Wake word | STT | TTS | Connects to |
|---|---|---|---|---|---|---|
| HiveMind-cli | — | — | — | — | — | hivemind-core |
| hivemind-mic-satellite | local | local | server | server | server | core + audio-binary-protocol |
| HiveMind-voice-relay (this repo) | local | local | local | server | server | core + audio-binary-protocol |
| HiveMind-voice-sat | local | local | local | local | local | hivemind-core |
Voice Relay is the middle-ground: wakeword detection stays on-device (low latency, no audio leaves until activation), while the heavier STT and TTS models run on the server.
Server requirements
⚠️ Your
hivemind-coreserver must have the hivemind-audio-binary-protocol binary plugin installed. Plainhivemind-coredoes not handle STT or TTS — connecting to it will result in silence (no transcription, no spoken response).Alternatively, run
hivemind-coretogether withovos-audioandovos-dinkum-listenerto provide the same capabilities.
Install
pip install HiveMind-voice-relay
60-second quickstart
1. Configure identity (one-time):
hivemind-client set-identity --key YOUR_ACCESS_KEY --password YOUR_PASSWORD --host wss://your-listener-host
2. Run:
hivemind-voice-relay
3. Speak your wake word. The default wake word is hey mycroft (configured in ~/.config/mycroft/mycroft.conf).
CLI flags
Usage: hivemind-voice-relay [OPTIONS]
connect to hivemind-core running the audio binary protocol
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
--help Show this message and exit.
All flags fall back to values stored by hivemind-client set-identity.
Configuration
Voice Relay reads ~/.config/mycroft/mycroft.conf (standard OVOS config).
| Plugin type | Config key | Default | Required |
|---|---|---|---|
| Microphone | microphone.module |
ovos-microphone-plugin-alsa |
Yes |
| VAD | listener.VAD.module |
ovos-vad-plugin-silero |
Yes |
| Wake word | listener.wake_word |
hey_mycroft |
Yes |
| G2P | tts.g2p_module |
— | No |
| Media Playback | Audio.backends |
— | No |
| OCP Plugins | — | — | No |
| Dialog Transformers | — | — | No |
| TTS Transformers | — | — | No |
| PHAL | — | — | No (auto-loaded if installed) |
See docs/configuration.md for full details and plugin swap instructions.
Features and limitations
Built on ovos-simple-listener. Compared to the full voice-satellite:
Present:
- Microphone capture, VAD, wakeword detection — all local
- Audio forwarded to hivemind-core (hivemind-audio-binary-protocol plugin) for STT (base64-encoded WAV over the HiveMessage bus)
- TTS audio synthesised server-side and streamed back for local playback
- PHAL (platform hardware abstraction) auto-loaded if installed
- Standard OVOS plugin system for mic, VAD, and wakeword
Not supported (use HiveMind-voice-sat if you need these):
- Local STT / TTS plugins
- Audio Transformers
- Continuous / Hybrid / Recording / Sleep listening modes
- Multiple wake words
Related
| Project | Role |
|---|---|
| hivemind-audio-binary-protocol | Required hivemind-core plugin — provides server-side STT + TTS |
| hivemind-core | Base mesh node (no STT/TTS) |
| HiveMind-cli | Text-only satellite |
| hivemind-mic-satellite | Thinnest audio satellite (no local wakeword) |
| HiveMind-voice-sat | Full local stack satellite |
| hivemind-bus-client | HiveMind WebSocket client library |
| ovos-simple-listener | Lightweight listener library used internally |
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hivemind_voice_relay-1.1.0a1.tar.gz.
File metadata
- Download URL: hivemind_voice_relay-1.1.0a1.tar.gz
- Upload date:
- Size: 13.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88d52423fe2dd1e0c97dc905e3176ca021ab4360a07b8c786576648f811d2098
|
|
| MD5 |
9680a3fff4b7a5b33990c85a1d064da5
|
|
| BLAKE2b-256 |
202a5492dcf40f2736b718d897ca125d8dcd520624fbaf0caa6bf20195fb8658
|
File details
Details for the file hivemind_voice_relay-1.1.0a1-py3-none-any.whl.
File metadata
- Download URL: hivemind_voice_relay-1.1.0a1-py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01c096a364d30194a19cd0a54f6c652d89a7afab9b7df38938fe250f2dc26bc8
|
|
| MD5 |
9724f548aa8cc508d6230ae0bbb53a73
|
|
| BLAKE2b-256 |
2c15d9ca4b2830fb51f2b28718d92eb329773e52dfbc071fca6a0f8ae37e8887
|