A program to decode morse code (CW) via sound card to text. It can work as narrow-band sound DSP-filter also. No additional hardware required you need only receiver and computer with a sound card. Can integrate with AALog logger. It is a software morse decoder that
*really* work!
**Platform Windows XP/Vista/7/8/10/11
Special version for Android exists

 The authors program overview
The working area of the program is divided into three windows, the sizes of which can be changed by the user by dragging the borders

In the top window the current spectrum of a signal (blue line) and a peak detector of spectral components (green line) is shown. Ruler under this window shows frequencies of sound spectrum.The vertical red line in the top window shows the working frequency of the filter. To change the working frequency, click on the desired frequency (probably a peak). The short thick black line is the marker of TX frequency. It is used to help with zero-beat tuning. To change the TX marker position, click on the desired frequency by right mouse button (or by left mouse button with "Ctrl" key pressed)

The "
**Zoom menu and " **Alt-1" **Alt-7 hotkeys change frequency scale of spectrogram

To move a visible part of spectrogram to left or right drag it by mouse with
**Alt** key pressed

The "
**AFC button (auto frequency control) adjusts the long red line (working frequency) to the closest peak frequency. The numbers to the left of the AFC button determines the limits of AFC. The first number is **local deviation** in hertzs, i.e. maximal deviation from current frequency. Second number is **global deviation** in hertzs, i.e. maximal deviation from last user-selected frequency. User-selected frequency is shown at spectrogram by short red line 

When the option "
**Setup > Interface >AFC at mouse click is selected CwGet immediately adjusts the RX frequency to the nearest station after every mouse click on the spectrogram regardless of the "AFC" button state. But this action is not made after click on the ruler under spectrogram

The button "
**GotoMax jumps to the peak frequency in the bandpass, The " **AutoGTM button switches on the automatic mode of "GotoMax". It jumps to the peak frequency of the strongest signal after detecting a pause of more than eight "dots" in the current signal

The mode of automatic transceiver frequency control can be switched on by the "

**Setup > Tune RIG by menu. In this mode transceiver radio frequency is changed to consist RX frequency to TX frequency. Auto-tuning is made after click on spectrogram or ruler below. Tuning can be made by **RIT** or by **VFO** according selected option. Take to attention that not every transceiver has programmable RIT. In this case auto-tuning by RIT is impossible. Tuning is made via **Omni-Rig** software interface ( httpwww.dxatlas.com/omnirig/ ), which should be installed separately

**Hamport** software ( httpswww.dxsoft.com/en/products/hamport/ ) also uses this software interface and install it automatically

The "
**Use RIG option is used to select a rig controlled by Omni-Rig

The "
**Show Omni-Rig Setup button is used to activate Omni-Rig setup dialog.

The "
**Use mouse wheel for tuning option enables using of mouse wheel for tuning. If tuning transceiver via Omni-Rig is enabled, mouse wheel changes transceiver radio frequency, in another case wheel changes audio frequency

The "
**Wheel tuning speed control defines speed and direction of frequency changing during wheel rotation

The "
**OnTop button puts CwGet in front of all windows

The bottom window is oscillogram of the signal. A red horizontal line shows the threshold of the detection of signal presence. The threshold is changed by the mouse. The threshold needs to be established at some level above the noise. In the presence of a strong signal the threshold can be increased

The button "
**AutoThr turns on a mode of automatic tuning of the detector threshold under the level of a signal. In this mode two horizontal red lines are shown. First line shows current level of threshold, second line shows estimate of noise level . If the " **Setup > Interface > Enable manual auto-threshold limit option is enabled, noise level is set manually. This level is used as minimal level of detector threshold

The "
**Setup > View > Logarithmic spectrogram scale option or **Alt-Z** hotkey switch spectrogram window between linear or logarithmic scale. Analogously, the " **Setup > View > Logarithmic oscillogram scale option or **Ctrl-Z** hotkey change oscillogram window scale. Logarithmic scale is more convenient usually, but it needs more computer resources

The received symbols are displayed on the middle window. The dash-dot sequence enclosed in curly brackets means a "wrong" symbol. This usually occurs when the operator does not observe the intervals between characters, actually linking some characters into one. Increasing the threshold of the detector may help slightly

CwGet defines CW speed automatically. The "
**Sp.Lock button fixes current CW speed (switches the auto speed calculation off). The hotkey for this button is **Alt-K**

Options "
**English charset " **Russian charset and " **User-defined charset at the " **Setup > Text page select used alphabet. In last case charset is defined by simple text file. See example in **SAMPLE.CWG** file

The received symbols font and colors of interface elements are defined at "
**Setup > Fonts & colors page

The menu command "
**File > Clear Buffer clears Received Symbols window

The command "
**File > Save Buffer saves this window content into a file

The command "
**File > Open Buffer in Notepad saves receiving buffer in a temporary file and opens this file by a text editor. Then you can view this file or print it. The hotkey of this command is **Ctrl-N**

The "
**File > Open Text Capture File menu opens a capture-file for received symbols. Then new received symbols are being written into that file. If the file exist, new symbols are appended to it

The "
**File > Close Text Capture File command closes a capture-file. Capture-file state is shown in the status line. The hotkey for capture on/off commands is **Alt-L**

If the "
**Setup > Text > Put time marks to a capture File option is selected, time marks are placed to this file with interval about one minute

If the "
**Setup > Text > Use UTC Time option is selected, UTC time is used in these marks, in another case local time is used

The "
**File > Open Wave Capture File command opens wave-file to save all received from soundcard sound. File is closed by the " **File > Close Wave Capture File command. The hotkey for these commands is **Alt-V Take to attention that a minute of sound recording need above 1 MByte disk space

The "
**Filters > Main Filter menu selects signal filter bandwidth. Wider filter bandwidth is appropriate for more speed keying. There are two sets of **FIR** and **IIR** filters. FIR filters work slightly better then IIR filters usually, but FIR filters need much more processor time. So you can prefer IIR filters in case of not very fast computer

The "
**Filters > Burst Filter menu selects the burst filter maximal speed. The burst filter is a filter against short noise bursts. When program is detected signal presence, signal length is compares with a threshold. When signal is shorter then a threshold, it is ignored. Burst filter with "100 LPM" setup means that a threshold is about one half of "dot" length at 100 LPM (20 WPM)

You can use CwGet as narrow-band sound DSP-filter also. So CwGet can help you to decode Morse code "by ears". The bandwidth of a sound filter is selected by the "

**Filters > Sound Output menu. A soundcard used for this DSP-filter output is defined by " **Setup > Interface > Output soundcard number menu. If your sound card supports a full-duplex mode, the same card can be used for sound input and output simultaneously. The " **Ctrl-F hotkey is used to switch sound on and off

CwGet can decode signals from sound file (WAVE-file) also. A desired file is selected by the "
**File > Decode From File command. WAVE-file must be Windows PCM file, without compression. Preferred file parameters are mono, 16 bit, 11025 Hz

CwGet has one minute sound buffer. "
**Replay and " **Save buttons are used to control this buffer

The "Replay" button click makes CwType to replay previous 10 seconds of received signal

The "Save" button writes previous 60 seconds of a sound to a wave file in the "Waves" directory

This wave file is saved with time-stamped name (
**HH_MM_SS.wav in a sub-directory with date-stamped name
**YEAR-MM-DD For example, the file "Waves€4-06-03
_10_43.wav" is a piece of sound started at 15:10:43 UTC on 03 June 2004

Special macrosequences can be used in the
**CwType** software(V1.32 and later) to control this sound buffer also

The "
**File > Multi-Channel Decoder command opens additional Multi-RX Window

CwGet decodes up to five strongest signals in about 1600 Hz bandwidth and shows them in this window. To reduce amount ofin this window an squelch is used. Squelch threshold is shown by horizontal line in the Spectrogram window. This threshold can be changed by mouse with "Shift" key pressed

The "
**Setup > Interface > Enable Squelch in Main RX Window option enables squelch in the main RX window also

The "
**Setup > Multi-decoder > Use manual auto-threshod limit from main decoder enables using of manually defined threshold limit in multi-channel decoder

Selected options of the program are saved by the "
**Setup > Save button. By default options are written into the **CWGET.INI** file. The program looks for this file in the working directory. If the CWGET.INI file is not found in a working directory, working directory is changed to a default value. You can have several variants of the ini-file for different situations. Just create several shortcuts to **CWGET.EXE** each with a different working directory and copy CWGET.INI file to each of this directories

Another way is to define configuration file name in command line after F** key, for example **CwGet.exe /F C:\MyData\cwget2.iniIf /F key is present, a working directory is not changed. Take to attention, that if full path to a file is absent after /F key, Windows directory is used for reading and writing of ini-file

The program can transfer received data to
**AALog** HAM logger by Alexander Anipkin, RZ4AG (see httpswww.dxsoft.com/en/products/aalog/) To transfer data from RX-window, double-click on word or select words by mouse. Then select the field from popup-menu. CwGet removes all spaces in text transferred to a logger

When the "
**Setup > Text > Catch word by one mouse click option is enabled, you can catch a word from RX-window by a single mouse click, not double-click but you still can select part of the text by mouse dragging

When the "
**Setup > Text > catch words in contest mode option is enabled, the program doesn't use popup-menu to catch word to logger. In this case CwGet recognize callsign or control number automatically

When the "
**Setup > Text > Copy transferred data to clipboard menu option is enabled, data transferred to logger is also copied to the Windows clipboard

The number shown in a "
**FrB field of status bar means the number of free buffers for recording a signal. If it is reduced to ten or less the speed of the computer will not keep up. Try to reduce number of simultaneously running programs or replace the computer 
CwGet transfers some hotkey hits into the
**CwType** programs if you use it. So you don't need to switch between CwGet and CwType windows too often

CwGet interfaces with logger software and CwType via ini-file and Windows messages. CwGet can be used as COM-server (ActiveX object) also. CwGet can also transfer received symbols to another software by DXSOFTEX.DLL library

See httpswww.dxsoft.com/dxs-exch.zip for details about programs co-operation

 Related links