The keyboard has been rearranged based on user comments,
and there is an "undo" mechanism.

Usage:
autosegment [flags] featureVectors

Where featureVectors is a 2-dimensional file of
feature vectors to display.   This could be a spectrum,
for instance.   It needs to be read by the gpkio library.
The .../speechresearch/voicing/feature_vec.py program is
a good source.

Command line flags:

-wav FFFF - choose the file to be played.
-lbl FFFF - choose the file containing the labels.
	(It accepts labels produced by wavesurfer.)
-deflbl LLLL - set the default labels.     LLLL is a single
	argument (within quotes) containing a space-separated
	list of labels.   These will be available for placement
	via the "y" or the "a" keys.
-title TTTT - set the title of the display.   Strictly a reminder
	for the human labeller.
-fv FFFF - a file containing feature vectors used as the
	computer attempts to optimize labels.   Ideally, the feature
	vectors used in this file are designed to separate phonemes
	nicely.   Ideally, Euclidean distances between feature vectors
	would correspond to phonological distances.    If this flag
	is not provided, the program uses the featureVectors argument.
-remote EEEE DDDD dddd - if you want the computer optimization
	to run faster, you can offload it to another machine.
	EEEE specifies the name of the executable program on the other
	machine in the form "hostname/pathname" or just "hostname",
	and DDDD and dddd specify the working directory.
	Any files in the form */DDDD/something on the local machine
	will be searched for as dddd/something on the remote machine.



The key layout is now this:

Play Speech:
W - play the entire screenful
R - play 1 second, centered on the mouse position
<space> - play the segment that contains the mouse.
e - play the "edge" at the mouse position.   This plays 150ms
	to the left of the mouse, a brief pause, then 150ms
	to the right of the mouse.
3,4 - play to the left and right of the segment boundary nearest
	the mouse.

Place and Delete Labels
a - add the default segment marker.   This starts as "*" but you
	can choose other segments from the right edge of the toolbar.
	These options ultimately derive from the '-deflbl' flag on the
	command line.
A - add an arbitrary label.   It pop up a little text box.
y - add the whole set of default labels, starting at the current
	mouse position.
d - delete the label nearest the mouse.

Move Labels:
w - shift the nearest label to be 5ms left (earlier)
r - shift the nearest label to be 5ms right (later)
x - move the label to the left of the mouse to the mouse position.
c - move the nearest label to the mouse position
v - move the label to the right of the mouse to the mouse position
X - Accept the computer's estimate for the label
	to the left of the mouse.
C - Accept the computer's estimate for the label
	nearest the mouse.
V - " " " right of the mouse.

Inform the Computer:
s, S - pull the computer towards my label.  s=weak, S=strong,
	repeated keystrokes accumulate.
z, Z - relax the connection between my labels and the computer's

Misc:
q - center the display on the mouse position
1 - undo the last label modification.
	(There is an unlimited stack).
6 - redraw the display
Don't forget to save!
Labels are saved to "human.lbl" and "optimized.lbl".
Exit is via the [X] in the corner of the window.
