Skip to main content

Remote microphone for HiveMind

Project description

Ask DeepWiki License PyPI

HiveMind Microphone Satellite

The thinnest HiveMind satellite — Microphone + VAD only. All speech processing happens on the hive.

Audio is streamed from this device to a HiveMind server running hivemind-audio-binary-protocol. The server handles wakeword detection, STT, intent, and TTS synthesis; the satellite receives the synthesized speech audio and plays it back locally. No local STT or TTS models are needed — ideal for 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 Text-only (keyboard/script)
hivemind-mic-satellite (this repo) local local server server server Cheapest HW, zero local models
HiveMind-voice-relay local local local server server Mid-range: local wakeword
HiveMind-voice-sat local local local local local Full local stack, sends text

Server requirements

Important: The default hivemind-core does not include audio processing.
You need hivemind-audio-binary-protocol installed server-side to enable server-side wakeword, STT, and TTS.


Install

pip install hivemind-mic-satellite

Requires Python ≥ 3.10.


60-second 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 Voice activity detection (when to stream)
PHAL No Platform/hardware abstraction (e.g. LEDs, buttons)
TTS Transformers No Mutate TTS audio before playback
G2P No Visemes / mouth movement (e.g. Mycroft Mk1)
Media Playback No "Play Metallica"-style media commands
OCP Plugins No URL playback (YouTube, etc.)

Features not present (handled server-side)

  • STT (speech-to-text) — runs on server
  • TTS (text-to-speech) synthesis — runs on server
  • Wakeword detection — runs on server
  • Continuous listening / hybrid listening / sleep mode / recording mode
  • Multiple wakewords
  • Audio / dialog transformer plugins

Documentation

Full zero-to-hero 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 (mic, VAD, PHAL, …)

License

Apache-2.0 — see LICENSE.

Project details


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.8.0a1.tar.gz (83.3 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.8.0a1-py3-none-any.whl (79.3 kB view details)

Uploaded Python 3

File details

Details for the file hivemind_mic_satellite-0.8.0a1.tar.gz.

File metadata

  • Download URL: hivemind_mic_satellite-0.8.0a1.tar.gz
  • Upload date:
  • Size: 83.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for hivemind_mic_satellite-0.8.0a1.tar.gz
Algorithm Hash digest
SHA256 173de4b0d6d5ce8a579e5f2a1d471340432f695271a71697c2a7bba6dcac3390
MD5 7d17c92228771d29bbf21206fdd1e2e6
BLAKE2b-256 b3e7691c28c093ec4f54b8ad88d1d95f1e9ee5408b946984cfd777bc6fbea0dc

See more details on using hashes here.

File details

Details for the file hivemind_mic_satellite-0.8.0a1-py3-none-any.whl.

File metadata

File hashes

Hashes for hivemind_mic_satellite-0.8.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 3f9b2f350f9c2f7ee91d1c71256e2b8ddc9dd20552e2506adc16702886e240f8
MD5 e872c4446bf3b093203f54fb08e3d930
BLAKE2b-256 cbad31853aeaff5b4df073401fb75d6454a29810aaaeaee03d373e94d8052e1b

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