Browser-native acoustic exchange

Sound can move
tiny proof.

SonicPair uses only a speaker and microphone. It has exactly two jobs: a one-way random-key receipt check, and a tiny-file transfer with manifest, chunks, SHA-256 validation, and a receiver completion receipt.

Transport
4-FSK + CRC-16
File limit
512 bytes / SHA-256
Default
audible 4.4–5.9 kHz
Fallback
QR / manual code
Clearly audible. Use this first for real-device tests.

This browser does not expose the required Web Audio and microphone APIs. Use a current browser over HTTPS or localhost.

VERIFY · ONE WAY

Visible key.
Editable text.

The sender starts with a visible random 128-bit hexadecimal key. You may replace it with any short text (up to 64 UTF-8 bytes), then send it once. The listener succeeds only after decoding that exact text with a valid CRC.

SEND

Broadcast key or text

Put the listener in capture mode first. The exact text above is the payload sent over sound; this uses no network traffic.

RECEIVE

WAITING
Received text
Sender text
STATUS

Ready. Begin with audible mode on two nearby devices.

Engineering boundary

Useful, measurable,
not magical.

01Use audible mode first.Near-ultrasonic frequencies are not universally inaudible; microphones and speakers vary sharply above 16 kHz.

02CRC is transport integrity only.A valid frame means received bytes survived the modem. It does not identify the sender or make sound private.

03Completion requires a receipt.The file sender marks success only after receiving a matching SHA-256 receipt from the receiver.

04Keep a fallback.Use QR or a manual code when microphone permission, volume, or the acoustic path fails.