Table of Contents
- The Problem: CW Under Difficult Conditions
- The Solution: Neural Networks for CW
- How Does AI-Based CW Decoding Work?
- 1. Audio Preprocessing
- 2. Spectrogram Generation
- 3. CNN Feature Extraction
- 4. RNN Sequence Processing
- 5. Output and Error Correction
- Available Tools and Projects
- 1. DeepCW
- 2. deepmorse-decoder by AG1LE
- 3. More open-source experiments
- 4. For comparison: CW Skimmer and fldigi
- 5. WSJT-X: not CW, but related techniques
- How Reliable Are the Numbers?
- Practical Applications
- 1. Training Aid for CW Learners
- 2. Contest Operation
- 3. DX Pile-Ups
- 4. Accessibility
- Limits and Challenges
- Future: Hybrid Approaches
- Conclusion
- Sources and Further Links
- Transparency Notice
Morse code — CW — is the oldest digital mode in amateur radio. For generations, experienced radio amateurs have mastered the art of decoding dots and dashes by ear. But what happens when machine learning takes over this task? Modern neural networks can decode CW signals in real-time — even under extreme conditions: noise, QRM, fading. This article shows how AI-based CW decoders work, what tools are available, and where the limits lie.
The Problem: CW Under Difficult Conditions
CW decoding is challenging for the human brain — especially when multiple factors combine:
- Weak signals: During QRP operation or poor propagation conditions, the signal disappears into the noise
- QRM (Man-Made Interference): Multiple stations on similar frequencies, interference from plasma displays or switching power supplies
- QSB (Fading): Signal constantly fluctuates in strength, dots and dashes are hard to distinguish
- Chirp: Unstable oscillators in older transmitters create frequency-shifted tones
- Variable speed: Hand-keyed CW has no perfectly uniform speed
Classic CW decoders like the Goertzel algorithm or Fast Fourier Transform (FFT) work well with clean signals. But as soon as strong noise or interference is added, the error rate rises drastically.
The Solution: Neural Networks for CW
Neural networks — particularly Convolutional Neural Networks (CNN) and Recurrent Neural Networks (RNN) — are ideally suited for CW decoding:
- CNN analyze the audio spectrogram (time-frequency representation) and recognize patterns in visual data — similar to image recognition
- RNN (e.g., LSTM — Long Short-Term Memory) process temporal sequences and learn the structure of Morse code letters and words
- Transformer models: The most modern variant uses attention mechanisms to understand context and dependencies between characters
What's special: These networks are trained on thousands of CW samples — with different speeds, noise levels, and interference. This way they learn to decode reliably even under adverse conditions.
How Does AI-Based CW Decoding Work?
1. Audio Preprocessing
The CW signal is tapped from the transceiver as an audio stream (typically 600 to 1000 Hz sidetone frequency). AI-based noise reduction can already be applied upstream.
2. Spectrogram Generation
The audio is converted into a spectrogram — a 2D image where the X-axis represents time and the Y-axis represents frequency. Morse dots and dashes appear as bright bars of different lengths.
3. CNN Feature Extraction
A CNN analyzes the spectrogram and extracts features — typical patterns of dots, dashes, and pauses. The network automatically filters out noise and interfering signals.
4. RNN Sequence Processing
The extracted features are passed to an RNN that analyzes the temporal sequence. The network recognizes: "dot-dot-dot = E", "dash-dot-dash-dot = C", etc.
5. Output and Error Correction
The decoded character is output. Modern systems additionally use language models (like autocorrect on smartphones) to detect and correct typos: "HXLLO" becomes "HELLO".
Available Tools and Projects
A note up front: the best-known classic CW decoders are not neural networks. Neural decoders are currently mostly open-source projects and experiments that follow the same basic recipe: spectrogram, CNN, recurrent network or Conformer, CTC output.
1. DeepCW
DeepCW is an open-source project by the GitHub user e04: a real-time neural-network decoder for Windows, macOS, Android and iOS, plus a web demo at deepcw.cc. The project page gives no details on architecture or training data, and we know of no paper on it.
The developers publish their own benchmark (additive white Gaussian noise, 2,500 Hz noise bandwidth, character error rate): 0.00% error from 0 to -4 dB SNR at all tested speeds, below 1.5% at -8 dB and below 8% at -10 dB. A comparison with CW Skimmer, fldigi and ggmorse on three YouTube recordings favours DeepCW, but the project explicitly says it is not a general ranking. These are vendor figures under lab conditions, not an independent test.
2. deepmorse-decoder by AG1LE
Mauri Niininen, AG1LE, published a Python project with a CNN-LSTM-CTC model (GPL-3.0). It listens through the microphone and shows a spectrogram of a four-second buffer. More of an experimentation platform than a finished tool; the project page makes no accuracy claims.
3. More open-source experiments
There are also MorseNet (LSTM with CTC), nn-morse, DeepFist (CNN plus CTC) and a Technion course project with detector and decoder (GitHub). The approach has become a standard machine-learning recipe, much like speech recognition. The following video presents the Technion project:
4. For comparison: CW Skimmer and fldigi
CW Skimmer by Alex Shovkoplyas, VE3NEA (Afreet Software), uses a high-sensitivity algorithm based on Bayesian statistics, so it is not a neural network. It decodes all CW signals in the receiver passband at once and is the skimmer behind the Reverse Beacon Network. fldigi ships with a built-in classic CW decoder; as far as our research shows, there is no AI plugin for fldigi. More on CW Skimmer:
5. WSJT-X: not CW, but related techniques
Although WSJT-X (FT8) does not decode CW, it uses related methods: forward error correction (FEC), spectral analysis and pattern recognition.
How Reliable Are the Numbers?
Independent comparisons between AI decoders, classic decoders and the human ear are rare. The percentages you find in project READMEs mostly come from synthetic noise and do not transfer directly to real bands with QRM, QSB and hand-keyed CW. With strong, clean signals, classic decoders are good enough in practice. Differences show up with noise, QRM and fading.
How hard real signals are is also shown by a video from David Casler titled "Machine Decoding of Morse Code is an Unsolved Problem":
Practical Applications
1. Training Aid for CW Learners
Beginners can have difficult passages decoded while reading along. The network shows in real-time what was sent — ideal for learning.
2. Contest Operation
At high speed with many simultaneous stations, the decoder helps capture callsigns and reports — even when multiple signals overlap.
3. DX Pile-Ups
When dozens of stations are calling a rare DX station, AI can filter individual callsigns out of the chaos.
4. Accessibility
Radio amateurs with hearing impairments can follow CW via text. Decoding happens in real-time without manual switching.
Limits and Challenges
- Computing power: Large models need more power. According to its project page, DeepCW also runs on smartphones (Android, iOS), so a GPU is not strictly required.
- Training data: Quality heavily depends on training data. A network trained only on synthetic samples may perform poorly on real, hand-keyed signals.
- Overfitting: If the network trained too much on specific operators or equipment, it generalizes poorly to new signals.
- Latency: With very long LSTM or Transformer models, delays can occur — problematic for real-time QSOs.
- Ethics: Some argue that automatic decoding undermines the spirit of CW operation. CW is a skill — should machines replace it?
Future: Hybrid Approaches
The future probably lies in hybrid systems:
- AI + classic DSP: Use AI noise reduction for preprocessing, then classic decoders for actual decoding
- Edge-AI: Optimized models for embedded systems (e.g., built directly into SDR transceivers)
- Multimodal AI: Combine audio decoding with propagation predictions — if AI knows 20 m is currently open, it can better estimate which callsigns are likely
- Transfer learning: Train a network on SSTV or RTTY and transfer knowledge to CW — less training data needed
Conclusion
AI-based CW decoders are no longer science fiction — they work today. According to the projects' own benchmarks they beat classic algorithms mainly on weak, noisy signals, though that has hardly been independently verified. For use in contests, as learning aids, or for accessibility, they're valuable tools. Whether they should replace manual CW copying is a philosophical question. One thing is certain: the technology exists — and it's getting better.
As with ChatGPT and Claude as shack assistants, the same applies here: AI is a tool, not a replacement for your own competence. Anyone wanting to learn CW should continue to listen and key themselves. But when the signal disappears into the noise, it's reassuring to know that an AI might still hear something the human ear can no longer perceive.
Sources and Further Links
- DeepCW (GitHub, e04) and web demo deepcw.cc: features, benchmark claims, comparison with CW Skimmer, fldigi and ggmorse
- deepmorse-decoder (GitHub, AG1LE): CNN-LSTM-CTC, GPL-3.0
- MorseNet, nn-morse, DeepFist, Technion project: more open-source decoders
- CW Skimmer (Afreet Software, VE3NEA) and Wikipedia: CW Skimmer: Bayesian decoding
- Title image: Vibroplex key, National Electronics Museum, photo by Daderot, Wikimedia Commons (CC0)
73 – your oeradio.at editorial team
Transparency Notice
This article was researched and written with the assistance of AI (Claude, Anthropic). The editorial team has reviewed and edited all content. Despite careful review, occasional inaccuracies may occur — we welcome corrections via email to [email protected].





