Skip to main content

Sensory

PyPI version Python 3.10+ License: AGPL-3.0

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:

  1. Encode text into an image
  2. Encode image to SSTV audio (Robot36, Martin, Scottie)
  3. Transmit via radio/speaker
  4. Receive and decode SSTV audio to image
  5. OCR the image back to text
  6. 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)

Source distribution for sensory 0.3.1
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)

Table of built distributions (wheels) for sensory 0.3.1
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page