Go back to main page
unixcw - about
unixcw is an umbrella project for a Linux library and for
few Linux applications related to Morse code. The
- cw - a CW sending 'engine' that reads characters
from stdin, sounds them on either the sound card, or
the console speaker, and echoes them to stdout.
- cwgen - a simple random character generator that can
be used as a feed for cw.
- cwcp - a curses-based program that generates groups
of characters from selected sets, words, and CW
abbreviations randomly, and sounds them using libcw.
It owes much to CP222.EXE, by VU2ZAP.
- xcwcp - a CW tutor program for X Window environment.
It offers the same random and keyboard sending as
'cwcp', and in addition can read CW that is sent to it
using the keyboard or mouse as a keyer, making it
useful for sending as well as receiving practice.
The heart of the package is 'libcw'. This is a library
which, when built, offers the following basic CW services
to a caller program:
- Morse code character translation tables, and lookup
- Morse code low-level timing calculations
- A 'sidetone' generation and queueing system, using
either the system sound card or the console
- Optional keying control for an external device, say
a transmitter, or an oscillator
- CW character and string send routines, tied in with
the character lookup
- CW receive routines, also tied in to the character
- Adaptive speed tracking of received CW
- An iambic keyer, with both Curtis 8044 types A and B
- Straight key emulation
The library uses signals and threads to create a
background task in which to do the majority of its work,
leaving the main program free to handle other tasks. Sound
is produced on soundcard (through PulseAudio - the
default, OSS, or ALSA), or on console buzzer.
libcw is written in C for easy portability and use.
libcw, cw, and cwgen require a C compiler. cwcp requires
a C compiler and a Curses library. xcwcp requires a C++
compiler and Qt library (version 5).
Current version of unixcw is 3.5.1, which was released in
February 2017. See
News for information
about recent changes.
unixcw is a
software, released under
GNU General Public License v2.0.
Kamil Ignacak, acerion at wp dot pl.
Top of page
Go back to main page
Copyright (C) 2011 - 2017 Kamil Ignacak