Pull Morse out of
the noise floor
A neural decoder that copies CW down to −12 dB SNR — the noise carrying ~16× the power of the signal, well below where a tone stops being a tone to the ear. Try it right here: key a message, bury it, and watch the model copy it back.
This is a live demo. The full decoder ships as a desktop app — see below.
Two ways to drill — both scored
The demo proves the model can read CW. These put you on the key — each a trainer with its own public leaderboard.
A callsign buried in static, keyed twice — copy it before a neural decoder does. Pick your license class; climb the public board.
Take the bot onCopy random callsigns at the edge of your speed. Every clean copy nudges the WPM up; your best score and top WPM land on the board.
Push your speedKey any text at 12–50 WPM, then bury it: set the SNR and add the impairments real bands throw at you — AWGN, QSB fading — all synthesized in-browser.
CWNet — an 808k-param CNN→TCN→BiGRU with a CTC head (3.1 MB) — reads the signal envelope and copies the characters. Pure WASM, no server.
The copy is graded against ground truth with a Levenshtein-aligned diff — character error rate, confidence, per-stage timing. No black box.
Nothing leaves your device
CWNet runs locally on the WASM backend of ONNX Runtime, threaded across your cores. There is no backend — your audio never leaves the tab. Pop open the network panel and watch: once the .onnx weights load, decoding fires zero requests.
A callsign, buried in static, keyed twice in one clip — yours eased to your tier, the bot’s cranked to Extra. You stitch the repeats together in your head on the fly; the model decodes each send on its own and merges them. Same trick, different hardware.
It's the interesting question, and we don't hide it — every round shows exactly how the bot used its two looks.