Selecting the speech recognition language
If your options are set to a language that is not installed on your OS, you will see this error when first starting VoxCommando: VoxCommando will attempt to switch to the first "speech enabled" language that it can find on your system, but you will continue to get this message every time you start VoxCommando. Also, if the language that VoxCommando picks does not match the language used in your command configuration, you will not get recognition results.
To correct this you must select a speech-enabled language that is installed on your operating system.
Open the options window from the main VoxCommando window by clicking:
- Options >> Open Options
- Using the "Speech Language" drop-down, select from the list of available languages.
If you do not have an appropriate language installed, you will not be able to use VoxCommando.
Supported languages non SP version
VoxCommando.exe uses the WSR (Windows Speech Recognition) engine which supports the following languages in Vista, Windows 7, Windows 8 & Windows 10:
- English (US)
- English (UK)
- Chinese (untested - VoxCommando may have problems with this language)
- Japanese (untested - VoxCommando may have problems with this language)
Supported languages SP version
VoxCommandoSP.exe supports many more languages, but you must download Microsoft's Speech Platform 11 (free) in order to use these languages. This is a new feature that was added when we released Version 2 of VoxCommando in 2014.
Setting the language in Options does not change the commands
It is important to note that when you change the speech language in Options, you're telling VoxCommando what speech engine to use, but you are not changing the actual commands. If you choose English as the language, VoxCommando will look at the phrases in your command tree and interpret them as though they are English. If the commands in your tree use phrases that do not match the language set in Options, then recognition accuracy will be reduced. Of course you can still switch between English (US) and English (UK) without changing the command structure, but if you want to switch to French (for example) you will need to use a command tree designed to work in French.
Ideally you want to select a language in Options, and use a configuration where all the phrases are in this language. However, if your language is not officially supported, it is possible to get decent results using another speech language. To do this you will need to:
- Choose your phrases carefully.
- Avoid using accented or unusual characters that the selected speech engine won't understand.
- Do some extra speech training to teach VC how these words sound.
Choosing phrases when using the "wrong" language
In this situation, it is usually necessary to spell words phonetically. Consider the following example:
Let's assume that you want to leave the speech language set to "English" because you own a lot of English music and videos (or maybe English is the only language installed on your copy of Windows). Now let's imagine that you are trying to recognize the word "8". If you use the phrase 8 or Eight, VoxCommando will only listen for that English sound. But if you want to be able to say "huit" (French for 8), you should spell it out. The English recognizer will look at this as an English word, though, so it is better to spell it "wheat", because the English word "wheat" sounds similar to the French word "huit".
If you are trying to recognize "8" so that you can set the volume, you will actually need to pass VoxCommando a value of 8 (not "wheat"). The best way to achieve this is by using a payloadXML file. In your payloadXML file, you can map a list of words to corresponding values, so that when you say "huit" (but written "wheat"), the value assigned to it is 8, which can be used to set your volume. To learn more about payloads and building commands, see the two video tutorials: Tutorial 1A Editing and Building Commands and Tutorial 1B more about payloads and the command editor.
Use English if possible
There are two very good reasons to use English as the speech language if at all possible:
- Access to more pre-made configurations and commands
This is because VoxCommando is created by English developers and mostly used by English users, or users who have decided to use it in English.
- Media Titles tend to be English
Because so many Artist Names, Album Names, Song Names and Television and Movies Names tend to be in English, even if you speak a foreign language, the chances are good that you will have a lot of English words in your collection. If you are using, for example, a German speech engine and it is given a list of English titles, it will not do a very good job of recognizing them.
Installing additional languages
If you are using SP to access additional languages see: MS Speech Platform
Certain versions of Windows make it quite easy to install new languages. If you have Windows Ultimate, you can go to Windows Update and select new language packs to install. You will see a large number of languages to choose from, but remember, not all of these languages support speech recognition. Most of them are "interface" languages only, meaning that they will change the language you see on buttons, in menus, etc.
- Installing a new language pack in Windows 7
- Installing a new language pack in Windows 8.1 (video demo)
If your version of Windows does not allow you to do this, it may still be possible to install additional languages as described here: http://voxcommando.com/forum/index.php?topic=404.msg2557#msg2557. Please note that we cannot officially endorse this method. We don't know if it is allowed by Microsoft, and there is always the possibility that it will cause problems with your installation of Windows. If you wish to try it, please read the available information and decide for yourself.