LibreOffice 3.5 & Windows 8 (en-US) Preview (resolved)

Post date: Mar 7, 2012 5:23:28 AM

LibreOffice 3.5 works well with the March 2012 Windows 8 (en-US) 64 bit consumer preview. By default, Read Text Extension can use the Microsoft Zara (English US) voice to speak. Using another language or dialect with the consumer preview is possible, but, depending on the voice, you may need to use the registry editor to get other voices to work properly. (NOTE: With the June 2012 release candidate, this problem is resolved.)

Problem

When using LibreOffice and Read Text extension with the March 2012 64 bit Windows 8 en-US preview, only the Microsoft Zira Desktop - English (United States) voice appears in the Read Text Extension settings menu. When you install French system resources, the Microsoft Hortense Desktop - French voice does not appear in the settings menu. However, if you install a third party voice like ScanSoft Virginie (French), it does appear.

Comment

LibreOffice is available as a 32 bit application. It is installed in the C:\Program Files(32 bit) directory. The Microsoft Zira Desktop voice is the only voice listed by default in the Windows Registry under the key HKEY_LOCAL_MACHINE-SOFTWARE/Wow6432Node/Microsoft/Speech/Voices. It would appear that this is the reason that this is the only voice that is displayed by default when a voice is called from a 32 bit program like LibreOffice.

Resolution

In a message in a Windows IT Pro Forum, Dave Morton explains how to get the legacy Windows Speech API to work with new 64 bit voices. Essentially, he explains how to create a registry patch that adds entries for 64 bit voices to the place in the registry that 32 bit programs use.

Editing or patching the Windows registry carelessly may damage the operating system. Additionally, manual patches for voices may not be automatically updated correctly should you add or remove voices.

Here is what I did to add the Microsoft Hortense French voice to a US English system. I went to keyboard settings and added a French keyboard. In the Language Settings Control Panel, I downloaded and installed French as an additional system language. In the normal Control Panel, a new voice called Microsoft Hortense Desktop appeared.

Following Dave Morton's instructions, I used Regedit to export a copy of HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices and to export a copy of HKEY_LOCAL_MACHINE-SOFTWARE\Wow6432Node\Microsoft\Speech\Voices as a backup. I opened the first file with Notepad and replaced every incidence of the string HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices with HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Speech\Voices. I saved the file with a new name, then right-clicked it and chose "Merge". A dialogue noted that not all settings could be changed because some were in use. However, now all voices were available to the Read Text Extension with LibreOffice. Read Text extension can switch languages automatically with French and English using C:\Windows\SysWOW64\wscript.exe as the external program and "(TTS_WSCRIPT_VBS)" /language:"(SELECTION_LANGUAGE_COUNTRY_CODE)" "(TMP)" in the command line options.

Attached is the registry patch file.

If you are not using English as your Windows 8 consumer preview interface language, the system might use your language by default. If you need LibreOffice to automatically switch languages using the /language:"(SELECTION_LANGUAGE_COUNTRY_CODE)" token, you might need to set the Windows 8 system voice to an English voice like Microsoft Zara using the speech settings control panel.

The consumer preview version of Windows 8 may have different features or procedures than the final release version.

'THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.'

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Speech\Voices]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Speech\Voices\Tokens]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-GB_HAZEL_10.0]

@="Microsoft Hazel Desktop - English (Great Britain)"

"LangDataPath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,\

00,74,00,25,00,5c,00,53,00,70,00,65,00,65,00,63,00,68,00,5c,00,45,00,6e,00,\

67,00,69,00,6e,00,65,00,73,00,5c,00,54,00,54,00,53,00,5c,00,65,00,6e,00,2d,\

00,47,00,42,00,5c,00,4d,00,53,00,54,00,54,00,53,00,4c,00,6f,00,63,00,45,00,\

6e,00,47,00,42,00,2e,00,64,00,61,00,74,00,00,00

"VoicePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\

74,00,25,00,5c,00,53,00,70,00,65,00,65,00,63,00,68,00,5c,00,45,00,6e,00,67,\

00,69,00,6e,00,65,00,73,00,5c,00,54,00,54,00,53,00,5c,00,65,00,6e,00,2d,00,\

47,00,42,00,5c,00,4d,00,32,00,30,00,35,00,37,00,48,00,41,00,5a,00,00,00

"CLSID"="{C64501F6-E6E6-451f-A150-25D0839BC510}"

"809"="Microsoft Hazel Desktop - English (Great Britain)"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-GB_HAZEL_10.0\Attributes]

"Version"="10.4"

"Language"="809"

"Gender"="Female"

"Age"="Adult"

"SharedPronunciation"=""

"Name"="Microsoft Hazel Desktop"

"Vendor"="Microsoft"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-US_DAVID_10.0]

@="Microsoft David Desktop - English (United States)"

"LangDataPath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,\

00,74,00,25,00,5c,00,53,00,70,00,65,00,65,00,63,00,68,00,5c,00,45,00,6e,00,\

67,00,69,00,6e,00,65,00,73,00,5c,00,54,00,54,00,53,00,5c,00,65,00,6e,00,2d,\

00,55,00,53,00,5c,00,4d,00,53,00,54,00,54,00,53,00,4c,00,6f,00,63,00,45,00,\

6e,00,55,00,53,00,2e,00,64,00,61,00,74,00,00,00

"VoicePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\

74,00,25,00,5c,00,53,00,70,00,65,00,65,00,63,00,68,00,5c,00,45,00,6e,00,67,\

00,69,00,6e,00,65,00,73,00,5c,00,54,00,54,00,53,00,5c,00,65,00,6e,00,2d,00,\

55,00,53,00,5c,00,4d,00,31,00,30,00,33,00,33,00,44,00,41,00,56,00,00,00

"409"="Microsoft David Desktop - English (United States)"

"CLSID"="{C64501F6-E6E6-451f-A150-25D0839BC510}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-US_DAVID_10.0\Attributes]

"Version"="10.4"

"Language"="409"

"Gender"="Male"

"Age"="Adult"

"SharedPronunciation"=""

"Name"="Microsoft David Desktop"

"Vendor"="Microsoft"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-US_ZIRA_10.0]

@="Microsoft Zira Desktop - English (United States)"

"LangDataPath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,\

00,74,00,25,00,5c,00,53,00,70,00,65,00,65,00,63,00,68,00,5c,00,45,00,6e,00,\

67,00,69,00,6e,00,65,00,73,00,5c,00,54,00,54,00,53,00,5c,00,65,00,6e,00,2d,\

00,55,00,53,00,5c,00,4d,00,53,00,54,00,54,00,53,00,4c,00,6f,00,63,00,45,00,\

6e,00,55,00,53,00,2e,00,64,00,61,00,74,00,00,00

"VoicePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\

74,00,25,00,5c,00,53,00,70,00,65,00,65,00,63,00,68,00,5c,00,45,00,6e,00,67,\

00,69,00,6e,00,65,00,73,00,5c,00,54,00,54,00,53,00,5c,00,65,00,6e,00,2d,00,\

55,00,53,00,5c,00,4d,00,31,00,30,00,33,00,33,00,5a,00,49,00,52,00,00,00

"409"="Microsoft Zira Desktop - English (United States)"

"CLSID"="{C64501F6-E6E6-451f-A150-25D0839BC510}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-US_ZIRA_10.0\Attributes]

"Version"="10.4"

"Language"="409"

"Gender"="Female"

"Age"="Adult"

"SharedPronunciation"=""

"Name"="Microsoft Zira Desktop"

"Vendor"="Microsoft"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Speech\Voices\Tokens\TTS_MS_FR-FR_HORTENSE_10.0]

@="Microsoft Hortense Desktop - French"

"LangDataPath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,\

00,74,00,25,00,5c,00,53,00,70,00,65,00,65,00,63,00,68,00,5c,00,45,00,6e,00,\

67,00,69,00,6e,00,65,00,73,00,5c,00,54,00,54,00,53,00,5c,00,66,00,72,00,2d,\

00,46,00,52,00,5c,00,4d,00,53,00,54,00,54,00,53,00,4c,00,6f,00,63,00,46,00,\

72,00,46,00,52,00,2e,00,64,00,61,00,74,00,00,00

"VoicePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\

74,00,25,00,5c,00,53,00,70,00,65,00,65,00,63,00,68,00,5c,00,45,00,6e,00,67,\

00,69,00,6e,00,65,00,73,00,5c,00,54,00,54,00,53,00,5c,00,66,00,72,00,2d,00,\

46,00,52,00,5c,00,4d,00,31,00,30,00,33,00,36,00,48,00,4f,00,52,00,00,00

"40C"="Microsoft Hortense Desktop - French"

"CLSID"="{C64501F6-E6E6-451f-A150-25D0839BC510}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Speech\Voices\Tokens\TTS_MS_FR-FR_HORTENSE_10.0\Attributes]

"Version"="10.4"

"Language"="40C"

"Gender"="Female"

"Age"="Adult"

"SharedPronunciation"=""

"Name"="Microsoft Hortense Desktop"

"Vendor"="Microsoft"