morse-coach - Morse code trainer using the Koch method and a GTK+ GUI.


morse-coach [OPTION...]


Help Options:

  -h, --help               Show help options
  --help-all               Show all help options
  --help-gtk               Show GTK+ Options

Application Options:

  -v, --verbose            Print out debugging messages
  -u, --uifilename         Specify an alternate UI filename
  --version                Show the program version information
  --display=DISPLAY        X display to use


morse-coach is a Morse code teaching program built using Gnome's portable GTK+, for Linux systems and current sound systems (circa 2011).

This version of morse-coach uses PulseAudio.

The program displays the main window of its graphical user interface with several controls when started. Click the Start button or press the SPACE key to start generating Morse code.

The audio for the same character will be repeated several times, then its image will be flashed in the window. After the user presses the key that corresponds to the Morse code sent by the program, it generates the next character to decode. If the user presses the wrong key or no key, the current character will be repeated.

Click the Stop button or press SPACE to stop code generation.

The user can select one or all types of characters to be generated: letters, numbers, and symbols.

The Preferences window allows setting of various parameters, using these controls.

Play: Generate the Morse code of the characters entered in the adjacent field.

Words Per Minute: Set speed of character generation.

Frequency: Set the tone of the generated Morse code.

Attack and Decay: Modify the sound produced. Can be between 1 and 1000. The default values were determined empirically. The recommended values are Attack=15 and Decay=25 for speeds up to 30 wpm.


morse-coach recognizes the following keyboard commands while its GUI is running.

SPACE starts and stops generating Morse code audio, and changes the legend shown on the Start/Stop button.


Specify the -v command-line option to show debugging messages while the program runs.


morse-coach creates a config.ini file in the directory ${HOME}/.config/morse-coach/. The file stores the state of the program so the user may restart from the same point at a later time. The config file is read at program start, and written when the program exits.

Only modify this file while the program is not running.

The user can change existing settings, and add custom lettersets in this file.


The program is intended for a computer with a Linux o/s, with GTK+ and PulseAudio software, on an i686 platform.

This version works on Ubuntu 10.10.

This version also worked on aptosid (based on Debian Unstable and Linux kernel 2.6.36-0) on an amd64 platform.


This version requires the PulseAudio system, and has not been tested with other audio systems.


See the project site at Sourceforge for the reported bugs and feature requests lists, and to report problems.

Patches are welcome.




Make sure at least one character type (Letters, Numbers, Symbols) is selected in the Koch window, or no sound will be generated.

Make sure that the computer's sound system is properly configured, including all the software and hardware volume controls between the program and the output device. Also verify that audio output is not muted.


Provide other audio support besides PulseAudio.

Build a Debian package.


This program's design borrows heavily from Morse Machine (for Windows) by G4ILO Julian Moss. Julian's program is based on Ward Cunningham's Morse Code Teaching Machine described in the QST article linked below. Ward has a version for Linux, but it didn't work under Ubuntu 10 with Gnome and PulseAudio.


Configuration file: ${HOME}/.config/morse-coach/config.ini


The project web site is at

A good article on modern Morse-code learning philosophy by N0IRZ David Finley:

Ward Cunningham's letterset based on article by Ward Cunningham "A Fully Automatic Morse Code Teaching Machine" published by QST in 1977:


C. Poda: tests and documentation.


K. Wolff wrote the code <>


Copyright (C) Kirk Wolff 2011 <>

morse-coach is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

morse-coach is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <>.