Unable to correctly install MS Speech Platform 11 on Win 7 x64

12.3k views Asked by At

so I'm trying to get up and running MS Speech Platform 11 + SDK + Russian Language for TTS and SR

  1. Installing SpeechPlatformRuntime.x64.msi
  2. Installing MicrosoftSpeechPlatformSDK.x64.msi --- Both goes to correct "Program Files" folder.
  3. Installing MSSpeech_SR_ru-RU_TELE.msi
  4. Installing MSSpeech_TTS_ru-RU_Elena.msi --- Both goes to "Program Files (x86)" folder. - is it OK?

Seems like no, because when I look at SpeechRecognitionEngine.InstalledRecognizers() it returns 2 items:

MS-1033-80-DESK
Microsoft Speech Recognizer 8.0 for Windows (English - US)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Recognizers\Tokens\MS-1033-80-DESK

MS-2057-80-DESK
Microsoft Speech Recognizer 8.0 for Windows (English - UK)
HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Recognizers\\Tokens\\MS-2057-80-DESK

But I have never installed this recognizers. I've looked into Win 7 component and can't find any related to this.

So questions are:

  1. Is it required to install languages in x64 Program Files? If so, how to do that?
  2. How to configure recognizer and synthesizer to see ru-RU languages?

Any help very appreciated.

3

There are 3 answers

2
hkurabko On BEST ANSWER

Finally I got it. I don't know why it is so complex. May be I'm doing something wrong. Anyway, it works and located in correct places. So, here is my solution:

  1. Install x64_SpeechPlatformRuntime\SpeechPlatformRuntime.msi
  2. Install x64\MicrosoftSpeechPlatformSDK.msi
  3. Using Orca (installation instructions here) modify MSSpeech_SR_ru-RU_TELE.msi, and other languages that you would like to install:

    1. Go to View -> Summary Information, and set Platform: x64.

    2. Go to Directory table, and change all occurrences:

      CommonFilesFolder -> CommonFiles64Folder

      Common -> CommonFiles64Folder

  4. Install selected languages.

  5. Place file Microsoft.Speech.dll into you project's "Externals" folder and reference this dll from there. (I can't find way how to reference this DLL from VS without this trick).

1
Frank Einstein On

I found a very good way to fix those "Runtime Languages" (Version 11).

I'm using Windows 7 64bit and when I first tried to install those Speech Languages, they were not listed in the system. So I searched for a solution...

I found a french web site explaining that we need to modify some registry keys. This method is working but it's very long to do and it leaves a lot of unused Keys in your Registry...

So, why not just fix the bug at it's source? The MSI Installer file!

Needed Tools:

To do this, you will need an MSI Editor. I'm using "InstEd 1.5" which seems to be perfect for what we need to do... and it's free!

You can download it at: www.instedit.com

Steps:

For this example, I will fix this file: "MSSpeech_TTS_en-US_Helen.msi"
It's the same procedure for any other "Runtime Languages".

  1. First, Uninstall every "Not Working" Runtime Languages.

  2. Open the MSSpeech_TTS_en-US_Helen.msi with "InstEd 1.5"

  3. Select the "Tables" Tab.

  4. Click on the table named: "Registry"

  5. You will see a list of Registry Keys. It should look like that:

"SOFTWARE\Microsoft\Speech Server\v11.0\Voices\Tokens\TTS_MS_en-US_Helen_11.0" "SOFTWARE\Microsoft\Speech Server\v11.0\Voices\Tokens\TTS_MS_en-US_Helen_11.0\Attributes"

  1. Select all the Rows (Ctrl+A)

  2. Right click on the the selection then "Cut Rows" (or use Ctrl+Shift+X)

  3. Open your favorite Text Editor and Paste inside it.

  4. With your Text Editor, you need to replace every string of "Speech Server\v11.0" by "Speech" (use Ctrl+H and "Replace All")

  5. In your Text Editor: Select all (Ctrl+A) and Copy (Ctrl+C)

  6. Go back to "InstEd 1.5"

  7. Right Click in the "Registry Window" then "Paste Rows"

  8. Save your Fixed MSI file!

  9. Install your Fixed MSI File!

0
LMV On

I combined answers hkurabko and Frank Einstein.

So, more useful Orca, it can replace values in column Keys for each row at once: click Edit -> Replace, type necessary - replace all.

And if you don't want add "Externals" dll, you need install BOTH version of SpeechPlatformRuntime: x64 and x86.

It work for me at Windows 10 1703 (Creators Update).