Xvoice Project on Sourceforge
Xvoice-sphinx project
Xvoice CVS repository
Frequently Asked Questions
SourceForge documentation
Mailing lists
Latest xvoice release xvoice-0.9.6-2mdv2007
xvoice- (German version)
xvoice-0.9.6-1.rh9.i386.rpm for RedHat 9
run vvinstall (on RedHat) or vvinstall2 (on Mandrake) after installing ViaVoice and before installing xvoice
xvoice.xml grammar files Current version: requires a recent release
Older version: works with any version of xvoice
User-donated modules

What does it do?

Xvoice enables continuous speech dictation and speech control of most X applications. To convert users' speech into text it uses the IBM ViaVoice speech recognition engine, which is distributed separately (see below).

When in dictation mode Xvoice passes this text directly to the currently focused X application. When in command mode, Xvoice matches the speech with predefined, user-modifieable, key sequences or commands. For instance "list" would match "ls -l" when commanding the console, so that when the user says "list" "ls -l" will be sent to the console as if the user had typed it.

This figure shows a typical session with Xvoice. Recognised (and some rejected) speech can be seen on the right pane. Currently active vocabularies are listed on the left. The application to which commands are being sent is listed on the top. Here it is used to control Xemacs to read mail and create a new mail. Dictation mode is then entered in order to dictate the text of the email to be sent. We then return to mail commands to send the mail and exit. Back in emacs, we open a file called xvoice.xml, which we can then modify and save as we wish.


(Note that there are additional installation/getting-started suggestions in "ViaVoice and XVoice: Providing Voice Recognition", a LiveJournal article by Rob Spearman.)

You must install IBM's ViaVoice engine before you can install xvoice. (See below.)

rpm -i xvoice-0.9.5-1.i386.rpm
gzip -d xvoice-0.9.5.tar.gz
tar fx xvoice-0.9.5.tar
Now follow the instructions in the INSTALL file.

IBM's ViaVoice Engine

xvoice is free software, but IBM's engine on which it depends is not. In order to run xvoice, you will need a licensed version of ViaVoice for Linux. (The xvoice development team is in the process of investigating open source speech recognition engines.)

To install xvoice from RPM, you only need the Run Time Kit (ViaVoice_runtime-3.x-x.x.rpm). IBM no longer provides this RPM for free download. The Runtime RPM is available as part of the IBM ViaVoice Dictation for Linux package, which can be purchased online for $39.95. IBM will only ship it within the U.S. and Canada. (There is a separate link to purchase in Canada.)

To build xvoice from source, you will need the ViaVoice Speech Recognition (ASR) SDK (ViaVoice-sdk-3.x-x.x.rpm). This RPM is no longer available from IBM.

If you need to build xvoice from source, or cannot get a copy of the Run Time Kit to install from RPM, please notify the mailing list; we will probably be able to help you.

Getting Started

Environment variables need to be set for ViaVoice to work properly. IBM provide "vvsetenv" to do this. Xvoice attempts to automatically set up the environment, but sometimes this is not possible, so execute ". vvsetenv" and then "xvoice" if "xvoice" does not work first time.

Open an rxvt terminal (just type rxvt in another terminal). Click the "Push to talk" button in the Xvoice window. Say "next window" until the rxvt terminal has the focus. You will notice the grammar for the rxvt terminal being added to the list on the left of the Xvoice window. Now say "shell commands on". This will enable a set of typical shell commands such as "man" "cp" and "cd". Now say "man" twice, followed by "return" this will bring up the man page for the man command. Now say "quebec". This will send the letter "q", closing the man page. If you want to spell out filenames or send single characters, use the military style letter naming scheme, listed in full in the supplied xvoice.xml file. Consult this file for more details on the available commands.

For more information on using xvoice, see the COMMANDS file distributed with the source.

Related Projects

ViaVoice tools contains some programs, specific to the ViaVoice engine, which add useful functionalities when used with xvoice.

Mailing lists

xvoice-user list

The xvoice-user list is for general discussion of Xvoice, bug reports, and release announcements.

Mailing list web page: http://lists.sourceforge.net/mailman/listinfo/xvoice-user
Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=34592

xvoice-devel list

The xvoice-devel list is for discussion of xvoice development.

Mailing list web page: http://lists.sourceforge.net/mailman/listinfo/xvoice-devel
Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=3392

Xvoice-sphinx list for Xvoice-Sphinx integration:

The Xvoice-sphinx list is for discussion of integrating an open-source speech recognition engine, CMU Sphinx, with Xvoice.

Post message: xvoice-sphinx@sourceforge.net
Mailing list web page: http://lists.sourceforge.net/lists/listinfo/xvoice-sphinx
Archives: http://sourceforge.net/mailarchive/forum.php?forum=xvoice-sphinx

xvoice-cvs list

The xvoice-cvs is for announcements of cvs commits.

Mailing list web page: http://lists.sourceforge.net/mailman/listinfo/xvoice-cvs
Archives: http://sourceforge.net/mailarchive/forum.php?forum=xvoice-cvs

xvoice@yahoogroups.com list

The old YahooGroups! mailing list is now defunct. Please use the new xvoice-user list at sourceforge.



Please mail questions, comments, and suggestions to the xvoice mailing list at xvoice-user@sourceforge.net. The list is very responsive. There are also archives available where your question might already have been answered.


Long Version:

Xvoice is Copyright (c) 1999 by David Z. Creemer, Tom Doris and Brian Craft. All rights not granted in the LICENSE file are reserved. Xvoice is distributed subject to the terms explained in the LICENSE file.

Short Version: GPL.