Odyssey Modem ✕
modem.odd.place
About Controls How to use Sharing Signal Stack
About
A working data modem that runs in this page. Type a message and it leaves your speaker as a run of tones: sixteen pitches, each one carrying four bits. Before the tones go out, Reed-Solomon error correction adds spare bytes, so the receiver can repair a frame even when part of it arrives garbled. Another phone or laptop listens with its microphone and turns the tones back into your words, or watches your screen flash with its camera.
It belongs to the family of ideas behind fax machines, dial-up internet, spacecraft telemetry and the digital modes radio amateurs use today, slowed down enough that you can hear every symbol.
What a transmission is made of
A rising chirp, so the receiver can find the start to within a few samples. Four sync tones. The message length, sent three times so the receiver can take a vote. The message itself in Reed-Solomon blocks, as tones. A CRC-16 checksum, and a closing tone.
Tones are 100 Hz apart and change phase smoothly from one symbol to the next, which keeps the signal clean and click-free.
What each control does
Message The text to send. Any language and emoji work; they travel as UTF-8 bytes.
Profile How fast the tones change: FAST sends 100 symbols a second, STANDARD 50, ROBUST 25 and SLOW 10. Slower profiles survive a noisy room or a distant speaker. Sender and receiver must use the same profile.
Carrier base The lowest of the sixteen tones, 600 to 1500 Hz; the rest sit 100 Hz apart above it. Move it if something in the room hums at the same pitch. Both ends must match.
Volume How loud the transmission plays. Loud and clear beats loud and distorted.
Acoustic or Optical Send as sound through the speaker, or as brightness flashes on the on-screen pad for a camera to read. Fullscreen pad makes the target bigger.
Transmit, Stop, Export WAV Play the message, stop it, or save it as a sound file you can send or decode later.
Loopback test Plays the message and feeds the same audio straight into the decoder, to prove everything works without a second device.
Listen Decodes live from your microphone. Record while listening keeps the audio so you can save it or run Auto-detect , which tries every profile and carrier when you don't know the sender's settings.
Camera and File Watch a flashing pad (drag the box over it), or decode an audio file someone sent you.
Waterfall and Tone activity The waterfall scrolls the spectrum from 600 to 3200 Hz, so each symbol shows as a bright dash at its pitch. The bars show which of the sixteen tones is loudest right now.
Receiver numbers SNR est. is the loudest tone against the rest. Best corr. is how closely the incoming sound matched the start chirp; above about 0.2 it can lock on. FEC fixed counts bytes that error correction repaired; CRC fail counts frames that couldn't be saved.
Copy settings link Copies the page address with your message, profile, carrier and volume in it, for bookmarking.
How to use it
Two devices: open modem.odd.place on both. On the receiver press Listen and allow the microphone. On the sender type a message, check that the profile and carrier match, hold the speaker near the other microphone and press Transmit .
If it doesn't decode: start with STANDARD, then try ROBUST or SLOW. Find a quieter spot, raise the volume, or move the carrier away from background hum. Watch Best corr. : if it never climbs, the receiver isn't hearing the start chirp clearly.
One device: press Loopback test to watch your message travel through the whole encoder and decoder.
By light: switch the sender to Optical, the receiver to Camera, and point the camera at the pad.
Sharing a message
Press Share (top right), check the message, and choose whether the share page shows the words or keeps them secret. Each share gets its own page and picture for Facebook and other link previews.
When a friend opens it, the modem loads the message with the matching profile and carrier. Play and decode plays the tones and the decoder writes the words out as they arrive. They can also play it from one device and decode it on another.
“Secret” keeps the words off the share page and the preview. It's a puzzle, not encryption: anyone who decodes the tones can read it, which is the point. For a message only the right person can read, use the Hellschreiber's key.
The Signal Stack
Three machines for sending words without a voice, oldest first. Each one solves the same problem, getting letters through a noisy channel, in the way its era could.
I Morse Trainer Dots and dashes, from the 1840s
II Hellschreiber Letters printed by sound, 1929
III Odyssey Modem Tones and error correction, today
Discover more Oddities at odd.place Generative art, games, science toys and signal machines from the same workshop.
Made by Jason Buchheim. Produced by Odyssey Expeditions , marine biology adventure travel since 1995. Everything runs in your browser; your microphone and camera never leave your device.