LIMEN · Air-Gap Decoder

Listens across the air for a LIMEN crossing and recovers gate + direction by ear — a live FFT on the gate tones, synced to the 3-2-1-0 pulse. Point this phone's mic at a device speaking LIMEN.

— listening —
heard line (gate · direction)
nothing yet — start listening
mic needs your tap (iOS rule) & an HTTPS or installed page
Test it on this one phone — or transmit to another

Build a crossing and play it aloud. With one iPhone: tap Start listening, then Play — it hears itself across the air. With two: play on one, listen on the other (the real air gap).

↑◐«witness»
What this decodes — and what it can't (honest)

Per the LIMEN spec, the audio carries a 2-field tag: the gate's base tone → which gate, the rise/fall contour → which direction. That is all the sound holds. The witness text never rides the audio — it travels only on the glyph channel. So this decoder honestly recovers gate + direction and shows «…» as a blank witness slot.

The five gate tones it listens for: stile 262Hz · airgap 330Hz · veil 392Hz · close 523Hz · gap 294Hz. Direction is read from contour — if the three pulses ascend it's a rise ↑, if they descend it's a fall ↓. The 3-2-1-0 cadence is the clock, not data — it's how the decoder knows when to listen.

Honest limits: acoustic detection can mis-hear in a noisy room or off a tinny speaker; phone mics roll off the high tones; and an empty-witness crossing is, by the witness rule, a non-event (silent) — so silence here is correct, not a failure.

LIMEN · air-gap decoder · listens, never claims the witness from sound
canonical: github.com/DavidWise01/pulse · ROOT0 / TriPod LLC · CC-BY-ND-4.0
decodes gate + direction by ear · the witness stays on the glyph