Longhorn managed speech on Windows XP

After a bit of investigation and experimentation I believe it’s possible to get most of the Longhorn managed speech API running on Windows XP. The word from Microsoft is that this isn't possible, so it’s certainly unsupported.

Here’s how I did it.  I started with Windows XP SP2 and Longhorn 4074

 

Because I haven’t figured out how to train or configure longhorn speech on WinXP, you’ll need a trained a speech profile on your longhorn box.

 

1)       Copy these directories from your Longhorn PC to WinXP
C:\Documents and Settings\<profile>\Application Data\Microsoft\Speech\Files\UserLexicons
C:\Documents and Settings\<profile>\Local Settings\Application Data\Microsoft\Speech\Files\MSASR
C:\Program Files\Common Files\SpeechEngines\Microsoft\Lexicon70
C:\Program Files\Common Files\SpeechEngines\Microsoft\SR70

2)      Register the .dlls in the SR70 directory

3)      On your WinXP box, make a backup of the files in
C:\Program Files\Common Files\Microsoft Shared\Speech
(note: this may not be strictly necessary, as Windows automatically restored the files on my PC)

4)      Then copy the files from the LH pc

5)      Register the .dlls
if Windows automatically restores the old sapi.dll, copy the Longhorn version to an alternate directory and register it from there

6)      From LH extract the two below registry keys to a .reg file
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Recognizers\Tokens\MS-1033-70-DESK
HKEY_CURRENT_USER\Software\Microsoft\Speech

7)      Remove all the keys from these two entries from the .ref file
HKEY_CURRENT_USER\Software\Microsoft\Speech\AudioInput
HKEY_CURRENT_USER\Software\Microsoft\Speech\AudioOutput

8)      Edit
[HKEY_CURRENT_USER\Software\Microsoft\Speech\RecoProfiles\Tokens\{06AF0E13-0AC0-4276-B714-D047AA3725D4}]
@="Default Speech Profile"

set it so say, “LH Speech Profile”

9)      Merge this .reg file into your WinXP registry

10)  Copy System.Speech.dll from the LH GAC to your XP pc, there’s no need to install it into the WinXP GAC

11)  At this point your speech recognition control panel should look like this:

And you should be able to create a new instance of System.Speech.Recognition.SystemRecognizer

 

Now it’s time for me to actually learn something about grxml files.

 

2 Comments

Comments have been disabled for this content.