xcwcp man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

XCWCP(1)							      XCWCP(1)

NAME
       xcwcp - X Window-based Morse tutor program

SYNOPSIS
       xcwcp	[-s --system=SYSTEM]	[-d --device=DEVICE]	[-w --wpm=WPM]
       [-t --tone=HZ] [-v --volume=PERCENT] [-g --gap=GAP] [-f, --infile=FILE]
       [-F, --outifile=FILE]  [-h --help] [-V --version]

       xcwcp  installed	 on  GNU/Linux systems understands both short form and
       long form command line options.	xcwcp  installed  on  other  operating
       systems may understand only the short form options.

       There are no mandatory options.

       Options	may  be	 predefined in the environment variable XCWCP_OPTIONS.
       If defined, these options are used first;  command  line	 options  take
       precedence.

DESCRIPTION
       xcwcp  is  a  X	Window-based interactive Morse code tutor program.  It
       lets you choose from a number of options for practice, including	 send‐
       ing  random characters, random words, and characters from the keyboard.
       It will also receive Morse code that you send  using  the  keyboard  or
       mouse as a Morse keyer, and display the characters it sees.

   COMMAND LINE OPTIONS
       xcwcp  understands  the	following command line options.	 The long form
       options may not be available in non-LINUX versions.

       -s, --system=SYSTEM
	      Specifies the way that xcwcp generates tones.  Valid values are:
	      console  for  tones  through the console speaker, alsa for tones
	      generated through the system sound card using ALSA sound system,
	      oss  for	tones  generated  through  system sound card using OSS
	      sound system, soundcard for tones generated through  the	system
	      sound  card,  but	 without  explicit  selection of sound system.
	      These values can be shortened to 'c', 'a', 'o', or 's',  respec‐
	      tively. The default value is 'oss'.

       -d, --device=DEVICE
	      Specifies the device file to open for generating a sound.	 xcwcp
	      will use default	device	if  none  is  specified.  The  default
	      devices  are:  /dev/console  for sound produced through console,
	      default for ALSA sound system, /dev/audio for OSS sound  system.
	      See also NOTES ON USING A SOUND CARD below.

       -w, --wpm=WPM
	      Sets  the	 initial sending speed in words per minute.  The value
	      must be between 4 and 60.	 The default value is 12 WPM.

       -t, --tone=HZ
	      Sets the initial sounder	pitch  in  Hz.	 This  value  must  be
	      between 0 and 4,000.  A value of 0 selects silent operation, and
	      can be used for timing checks or	other  testing.	  The  default
	      value is 800Hz,

       -v, --volume=PERCENT
	      Sets  the	 initial sending volume, as a percentage of full scale
	      volume.  The value must be between 0 and 100.  The default value
	      is  70  %.   Sound  volumes work fully for sound card tones, but
	      xcwcp cannot control  the	 volume	 of  tones  from  the  console
	      speaker.	 In  this  case,  a  volume of zero is silent, and all
	      other volume values are simply sounded.

       -g, --gap=GAP
	      Sets the initial extra gap, in dot lengths,  between  characters
	      (the  'Farnsworth'  delay).   It	must be between 0 and 60.  The
	      default is 0.

       -f, --infile=FILE
	      Specifies a text file that xcwcp can read to configure its prac‐
	      tice text.  See CREATING CONFIGURATION FILES below.

       -F, --outfile=FILE
	      Specifies	 a  text  file to which xcwcp should write its current
	      practice text.

   USER INTERFACE
       xcwcp offers GUI controls  for  changing	 the  speed,  tone  frequency,
       'Farnsworth'  gap,  and mode of the program.  All of the major controls
       are placed on the application toolbar.

       The main GUI window is used to display the characters that xcwcp	 sends
       or receives.

       To  find	 out  more  about  what a particular GUI control does, use the
       "What's this..." icon (the '?' at the far right of the toolbar).

   RANDOM CHARACTERS AND WORDS
       xcwcp sends random characters in groups of five, with a	space  between
       each group.

       When sending random words, xcwcp sends the complete word, followed by a
       space.  Because short words are easier to copy without writing, xcwcp's
       default	dictionary contains only three, four, and five-letter words in
       its random words list.

       xcwcp chooses at random from a list of around 3000 words in its default
       dictionary.   You can change this text using a configuration file, read
       at startup.  See CREATING CONFIGURATION FILES below.

   RECEIVING MORSE
       xcwcp can receive Morse code, and display it in its  main  GUI  window.
       To  key	Morse code into the program, select the Receive Keyed CW mode,
       and press the stop/start button.	 Now, place the mouse cursor over  the
       central	window	of  the program.  By pressing the middle mouse button,
       you should be able to key Morse into the program as if the mouse button
       was a straight Morse key.

       For  better  keying, you can use the left and right mouse buttons as if
       they were paddles on an Iambic keyer.  This will send Morse code at the
       exact rate set on the Speed control.

       You  can also use the keyboard for keying.  In this case, any of the Up
       or Down cursor keys, Space,  Enter,  or	Return	may  be	 used  as  the
       straight key, and the Left and Right cursor keys act as the two paddles
       of an Iambic keyer.

       By default, xcwcp will try to follow the speed of the Morse  code  that
       you  send  to it.  It is possible to switch this tracking off, in which
       case the program switches to receiving only at the exact speed  set  on
       the  Speed control.  However, fixed speed receiving is very, very picky
       about receiving only extremely accurately timed Morse code,  so	unless
       you  are	 striving  for	complete  perfection,  you may find that speed
       tracking is more comfortable.

       The speed tracking in xcwcp can sometime be confused by very  wide  and
       abrupt  changes in speed.  If it is having difficulty finding the speed
       you are sending at, you can use the File pulldown menu  to  synchronize
       the receive speed to the speed set on the Speed control.

       At  any	time,  the  mode  selection combowidget can get focus by using
       Alt+M.  You can then use the space bar or the up/down  keys  to	change
       the  mode.   The	 Tab  key  moves to the next widget, so you can change
       speed, etc.  Shift+Tab moves backwards.

   NOTES ON USING A SOUND CARD
       By default, xcwcp tries to open OSS device "/dev/audio" to  access  the
       system  sound  card.   This is generally the correct device to use, but
       for systems with special requirements, or  those	 with  multiple	 sound
       cards,  the  option -d or --device, combined with -s or --system can be
       used to specify the device and audio system for sound card access.   If
       the sound card device cannot be set up, xcwcp prints the error message

	      cannot set up soundcard sound

       and exits.

       Sound  card  devices, when opened through OSS sound system, are usually
       single-access devices, so that when one process has opened the  device,
       other  processes	 are prevented from using it. In such cases xcwcp will
       of course conflict with any other programs that expect exclusive use of
       the  system sound card (for example, MP3 players).  If xcwcp finds that
       the sound card is already busy, it prints the error message

	      open /dev/audio: Device or resource busy

       and exits.

       The sound card device is not used if xcwcp is only sending tones on the
       console speaker.

   AUDIO OUTPUT - DEFAULTS AND SELECTION
       xcwcp  first  tries to access sound card using PulseAudio sound system,
       using default device name, unless user  specifies  other	 audio	device
       with option -d or --device.

       xcwcp  then  tries  to  access  sound  card  using OSS audio system and
       default OSS audio device name  ('/dev/audio'),  unless  user  specifies
       other audio device with option -d or --device.

       If opening soundcard through OSS fails, xcwcp tries to access the sound
       card using ALSA audio  system,  and  default  ALSA  audio  device  name
       ('default'), unless user specifies other audio device with option -d or
       --device.

       If opening soundcard through ALSA also fails,  xcwcp  tries  to	access
       system  console	buzzer	using  default	buzzer	device '/dev/console',
       unless user specifies other audio device with option -d or --device.

       It is very common that in order to access  the  console	buzzer	device
       user  has to have root privileges.  For that reason trying to open con‐
       sole buzzer almost always fails.	 This is not a program's bug, this  is
       a  result  of  operating	 system's  restrictions.  Making xcwcp an suid
       binary bypasses this restriction.   The	program	 does  not  fork()  or
       exec(), so making it suid should be relatively safe.  Note however that
       this practice is discouraged for security reasons.

       As stated, user can tell	 xcwcp	which  device  to  use,	 using	-d  or
       --device	 option.  Which device files are suitable will depend on which
       operating system is running, which system user ID runs xcwcp, and which
       user groups user belongs to.

   CREATING CONFIGURATION FILES
       xcwcp  contains a default set of modes and practice text that should be
       enough to begin with.  It can however read in a file  at	 startup  that
       reconfigures these to provide different character groupings, word sets,
       and other practice data.

       To read a configuration file, use  the  -i  or  --infile	 command  line
       option.	 The  file  should  introduce  each  xcwcp mode with a section
       header in '[' ... ']' characters, followed by  the  practice  text  for
       that  mode, with elements separated by whitespace.  Lines starting with
       a semicolon or hash are treated as comments.  For example

	      ; Simple example mode
	      [ A to Z ]
	      A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

       xcwcp will generate five character groups for modes whose elements  are
       all  single  characters,	 and treat other modes as having elements that
       are complete words.  As a starting point for  customized	 modes,	 xcwcp
       will  write  its	 default  configuration to a file if given the undocu‐
       mented -# option, for example "xcwcp -# /tmp/xcwcp.ini".

NOTES
       xcwcp is an X Window rewrite of cwcp.   Both  programs  borrow  heavily
       from the the DOS Morse code tutor CP222C.EXE, by VU2ZAP.

       The  characters	echoed in the main GUI window may be ASCII equivalents
       of Morse procedural signals; see the cw(7,LOCAL) man page for details.

   HINTS ON LEARNING MORSE CODE
       Here are a few hints and tips that may help with the process of	learn‐
       ing Morse code.

       Firstly,	 do  NOT  think	 of the elements as dots and dashes.  Instead,
       think of them as dits and dahs (so 'A' is di-dah).   If	you  think  of
       them in this way, the process of translating sound into characters will
       be learned much more easily.

       Do not learn the characters from a table.  Learn them by	 watching  the
       groups  appear  on  the screen, and listening to the sounds produced as
       each is sent.  In the very initial stages, it may be beneficial if  you
       can  find  a person to take you through the first stages of recognising
       characters.

       Do not waste your time learning Morse code at 5 WPM.  Set the speed  to
       12  or  15  WPM,	 but  use extra spacing (the Gap window) to reduce the
       effective speed to much lower -	around	four  or  five	WPM  effective
       speed.	This  way, you will learn the rhythm of the characters as they
       are sent, but still have plenty of time	between	 characters.   As  you
       practice, decrease the gap to zero.

       Learn in stages.	 Start by learning the EISH5 group, then progress down
       through the menu as each group is mastered.  The groups contain charac‐
       ters  which  are	 in  some  way related, either by sound, or by type of
       character.

       Once you have completed all the groups EISH5 to ,?.;)/ (or 23789 if you
       do  not	want  to learn procedural signals yet), use the full character
       set options, and the words and CW words options, to sharpen your skill.
       If  you	have  difficulties  with particular characters, return to that
       group and practice again with a smaller character set.

       Resist the temptation to try to learn or improve your speed by  copying
       off-air.	  You  will  not  know what speed you are working at, and much
       hand-sent Morse is not perfectly formed.	 What  you  can	 gain  off-air
       though  is a general 'resilience', a tolerance for Morse code where the
       timing of individual elements, or spacing between characters and words,
       is not 100% accurate.

       If  working  to	attain	a  particular speed for a test, always set the
       speed slightly higher.  For example, if aiming  for  12	WPM,  set  the
       tutor  speed  to	 14 or 15 WPM.	This way, when you drop back to 12 WPM
       you will feel much more relaxed about copying.  Be aware that xcwcp  is
       not necessarily going to send at exactly the speed you set, due to lim‐
       itations in what can be done with UNIX timers.  It  often  sends	 at  a
       slower  speed  than you set, so be very careful with this if you have a
       target speed that you need to reach.

       Use the program to make cassette tapes that you can take with you in  a
       walkman	or  in	the  car, for long journeys.  You do not have to write
       down everything you hear to practice Morse code.	 Simply	 listening  to
       the  shapes  of	characters over a period will help to train your brain
       into effortless recognition.  In	 fact,	slavishly  writing  everything
       down  becomes a barrier at speeds of 15-20 WPM and above, so if you can
       begin to copy without  writing  each  character	down,  you  will  find
       progress	 much  easier  above  these speeds.  But do not over-use these
       tapes, otherwise you will quickly memorise them.	 Re-record  them  with
       new contents at very regular intervals.

       Try  to	spend  at  least 15-30 minutes each day practicing.  Much less
       than this will make progress glacially slow.   But  significantly  more
       than  an	 hour  or  so  may  just result in you becoming tired, but not
       improving.  Recognise when it is time to stop for the day.

       Do not worry if you reach a speed 'plateau'.  This is common,  and  you
       will soon pass it with a little perseverance.

       At  higher  speeds, CW operators tend to recognise the 'shape' of whole
       words, rather than the individual characters within the words.  The  CW
       words  menu  option  can	 be  used to help to practice and develop this
       skill.

       Neither the mouse buttons nor the keyboard are ideal for use a keys  or
       keyer paddles, for sending practice.  Try to use a proper key for send‐
       ing where possible.  It is hard even for experienced operators  to  get
       good  keying  using  the	 mouse	or keyboard.  Of the two, the mouse is
       probably the better option, though, in a pinch.

ERRORS AND OMISSIONS
       The calibration option is a bit ropy.  It simply	 sends	PARIS  repeat‐
       edly,  and  relies  on you to time the sending and then work out if any
       adjustment to the speed is really necessary.  Automatic calibration  by
       making measurements over a given period would be a lot better.

SEE ALSO
       Man pages for cw(7,LOCAL), libcw(3,LOCAL), cw(1,LOCAL), cwgen(1,LOCAL),
       and xcwcp(1,LOCAL).

xcwcp ver. 3.5.0	       CW Tutor Package			      XCWCP(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net