Microphone / audio
June 5, 2026 ยท View on GitHub
GGWave is a data-over-sound codec: pairing payloads are transmitted by playing audio through a speaker and received by capturing audio from a microphone. Both the hub and the satellite therefore need working audio I/O, and the two devices must be within audible range.
Requirements
- A speaker to emit
HMPSWD:/HMKEY:/HMHOST:tones. - A microphone to decode the tones sent by the other device.
- Audio captured at the GGWave sample rate (default 48 kHz).
Capture
The receive loop reads audio chunks and feeds them to the GGWave decoder; when a complete payload is recognised, the matching opcode handler runs. Transmit encodes the payload to PCM and plays it back through the system audio output.
Tips
- Keep devices close and the environment reasonably quiet; GGWave is robust but not immune to loud background noise.
- If the hub has no speaker (or you prefer to pair from a phone), use the browser tool at https://jarbashivemind.github.io/hivemind-ggwave to emit/decode the same tones.
- Volume that is too low fails to decode; too high can clip. Tune
volumein the GGWaveconfigif pairing is unreliable.