Scroll to navigation

cwstudio(1) cwstudio(1)

NAME

cwstudio - lightweight and portable CW signals generator with Curses UI

SYNOPSIS

cwstudio [--play] [--noplay] [--silent] [--verbose] [--groups] [--words] [--calls] [--agc 0-100] [--bits bits] [--click 0-100] [--chars nchars] [--charset charset] [--cspaces 0-100] [--dashlen 100-10000] [--detune 0-100] [--even 0-100] [--freq 50-4000] [--number 1-100] [--hand 0-100] [--highcut 300-10000] [--hum 0-100] [--lowcut 50-1000] [--noise 0-100] [--odd 0-100] [--output outfile] [--qsb 0-100] [--samplerate samplerate] [--seed 1-32767] [--shape -10 - 10] [--signals 1-5] [--spacelen 20-300] [--sweep -4000 - 4000] [--sweepness 0 - 10000] [--tempo 5-500] [--window 0-1000] [--wordset 0-1000] [--wspaces 0-100]

DESCRIPTION

Curses-based CW signal generator. F1 shows help in interactive mode. In batch mode (--noplay), senerates 1-5 mixed CW signals of various properties, adds optional noise and saves it to a WAV file. If compiled on proper environment, it can play the result. Command line parameters are also interpreted in interactive mode!

In batch mode all text output is written to stderr; if stdout is redirected, the created file is written here. If stdin is redirected, the generated text is taken from it.

Optional CWPARAM environment variable can be set to hold some parameters, for example CWPARAM="--even 10 --odd 10".

OPTIONS

Play the result (default), otherwise only save the WAV file.
Verbose mode gives full output (default), silent mode presents only generated text.
The "groups" mode generates random five-letter groups. The "words" mode generates most common English words. The "calls" mode generates real amateur callsigns.
Simulate AGC response of receiver by varying noise volume along RMS of the signal. Default is 100.
Set bitrate. Default is 16.
Simulate click by lowering sustain part of tone at given level (in dB) below attack phase. Default is 1 dB.
Take first "nchars" from default charset in "groups" mode.
Set customized charset for random group generation in "groups" mode.
Set additional spaces (one space has a length of a dot) between chars. Default is 0.
Length of dash, in percentage of dot. Default is 300% (3:1).
Simulate frequency drift of the signal. Default is 0.
Enhance the signal by given percent of even harmonics. Default is 0. Values 0-5 are most valuable in practice.
Use given frequency in Hz..
Generate given number of groups/words/calls. Default is 20.
Simulate hand transmitting by introduce random errors in dash/dot lengths.
Set high cutoff frequency (Hz) of generated noise. Default is 2400.
Add given percentage of 50 Hz mains hum. Default is 0.
Set low cutoff frequency (Hz) of generated noise. Default is 300.
Add given percentage of noise. Default is 100.
Enhance the signal by given percent of odd harmonics. Default is 0. Values 0-5 are most valuable in practice.
Store the result in a WAV file of given name. Default is output.wav.
Add given amount of signal QSB. Default is 0.
Set given samplerate. Default is 44100.
Set explicitly the seed of random generator. If not set or set to 0, seed is also random generated. Otherwise it is set to given value, resulting in a possibility of repetitive random content generation.
Set the shape of random generated numbers. Positive value increases the fraction of higher numbers (last letters, words, calls). Negative values prefer first ones. Zero means flat uniform distribution. Can be used to increase the number of newly learned letters/words. In practice, values -10 to 10 are well working.
Generate given number of mixed signals, each of hardcoded frequency ratio, tempo ratio and amplitude ratio. Every signal plays the same text in a loop. Default is 3.
Space length (between dots and dashes) in percentage of dot. Default is 100% (1:1).
Simulate sweep (chirp or filter ringing according to parameters) by starting each tone from given frequency (can be negative, which results in zero crossing). Frequency is then changed exponentially to this given in --freq with a rate given by --sweepness. Default is 0.
The rate of exponential frequency change from --sweep to --freq. Default is 0 (no sweep).
Tempo of generated main signal in cpm (chars per minute) according to PARIS group.
Raised cosine window width (used to avoid clicks in each tone). Default is 100 samples.
Take only first given number of most common English words in "words" mode.
Set additional spaces between words/groups/calls. Default is zero.

EXIT STATUS

CWStudio returns 0 if everything is OK. In the case of error, return value is different.

AUTHOR

Lukasz Komsta, SP8QED, 2008-2013

April 24, 2013