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!
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 ( http://www.dxatlas.com/omnirig/ ), which should be installed separately.
The Hamport software ( https://www.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\2004-06-03\15_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 of "garbage" in 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.ini . If /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 https://www.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 https://www.dxsoft.com/dxs-exch.zip for details about programs co-operation.