Prototype · data over sound

Tone Cards

Type a short message, broadcast it as a burst of musical tones through your speaker, and decode it back to text on another device (or tab) listening with its microphone. No accounts, no server — everything happens live in the browser.

STAGE  →  AIR  →  AUDIENCE
01 · Broadcast

On stage

Encodes your text into a sequence of tones (a short pentatonic melody, not a harsh chirp) and plays it through your speaker.

5/60
Ready to broadcast.
How the encoding works

Your text is converted to bytes, wrapped with a length header and Reed-Solomon parity (so a few masked tones can still be recovered), then split into 4-bit chunks. Each chunk becomes one of 16 tones, evenly spaced and confined to less than one octave — this trades some musicality for a guarantee that no tone's natural harmonic distortion can be mistaken for a different tone. A single high marker tone signals "start"; "end" is a dual-tone chord (low in-band + high above the data band) so a lone tone in the room can't fake it. If your message starts with a known shortened-URL prefix (like is.gd), that prefix is replaced with a single flag byte instead of being transmitted character-by-character. Repeats are merged by majority vote, so one punched-through pass can still yield a clean decode.

02 · Listen

In the crowd

Uses your microphone to listen for the tone sequence and decodes it back into text, locally, on this device.

Not listening.
Nothing received yet.
No messages received yet.