www.pudn.com > xvoice-0.8.1.rar > README


XVoice

Version 0.8, Thu Mar 9 14:17:37 PST 2000
by Brian Craft, while Tom is tied up on other things.
http://www.thecraftstudio.com/bcboy/xvoice
bcboy@thecraftstudio.com

Version 0.6, Nov 25, 1999.
http://www.compapp.dcu.ie/~tdoris/Xvoice
Tom Doris
tdoris@compapp.dcu.ie

Versions previous to 0.5 by:
http://www.zachary.com/creemer/xvoice.html
David Z. Creemer
david@zachary.com

XVoice is a simple hack. It will accept contuinuous speech input from
IBM's ViaVoice SDK for Linux, and then retarget the resulting text at
many X applications.

To accomplish this retargeting, XVoice synthesizes X key press
events. Many application will happily accept synthesized events, but
some will not, deeming them -- correctly -- to be a security risk. You
should test XVoice with an RXVT terminal window as a target to make
sure that it's working. Once it works correctly with an rxvt, try it
with other applications.

XVoice is known to work with RXVT, WordPerfect, XFMail, XEmacs, and
others. GTK-based apps seem to work too. Qt-based apps (at least the
two I've tried) do not. Most importantly, XTerm does _not_ seem to
work. I'll have to look into this more to see if there is some sort of
option (preferably run-time) for it. I'd suggest trying things out
using rxvt or XEmacs.

Before running XVoice, you need to set up your environment to connect
to the ViaVoice service. Do this by executing the following in your
shell:

shell> . vvsetenv

If you don't do this, XVoice will attempt to bootstrap the environment by
invoking vvsetenv and restarting. It works for me. Your milage may vary.
Note that if you want to run XVoice under gdb you *must* run vvsetenv, because
gdb won't walk through XVoice restarting.

In order to get emacs to work, you _must_ evaluate the following
elisp:

(setq x-allow-sendevents t)

Building

XVoice requires X, ViaVoice SDK, GTK+, and libgnomeui to build. Some of the
code is based on the IBM ViaVoice SDK sample "gtkhello". If you can build that
sample program, you can build XVoice. See the Makefile for local settings.

Running

"xvoice -h" will show you help on running the application.

"xvoice -m" starts XVoice with the microphone ON.

Once started, XVoice presents a list of currently active vocabularies,
a list of recognised words (initially blank), and the current target
application (initially blank). Focus a target with the mouse, or by
saying "next window" until the desired application is focused, and say
"command mode" or "dictate mode" to begin sending voice commands.
Say "stop command" or "stop dictate" to stop each mode.

"Microphone off" will turn off the microphone.

While dictating into an application, speaking "stop dictation" will
return to XVoice command mode. Speaking "correction" will erase the
last dictated word or punctuation. You may erase words back to the
beginning of the dictation session. Speaking "new paragraph" will
enter a single CR for you (i.e. "enter").

Speaking "Command" will put Xvoice into application command mode. Xvoice will
attempt to find the grammar file for the focused window, and use this as the
current grammar. The xvoice.xml file contains mappings from spoken text to
synthesisted X events. Thus it is possible to speak "open file" and have the
key sequence "C-x C-f" sent to emacs. It is possible for users to modify the
xvoice.xml file to incorporate key sequences for other applications. This
procedure is described in the COMMANDS file.

COPYRIGHT

Long Version:

XVoice is Copyright (c) 1999 by David Z. Creemer and Tom Doris. All rights not
granted in the LICENSE file are reserved. XVoice is distributed
subject to the terms explained in the LICENSE file. Portions of this
program are based on code from other projects, which use the GPL
and other licenses. All attributions are in the AUTHORS file.

Short Version: GPL.