xvoice Frequently Asked Questions


What is xvoice?
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 no longer made available from IBM.

Where can I get the ViaVoice Runtime RPM, the ViaVoice SDK RPM, or the ViaVoice Dictation (GUI) RPM?
They are no longer available from IBM. Used versions may be available; ask on the mailing list for more help locating people who are willing to relinquish their license(s) to you. Check in at the xvoice mailing list to stay up to date on developments.

What version of Java should I use with ViaVoice?
Unfortunately ViaVoice works better with older Java versions, such as Sun's jdk-1.3.1-fcs.src.rpm.

What OS should I use with ViaVoice?
Unfortunately ViaVoice works better with older OSes; it was last reported to work smoothly on RedHat 6.2. Your best bet at this point is probably to go with Fedora. See below for links on scripts to help you install it.

Is xvoice usable hands-free?
Provided you interact with a limited set of applications, all of which conform to the Gnome Window Managers Specification, yes. However, in practice, I do not know of anyone who actually uses xvoice completely hands-free. In particular, its correction capabilities are limited, and it does not interact well with menu-driven applications. The xvoice developers are working to make it more usable completely hands-free, as that is our ultimate goal.

So what are my other options?
For Linux, there aren't really any better options. IBM's Dictation product does not provide command and control or the ability to dictate to random X applications, and that is the only other well-supported option right now. You might look into using speech recognition under Windows and then connecting to Linux from the Windows machine. A good place to ask about other options is the voice-users mailing list.

xvoice is free software, but IBM's engine on which it depends is not. Are there any licensing concerns?
In order to run xvoice, you will need to purchase a licensed version of IBM's Runtime RPM. In order to compile xvoice, you will need to use IBM's header files (in its SDK); IBM's license for these files does allow you to use them, so you can legally compile xvoice. (See below for more information on the Runtime RPM.) The xvoice development team is in the process of investigating open source speech recognition engines, such as CMU's Sphinx.


What IBM RPMs do I need to run xvoice?
If you are building xvoice, you always need the Run Time Kit (ViaVoice_runtime-3.x-x.x.rpm) and the ViaVoice Speech Recognition (ASR) SDK (ViaVoice-sdk-3.x-x.x.rpm). If you are installing from RPM:

You do not need the Text To Speech Kit (ViaVoice_TTS_rtk-5.x-x.x.rpm).

IBM no longer provides these RPMs for free download. The Runtime RPM is available as part of the IBM ViaVoice Dictation for Linux package. This package is no longer available online, but it's possible IBM has a few left by phone sales; call IBM Direct Sales, 1-800-426-2255. Ask for part number 11K8437. The package costs $39.95. IBM will only ship it within the U.S. and Canada.

If you cannot purchase the Dictation product because you do not live in the U.S. or Canada, or you need the SDK to build xvoice, you should ask the xvoice mailing list for help.

Volker Kulhmann maintains a ViaVoice Linux mini-FAQ.

What else does xvoice require on my system?

Can ViaVoice (and therefore xvoice) be installed on non-RedHat systems?
Yes, but apparently not as easily as on RedHat. Volker Kuhlmann maintains a HOWTO for Mandrake and SuSE, which contains information which may be helpful to RedHat users as well. Russell Dwiggins posted a HOWTO for Gentoo and SuSE.

Can it be installed on Ubuntu?
Christophe Klopp wrote How-to install ViaVoice runtime and xvoice on Ubuntu Gutsy 386 (PDF).

How can I get xvoice to recognize new commands?
For example, you might want to say "Open" in your favorite text editor and have xvoice drop its "open" menu. To do this, you need to write a macro which maps the word "open" to the keystrokes which you use to drop the open menu in that application. Take a look at the xvoice.xml file which came with your xvoice distribution (it was probably installed in your home directory, in .xvoice/xvoice.xml). There are various vocabularies here; add one for the application you want xvoice to work with. You can check the vocabulary tracker at xvoice's sourceforge project page to see if someone else has already submitted a vocabulary for your application.


I have installed an operating system that is newer than RedHat 6.2 / Mandrake 8.0. It seems that on this newer OS ViaVoice does not work anymore. What can I do?

Carlo Wood maintains vvinstall and vvinstall2, a script which will install ViaVoice on newer operating systems. vvinstall is based on RedHat systems; vvinstall2 is based on Mandrake 8. This script will get you most of the way there, but does not work for everyone. Anthony Jameson posted how he got xvoice working under RedHat 9, which seems to work more generally, and should work for distributions after RedHat 9.

Alvin Murphy posted how he got vvinstall to swork.

You might also see Justin Mason's page, a wiki for "getting ViaVoice speech recognition working on a modern Linux distro." Volker Kuhmann notes about this page: "The statement that one must have alsa is incorrect. One must have whatever works with one's own soundcard and VV simultaneously, and that may be alsa or OSS or something different. If the first one doesn't work one tries the next."

Even after I turn on the microphone with the "Push to Talk" button, xvoice does not appear to be getting any input. It's as if the microphone isn't on.
KDE users need to disable the aRts sound server, which interferes with xvoice's ability to get incoming audio. (If you are running xvoice from a terminal, you will see a RecordOpen() error message in the terminal.) Disabling the server is done from the sound-setup portion of the KDE control panel.
In some applications (for example, KMail), xvoice sends only one backspace when I say "correction" in dictate mode, instead of erasing the entire previous word. In others (such as OpenOffice), the letters in its words show up mixed up.
Some applications can't handle the speed at which xvoice sends characters to them. To make xvoice pause a microsecond between keystrokes, enable "Send keystrokes slowly" in the dictation preferences (Settings -> Preferences -> Dictation).
When I run xvoice, it fails with the message "exec failed with bash2 shell."
The xvoice RPMs expect /bin/bash2 to exist on your system. (When built from source, the configuration step takes care of this problem, but few people have the SDK with which to build from source.) Find where bash exists on your system; make sure it is bash version 2, not version 1 (if need be, install version 2); and make a symbolic link from that binary to /bin/bash2. For example, if bash is in /bin/bash, then, as root:
  cd /bin
  ln -s bash bash2
vvstartenrollment exits with an exception.
Brian Craft reports: "Turns out the problem is related to the command line parameter. For some reason Sun's jre will execute "vvstartenrollment", but IBM's requires a parameter. Looking at the script it appears to want a user id, so I did "vvstartenrollment bcboy", and it worked."
How can I get xvoice and ViaVoice to work with a USB headset?
Anthony Jameson recorded how he got xvoice and ViaVoice to work with a USB headset.
I've seen some bugs when I use xvoice with Xinerama.
Kevin Moore reports: "xvoice always segfaults after a long time of working properly, and this too appears to be a bug in X... Not sure what to do about it - maybe just make people aware that xvoice tickles X bugs when used with Xinerama."


Are there resources available for using xvoice with non-English languages?
abgdf provided some files useful for using xvoice with German, though be warned, you will need to recompile xvoice.
What about Dragon NaturallySpeaking -- can I use that instead?
See notes about installing NaturallySpeaking 5 under WINE.

Questions, comments, and suggestions should be directed to the xvoice mailing list. The list's archives should provide answers to many questions. In particular, please let us know if there are questions which this page should, but does not currently, answer.

[Main xvoice site]