Receiver online · 700 Hz · in-browser

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. Runs entirely on your device.

Raw signal · −12 dB SNR
Recovered keying · matched filter
CQ CQ DE KC4T Kdecoded · 88%
The signal chain
01 · Generate

Key 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.

02 · Decode

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.

03 · Compare

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.

Beat the Bot

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.

Is that a fair fight?

It's the interesting question, and we don't hide it — every round shows exactly how the bot used its two looks.

Made within Atlantav2026.6.7