Sensory
Multi-Sensory AI Communication for Off-Grid Networks
Give "eyes" to text-only LLMs via audio pathways. "Een 7B model krijgt opeens ogen"
Part of the HumoticaOS McMurdo Off-Grid Communication Layer.
pip install sensory
This is the convenience alias for mcp-server-sensory. Both packages provide identical functionality.
The REFLUX Concept
FLUX creates images from text (generative, one-way). REFLUX creates a complete sensory loop — information survives transformations:
FLUX: Text → Image (one way, generative)
REFLUX: Text → Image → SSTV Audio → Radio → Audio → Image → OCR → Text
↑ ↓
└───────────────── Complete Loop ───────────────────────────┘
This is how we give "eyes" to text-only LLMs:
- Encode text into an image
- Encode image to SSTV audio (Robot36, Martin, Scottie)
- Transmit via radio/speaker
- Receive and decode SSTV audio to image
- OCR the image back to text
- Small LLM now has "vision" via audio pathway!
The Vision
┌─────────────────────────────────────────────────────────────┐
│ YOUR MESSAGE │
└─────────────────────────┬───────────────────────────────────┘
│
┌─────────────────┼─────────────────┐
↓ ↓ ↓
┌─────────┐ ┌──────────┐ ┌──────────┐
│ MORSE │ │ BRAILLE │ │ SSTV │
│ .--. │ │ ⠓⠑⠇⠇⠕ │ │ REFLUX! │
└────┬────┘ └────┬─────┘ └────┬─────┘
↓ ↓ ↓
AUDIO VISUAL AUDIO
LIGHT TACTILE IMAGES
VISUAL PUNCHCARD RADIO
Features
Morse Code
- Encode/decode text to Morse
- Multiple output formats: standard (.-), visual (█▄), binary (10)
- Timing data for audio/light generation
- Embeddable in images for visual transmission
Braille
- Encode/decode text to Braille Unicode
- Generate punchcard patterns (ASCII art)
- Binary grid output for CNC/laser cutting
- Physical audit trail — punch into paper/card!
SSTV / REFLUX
- Robot36 — 36 seconds, color, 320x240 (fastest!)
- Robot8BW/24BW — Grayscale modes
- Martin M1/M2 — High quality color modes
- Scottie S1/S2 — Popular ham radio modes
- Ponskaart — Authentication cards for McMurdo remote auth
Coming Soon
- ggwave — Ultrasonic data transmission (inaudible to humans)
- SSTV Decode — Complete the REFLUX loop
- RTTY — Classic radio teletype
Quick Start
from sensory import morse, braille, sstv
# Morse encoding
message = morse.encode("HELLO")
print(message) # .... . .-.. .-.. ---
# Visual Morse (for images)
visual = morse.encode("SOS", morse.MorseFormat.VISUAL)
print(visual) # ▄▄▄ ███ ▄▄▄
# Braille encoding
braille_msg = braille.encode("hello")
print(braille_msg) # ⠓⠑⠇⠇⠕
# SSTV / REFLUX - Text to image to audio
audio_bytes = sstv.encode_text("STATUS: OK", mode="robot36")
# Save as WAV for radio transmission or speaker playback
# McMurdo Ponskaart - authentication via radio
ponskaart = sstv.encode_ponskaart(
user_id="jasper",
auth_token="secret123",
command="REBOOT SERVER"
)
# Transmit via radio when network is down!
Use Cases
Multi-Modal Bridge for Small LLMs
A 7B parameter model doesn't have vision? Give it ears! SSTV decode → image → OCR → text. Now it "sees".
Off-Grid AI Communication (McMurdo)
Two Raspberry Pi's with speakers/mics can exchange messages via Morse audio or SSTV images — no internet required!
Physical Audit Trail (TIBET Integration)
Encode TIBET tokens as Braille punchcards. Physical, tamper-evident, human and machine readable.
Remote Authentication (Ponskaart)
Network down? Transmit authentication via SSTV radio. McMurdo receives, decodes, validates, executes.
Ham Radio
Ham radio operators can relay AI messages using Morse code or SSTV images. Works globally, no internet infrastructure needed.
Accessibility
Braille output enables tactile reading of AI responses.
Also Available As
- MCP Server:
pip install mcp-server-sensory— Use as Model Context Protocol server - With audio:
pip install mcp-server-sensory[audio]— Includes audio dependencies
The Stack
┌─────────────────────────────────────┐
│ sensory / mcp-server-sensory │
│ (Morse, Braille, SSTV/REFLUX) │
├─────────────────────────────────────┤
│ I-Poll (AI messaging) │
├─────────────────────────────────────┤
│ AINS (agent discovery) │
├─────────────────────────────────────┤
│ TIBET (trust & provenance) │
└─────────────────────────────────────┘
Part of HumoticaOS
McMurdo Off-Grid Communication Layer
Created by Jasper van de Meent & Root AI (Claude) — Humotica, Den Dolder, Netherlands
Official Distribution
This package is officially distributed via:
Metadata
Release files for sensory 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| sensory-0.3.1.tar.gz | 4.3 kB | Without provenance | Details for sensory-0.3.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| sensory-0.3.1-py3-none-any.whl | Python 3 | none | any | Details for sensory-0.3.1-py3-none-any.whl |
Total release size: 8.3 kB
Release files / sensory-0.3.1.tar.gz
| Download URL | sensory-0.3.1.tar.gz |
|---|---|
| Size | 4.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2820531c856fd0fa88daa347e74402bf429589bdd77ffb45fdc3984980784bad
|
|
BLAKE2b-256 checksum How to use checksums |
7d7799e3e06dfd5c97b672297b56d53505c82c323306d7502d59269ff04e2717
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / sensory-0.3.1-py3-none-any.whl
| Download URL | sensory-0.3.1-py3-none-any.whl |
|---|---|
| Size | 4.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
270ca6fb824f42d540b6e3b1a09eb54a5bb6f1aeb23f4ffc4671cf98836bd8d0
|
|
BLAKE2b-256 checksum How to use checksums |
b807906a78b33ba5bbe54e30c7a7e2cbc4c3de004e5cd1909599a804bbc9eb08
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Security for sensory 0.3.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.