Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Ask DeepWiki License PyPI

HiveMind Microphone Satellite

hivemind-mic-satellite is the smallest HiveMind satellite. It runs only a microphone plugin and a VAD (voice activity detection) plugin on the device.

Audio streams from this device to a HiveMind server that runs hivemind-audio-binary-protocol. The server handles wakeword detection, speech-to-text, intent processing, and text-to-speech synthesis. The satellite receives the synthesized speech audio and plays it back locally. No local STT or TTS models are needed, so the satellite can run on cheap, low-power hardware such as a Raspberry Pi Zero.


Satellite spectrum: where does processing happen?

Satellite Mic VAD Wakeword STT TTS Best for
HiveMind-cli n/a n/a n/a n/a n/a Text-only (keyboard/script)
hivemind-mic-satellite (this repo) local local server server server Cheapest hardware / homelab; no local models
HiveMind-voice-relay local local local server server Local wakeword; scales as a service
HiveMind-voice-sat local local local local local Full local stack, sends text

Server requirements

The default hivemind-core does not include audio processing. Install hivemind-audio-binary-protocol on the server to enable server-side wakeword, STT, and TTS.


Why mic-satellite, and when not to use it

mic-satellite exists for one reason: device resources. With only a microphone and VAD on-device, it runs on cheap hardware, such as a Raspberry Pi Zero or a recycled phone, with no local models. The hive owns everything else: wakeword, STT, intent, and TTS. It gates them behind the same access-key authentication as the rest of the mesh. The hive operator chooses the engines, models, and voice for every connected satellite. A satellite cannot override them. This is the same ownership model as voice-relay. See its docs for the "HiveMind as a service" framing.

There is a trade-off. Because there is no local wakeword, the satellite streams every detected voice segment upstream (gated by VAD, not by a wakeword). This continuous audio stream uses more bandwidth and puts the full STT load on the server for all speech, not just commands. This works well for a homelab with a handful of personal devices, where on-device resources are the binding constraint. It does not scale for HiveMind-as-a-service across many tenants, because streaming raw audio per client costs too much. For a service-style deployment, prefer voice-relay: a local wakeword means audio leaves the device only after activation.


Install

pip install hivemind-mic-satellite

Requires Python 3.10 or later.


Quickstart

1. On the hive (server): create an access key for this device:

hivemind-core add-client --name my-mic-sat
# note the access_key and password printed

2. On the satellite device: set the identity:

hivemind-client set-identity \
  --key <access_key> \
  --password <password> \
  --host <hive-host-or-ip>

3. Run:

hivemind-mic-sat

Or pass credentials directly without storing them:

hivemind-mic-sat --key <key> --password <password> --host <host> --port 5678

Minimal configuration

The satellite shares the standard OpenVoiceOS config file ~/.config/mycroft/mycroft.conf. At minimum you need a microphone plugin and a VAD plugin:

{
  "microphone": {
    "module": "ovos-microphone-plugin-alsa"
  },
  "VAD": {
    "module": "ovos-vad-plugin-silero"
  }
}

See docs/configuration.md for all options, plugin selection, and audio device tuning.


Supported plugins

Plugin type Required Purpose
Microphone Yes Captures audio from hardware
VAD Yes Detects voice activity, decides when to stream
PHAL No Platform/hardware abstraction (for example LEDs, buttons)
TTS Transformers No Mutate TTS audio before playback
G2P No Visemes for mouth movement (for example Mycroft Mk1)
Media Playback No Media commands such as "play Metallica"
OCP Plugins No URL playback (YouTube and similar)

Features handled server-side, not on this device

  • STT (speech-to-text)
  • TTS (text-to-speech) synthesis
  • Wakeword detection
  • Continuous listening, hybrid listening, sleep mode, recording mode
  • Multiple wakewords
  • Audio and dialog transformer plugins

Documentation

Full documentation is in docs/:


Related

Project Role
HiveMind-core The hive, manages connected satellites
hivemind-audio-binary-protocol Server-side audio processing (required)
HiveMind-voice-relay Satellite with local wakeword
HiveMind-voice-sat Full local stack satellite
HiveMind-cli Text-only satellite
ovos-plugin-manager Plugin framework (microphone, VAD, PHAL, and more)

License

Apache-2.0: see LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hivemind_mic_satellite-0.9.0a2.tar.gz (84.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hivemind_mic_satellite-0.9.0a2-py3-none-any.whl (79.9 kB view details)

Uploaded Python 3

File details

Details for the file hivemind_mic_satellite-0.9.0a2.tar.gz.

File metadata

  • Download URL: hivemind_mic_satellite-0.9.0a2.tar.gz
  • Upload date:
  • Size: 84.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for hivemind_mic_satellite-0.9.0a2.tar.gz
Algorithm Hash digest
SHA256 bbf54b8b8697e4924c69fbe39403f05bd0b18465ef545c0916ee9a71ecf26c11
MD5 875749d33dab00d9e2d76470eee1e27c
BLAKE2b-256 10a3550dff3d5c153d5b0e06a10414e4d9c7dbd49c52b2cd5bcc5a7534f75298

See more details on using hashes here.

File details

Details for the file hivemind_mic_satellite-0.9.0a2-py3-none-any.whl.

File metadata

File hashes

Hashes for hivemind_mic_satellite-0.9.0a2-py3-none-any.whl
Algorithm Hash digest
SHA256 b23ecd5de07ed46c173de216b5fc9c151ecdbf9ce773210b069c0474ad08604a
MD5 e4c3cda805924b743332e299c18a943f
BLAKE2b-256 e0f44ae4fc58e1e34df52309990e10e271c506d07b9cf29cd006c1159f67facc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page