Skip to content

cw

Sounds text as Morse from the command line — the unixcw core tool

What it does

Reads text on standard input and sounds it as Morse, with speed, tone, volume and spacing set by option or by embedded commands in the text itself. It also ships cwgen, which produces random practice groups to feed it. Output goes to the console beeper, OSS, ALSA or PulseAudio.

Why you would want it

It is the piece that makes Morse practice scriptable. Anything that can write to a pipe can send Morse: a callsign list, a news feed, the output of another program. The three unixcw front ends — this, cwcp and xcwcp — share one engine, so what you learn about timing here applies to all of them.

Before it will work

A sound device. On a machine with PulseAudio or PipeWire the default usually works; otherwise select the device explicitly with -d.

How it installs

  • apt: cw

Known problems

The console-beeper output needs privileges most desktops no longer grant and is not the sensible default on modern systems — use ALSA or PulseAudio. Being a soft timing source, it can stutter under heavy load in a way a hardware keyer would not; that is an artefact of the machine, not of your copy.

Keeping it current

  • probe: apt policy
  • strategy: apt_upgrade

Where to get help with the software itself

The unixcw project on SourceForge. Debian packages cw, cwcp and xcwcp from this one source, so a bug in the timing engine affects all three.

Source: catalog/packages/cw.yaml