Skip to main content

CW Decoder

The CW Decoder listens to Morse code audio through your device's microphone and translates it into text in real time. Place your phone or tablet near your radio's speaker and watch the decoded characters appear on screen.

Getting Started

  1. Tap the Tools icon in the bottom navigation bar.
  2. Select CW Decoder from the tools list.
  3. Tap Start to begin recording.
  4. Grant microphone permission when prompted.
  5. Hold your device near your radio's speaker.

[SCREENSHOT: CW Decoder tool with the Start button and empty decode area ready for use]

Microphone permission required

The CW Decoder needs access to your device's microphone. If you accidentally deny permission, you will need to enable it in your device's system settings for Hamtrax.

How It Works

The decoder uses a multi-stage signal processing pipeline:

  1. Raw audio is captured from your microphone.
  2. A bandpass filter isolates the CW tone (centered around 600--700 Hz).
  3. A volume threshold gate separates real signals from background noise.
  4. Timing analysis classifies key-down durations as dits or dahs and detects character and word boundaries.
  5. Decoded text appears in the output area as each character is recognized.

The decoder automatically adapts to the sending speed -- it measures the shortest key-down durations to calibrate dit length, then derives dah and spacing thresholds from that.

Controls

ControlAction
StartBegin recording and decoding
PauseStop recording but keep decoded text
StopStop recording and clear all data
Volume ThresholdAdjust the noise gate to filter out background noise
CopyCopy decoded text to your clipboard
Adjusting the volume threshold

If the decoder is triggering on background noise, increase the Volume Threshold slider. If it is missing characters, lower it. The goal is to find the sweet spot where only the CW tone triggers the gate.

Spectrograms and Visualizations

The decoder includes several visualization panels you can expand or collapse:

  • Raw -- full-spectrum spectrogram of the incoming audio.
  • Filtered -- spectrogram after the bandpass filter, showing only the CW tone range.
  • Strong -- zoomed view of the signal that passes the volume threshold.
  • Binary -- gate detection waveform showing ON/OFF keying states.

These visualizations are helpful for troubleshooting. If you see the CW tone clearly in the Raw spectrogram but nothing in the Filtered view, the tone may be outside the default filter range.

Output

As characters are decoded, two output sections appear:

  • Morse Stream -- the raw sequence of dits, dahs, and spacing markers.
  • Decoded Text -- the translated alphanumeric characters. Tap Copy to copy this text to your clipboard.

Tips for Best Results

  • Position your device close to the speaker -- 6 to 12 inches works well.
  • Reduce background noise as much as possible.
  • The decoder needs at least 3 characters before it can calibrate timing.
  • Works best with clean, consistent sending at moderate speeds (10--25 WPM).
info

The CW Decoder is a great learning tool. Even if you are still building your CW skills, watching the decoder work alongside your own copy helps train your ear.