VoiceAttack requires the SAPI speech recognition system components that are part of Windows itself to be in working order.
This guide is especially relevant if VoiceAttack is showing an error message when it's started (though note that not all such error messages are caused by this specific issue).
One such error message could contain "Object reference not set to an instance of an object." followed by "at System.Speech.Recognition.SpeechRecognitionEngine.InstalledRecognizers()" (these messages are localized for the Windows display language you're using, so will be partially different for non-English Windows installations)
The following languages should, at the time of writing, have a working SAPI speech recognition engine made available for them by Microsoft:
Chinese (Simplified, China)
Chinese (Traditional, Hong Kong SAR)
Chinese (Traditional, Taiwan)
English (United Kingdom)
English (United States)
Français (France) / French (France)
Deutsch (Deutschland) / German (Germany)
Japanese
Español (España) / Spanish (Spain)
If the language you intended for speech recognition is not listed above, and your Windows installation is not in one of the listed languages, but an error message is shown when attempting to start VoiceAttack, follow this guide using "English (United States)", as at least one language likely needs to be installed in order for VoiceAttack to be able to start.
Languages not listed above may have a Speech Platform 11 speech recognition engine available, which VoiceAttack can use with certain caveats.
Click here for more information regarding that alternate speech recognition system.
Again, note that at least one of the above languages likely needs to be installed in order for VoiceAttack to be able to start; installing Speech Platform 11, if applicable, can be done after completing the steps in this guide.
Follow these steps:- Open the Windows Settings app, E.G. by holding the Windows key on your keyboard and pressing the "i" key, or by opening the Windows Start menu and clicking the cog/gear icon.
- In the Settings app, on the left-hand side, click "Time & language"
- On the "Time & language" page, click "Language & region"
- On the "Language & region" page, under "Preferred languages", there should be a list of the languages currently installed for your Windows installation (usually this will only contain one entry: the language Windows was installed in)
If the language you would like to use for speech recognition (or are installing because of an error message) is listed near the top of this post and already listed under "Preferred languages", click here to jump to the relevant steps.
If the language you would like to use for speech recognition (or are installing because of an error message) is listed near the top of this post, but not listed under "Preferred languages", continue with the next step, step 5.
- Click the "Add a language" button
- On the "Choose a language to install" dialog, find the language you want to use (again, it must be one of those listed near the top of this post), either by typing its name into the search field near the top of the dialog, or by manually scrolling and finding it in the list.
- Click the language you'd like to use to select it (there should be a vertical bar shown to the left-hand side of the language listing to show that it's selected), then click the "Next" button.
- Configure the "Install language features" dialog as follows:
Make sure "Language pack", "Text-to-speech", and "Basic speech recognition" have the box to the left-hand side of them checked.
Optionally, "Enhanced speech recognition" and "Handwriting" can be checked, however neither of those are relevant to SAPI speech recognition. I.E. "Enhanced speech recognition" is not relevant to VoiceAttack; it refers to a completely separate speech recognition system.
Make sure "Set as my Windows display language" also has the box to the left-hand side of it checked. This will change the language your Windows installation uses, which is necessary for training the speech recognition system. After training this can be changed back to your preferred language.
- Finally, click "Install"
- Your chosen language should now be installed. On the "Language & region" page, make sure the "Windows display language" option is set to the same language you intend to use for speech recognition. As mentioned, this is necessary for training the speech recognition system.
When you are finished with the training, you can use the "Windows display language" option to change the language your Windows installation uses back to your preferred language. Do note that if you want to perform additional training in the future, this option will again need to be changed to match the speech recognition language.
- Now you can close the Windows Settings app, and start VoiceAttack.
If an error message still appears when starting VoiceAttack, click here to jump to the relevant steps.
If VoiceAttack now starts successfully, you'll want to make sure to complete the speech recognition training at least three times. Instructions for starting that training can be found here.
Note: if the Speech Platform 11 runtime was installed previously, VoiceAttack may still be configured to use that instead of the engines you've just installed at this point.
If your intention is to use the SAPI speech recognition system, make sure the "Use Built-In SAPI Speech Engines" option is selected on the "System / Advanced" tab of the VoiceAttack options window, not the "Use Installed Speech Platform Speech Engines"