Question

my primary language is spanish, but I use all my software in english, including windows; however I'd like to use speech recognition in spanish.

Do you know if there's a way to use vista's speech recognition in other language than the primary os language?

Was it helpful?

Solution

Citation from Vista speech recognition blog:

In Windows Vista, Windows Speech Recognition works in the current language of the OS. That means that in order to use another language for speech recognition, you have to have the appropriate language pack installed. Language packs are available as free downloads through Windows Update for the Ultimate and Enterprise versions of Vista. Once you have the language installed, you’ll need to change the display language of the OS to the language you want to use. Both of these are options on the “Regional and Language Options” control panel. You can look in help for “Install a display language” or “Change the display language”.

OTHER TIPS

To complete aku's answer, you have here different methods to have a "multilingual use in Vista".

  1. Installing a language pack

  2. Switching to a different language (and back)

Creating computer users. Create a user for each language and change the display language for that user to the language of your preference. A new Speech profile will be automatically created for that user. Switch between your languages by the normal procedure of “switching to another user” (Log offà Switch users).

Note: You can create a speech recognition profile for each user with any name you prefer. Change the name, or create a new user, in the Advanced Speech panel.

COMMENTS:
The advantage of the Separate Users method is that you can switch back and forth without changing any computer defaults.
The disadvantages are that it takes more disk space and more attention must be given to user management, and that you may not have access to files opened or saved by your other users unless you know how to give yourself such an access via the new permission dialogues of Windows Vista.

You should look at System.Speech.Recognition.SpeechRecognitionEngine - it's an 'in-proc' recognizer that will let you specify the language you want.

Your next problem is that en-US Vista doesn't ship with the spanish recognition engine. For that, you'll need the Spanish Language Pack. Once you install that, you should be able to instantiate a spanish recognition engine like this:

using System.Speech.Recognition;
SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine(new CultureInfo("es-ES"));

At that point, you can install grammars & do recognitions, etc.

Sure, but I want to do it without changing the display language... no way then?

No, not officially, if you believe this KB article: The Windows Speech Recognition language must be the same as the operating system language in Windows Vista.

So try to change it automatically, there some scripts on the internet, I found them via yahoo with Windows Speech Recognition "change language". This one looks interesting, but it is not tested. I don't know, if it's malware or whatever, so be carefull: Vistalizator Good luck!

You can install the language pack, but not apply it on your user. Then you might be able to change the language of the speech recognition, although I haven't tried it since I don't have Vista Ultimate.

It will work fine as I had by changing lanuguage support.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top