How to Install a Microsoft voice on Windows 7 (tested on 32 bits e 64 bits)

(Leia em português)
These procedures must be performed by qualified technicians for Windows 7.
They were tested on Windows 7 32 bits and Windows 7 64 bits. (it may work for other systems, but I haven't test)
I recommend to do a system restore point before start the procedures below, in order to restore the system if something goes wrong.

Microsoft offers several languages for reading texts out loud voice for free.
As an example, I did the procedures using the Heloísa voice for reading texts in Portuguese (Brazil) and Hilda (espanish, Mexico), but it also works with several languages.
You will need to replace the line codes according to the voice that you'll install.
Ok, so let's start.

Step 1)
Install the Microsoft Speech Platform - Runtime (Version 11).
If your system is 32 bits, install the x86 version.
(x86_SpeechPlatformRuntime\SpeechPlatformRuntime.msi)

If your system is 64 bits, install the x64 version.
(x64_SpeechPlatformRuntime\SpeechPlatformRuntime.msi)

Download using this link:
http://www.microsoft.com/en-us/download/details.aspx?id=27225

Step 2) 
Install the language that you want in Microsoft Speech Platform - Runtime Languages (Version 11). 
Note: Download the TTS version.
My example:
(MSSpeech_TTS_pt-BR_Heloisa.msi)
 
Download using this link:
www.microsoft.com/en-us/download/details.aspx?id=27224

Step 3)  
Create a .reg file with the information according to your needs and then execute it as a system administrator. I will comment each line, then, I will show the complete file.

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_lang-Country_Name_11.0]

My example:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_pt-BR_Heloisa_11.0]
Next line:

@="Microsoft Server Speech Text to Speech Voice (lang-Country, Name)"

My example:

@="Microsoft Server Speech Text to Speech Voice (pt-BR, Heloisa)"

To do the next line, you'll need this table:

410
Lucia
Microsoft Server Speech Text to Speech Voice (it-IT, Lucia)
413
Hanna
Microsoft Server Speech Text to Speech Voice (nl-NL, Hanna)
403
Herena
Microsoft Server Speech Text to Speech Voice (ca-ES, Herena)
41D
Hedvig
Microsoft Server Speech Text to Speech Voice (sv-SE, Hedvig)
80A
Hilda
Microsoft Server Speech Text to Speech Voice (es-MX, Hilda)
C0A
Helena
Microsoft Server Speech Text to Speech Voice (es-ES, Helena)
406
Helle
Microsoft Server Speech Text to Speech Voice (da-DK, Helle)
407
Hedda
Microsoft Server Speech Text to Speech Voice (de-DE, Hedda)
414
Hulda
Microsoft Server Speech Text to Speech Voice (nb-NO, Hulda)
40B
Heidi
Microsoft Server Speech Text to Speech Voice (fi-FI, Heidi)
C0C
Harmonie
Microsoft Server Speech Text to Speech Voice (fr-CA, Harmonie)
40C
Hortense
Microsoft Server Speech Text to Speech Voice (fr-FR, Hortense)
416
Heloisa
Microsoft Server Speech Text to Speech Voice (pt-BR, Heloisa)
816
Helia
Microsoft Server Speech Text to Speech Voice (pt-PT, Helia)
415
Paulina
Microsoft Server Speech Text to Speech Voice (pl-PL, Paulina)
419
Elena
Microsoft Server Speech Text to Speech Voice (ru-RU, Elena)
804
HuiHui
Microsoft Server Speech Text to Speech Voice (zh-CN, HuiHui)
404
HanHan
Microsoft Server Speech Text to Speech Voice (zh-TW, HanHan)
C04
HunYee
Microsoft Server Speech Text to Speech Voice (zh-HK, HunYee)
411
Haruka
Microsoft Server Speech Text to Speech Voice (ja-JP, Haruka)
409
Helen
Microsoft Server Speech Text to Speech Voice (en-US, Helen)
4009
Heera
Microsoft Server Speech Text to Speech Voice (en-IN, Heera)
C09
Hayley
Microsoft Server Speech Text to Speech Voice (en-AU, Hayley)
1009
Heather
Microsoft Server Speech Text to Speech Voice (en-CA, Heather)
809
Hazel
Microsoft Server Speech Text to Speech Voice (en-GB, Hazel)
412
Heami
Microsoft Server Speech Text to Speech Voice (ko-KR, Heami)

Replace "code" with the correspondent code of the language
"code"="Microsoft Server Speech Text to Speech Voice (lang-Country, Name)"

My example:
"416"="Microsoft Server Speech Text to Speech Voice (pt-BR, Heloisa)"

Next line:
"CLSID"="{a12bdfa1-c3a1-48ea-8e3f-27945e16cf7e}"

You will need to find the .dat file of the language. It will be in a folder similar to this, if your system is 32 bits:

C:\Program Files\Common Files\Microsoft Shared\Speech\Tokens\TTS_MS_lang-country_Name_11.0\MSTTSsomething.dat

or if your system is 64 bits:

C:\Program Files (x86)\Common Files\microsoft shared\Speech\Tokens\TTS_MS_lang-country_Name_11.0\MSTTSsomething.dat


According to that information, complete this next line, as my example:

"LangDataPath"="C:\\Program Files\\Common Files\\Microsoft Shared\\Speech\\Tokens\\TTS_MS_pt-BR_Heloisa_11.0\\MSTTSLocptBR.dat"

The next line, you need to replace the name + T. Examples: HildaT, HeloisaT, where Hilda is the mexican voice and Heloisa is the brazilian voice.

"VoicePath"="C:\\Program Files\\Common Files\\Microsoft Shared\\Speech\\Tokens\\TTS_MS_pt-BR_Heloisa_11.0\\HeloisaT"

In the next line, replace code with the same code that you used before:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_lang-Country_Name_11.0\Attributes]
@=""
"Age"="Adult"
"Gender"="Female"
"Language"="code"
"Name"="Microsoft Server Speech Text to Speech Voice (lang-Country, Name)"
"Vendor"="Microsoft"
"Version"="11.0"

My example:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_pt-BR_Heloisa_11.0\Attributes]
@=""
"Age"="Adult"
"Gender"="Female"
"Language"="416"
"Name"="Microsoft Server Speech Text to Speech Voice (pt-BR, Heloisa)"
"Vendor"="Microsoft"
"Version"="11.0"
Here an example of a complete .reg, in this case it will install TTS_MS_pt-BR_Heloisa_11.0 in a 32 bits system. Remember that you must execute the .reg as Administrator, otherwise, it will not work.
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_pt-BR_Heloisa_11.0]
@="Microsoft Server Speech Text to Speech Voice (pt-BR, Heloisa)"
"416"="Microsoft Server Speech Text to Speech Voice (pt-BR, Heloisa)"
"CLSID"="{a12bdfa1-c3a1-48ea-8e3f-27945e16cf7e}"
"LangDataPath"="C:\\Program Files\\Common Files\\Microsoft Shared\\Speech\\Tokens\\TTS_MS_pt-BR_Heloisa_11.0\\MSTTSLocptBR.dat"
"VoicePath"="C:\\Program Files\\Common Files\\Microsoft Shared\\Speech\\Tokens\\TTS_MS_pt-BR_Heloisa_11.0\\HeloisaT"


[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_pt-BR_Heloisa_11.0\Attributes]
@=""
"Age"="Adult"
"Gender"="Female"
"Language"="416"
"Name"="Microsoft Server Speech Text to Speech Voice (pt-BR, Heloisa)"
"Vendor"="Microsoft"
"Version"="11.0"

Here another example installing TTS_MS_es-MX_Hilda_11.0 in a 64 bits system.

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_es-MX_Hilda_11.0]
@="Microsoft Server Speech Text to Speech Voice (es-MX, Hilda)"
"80A"="Microsoft Server Speech Text to Speech Voice (es-MX, Hilda)"
"CLSID"="{a12bdfa1-c3a1-48ea-8e3f-27945e16cf7e}"
"LangDataPath"="C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\Speech\\Tokens\\TTS_MS_es-MX_Hilda_11.0\\MSTTSLocesMX.dat"
"VoicePath"="C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\Speech\\Tokens\\TTS_MS_es-MX_Hilda_11.0\\HildaT"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_es-MX_Hilda_11.0\Attributes]
@=""
"Age"="Adult"
"Gender"="Female"
"Language"="80A"
"Name"="Microsoft Server Speech Text to Speech Voice (es-MX, Hilda)"
"Vendor"="Microsoft"
"Version"="11.0"

Step 4)    Select the new installed voice by typing on Start menu change text to speech settings. Another way to access could be through Control Panel, Ease of Access, Speech Recognition, Text to speech. Select "Microsoft Server Speech Text to Speech Voice (pt-BR, Heloisa)". Test clicking on "Preview voice".

You can use "Narrator" that is pre-installed on Windows to test. On Narrator, change the voice at Voice Settings. If you have any question or suggestion, leave your comments bellow.

Sources:
http://answers.microsoft.com/pt-br/windows/forum/windows_vista-windows_install/microsoft-translator-fala-em-portugu%C3%AAs-como/04440df6-b5a5-4099-8dc6-6fd6b9b4f16a?msgId=28069a8c-0f7f-48df-950b-4cb84ea0aa18
http://www.microsoft.com/en-us/download/search.aspx?q=Microsoft%20Speech%20Platform%20-%20Server%20Runtime%20Languages&p=0&r=10&t=&s=availabledate~Descending
http://www.lomeutec.com/2012/02/narrator-faca-o-windows-7-falar-em.html
http://denspe.blog84.fc2.com/blog-entry-105.html
https://msdn.microsoft.com/en-us/library/hh378476%28v=office.14%29.aspx
http://siva.cc.hirosaki-u.ac.jp/usr/koyama/daisy/src/msharuka64.reg

Comentários

  1. Works in Windows 8.1 32bits! I tried it.

    ResponderExcluir
  2. Este comentário foi removido pelo autor.

    ResponderExcluir
  3. Works well in Windows 10. I added French Harmonie. Thanks.

    ResponderExcluir
  4. Please Help
    This voice cannot be played. Please try selecting another voice or selecting a different audio output device.
    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_en-GB_Hazel_11.0]
    @="Microsoft Server Speech Text to Speech Voice (en-GB, Hazel)"
    "809"="Microsoft Server Speech Text to Speech Voice (en-GB, Hazel)"
    "CLSID"="{a12bdfa1-c3a1-48ea-8e3f-27945e16cf7e}"
    "LangDataPath"="C:\\Program Files\\Common Files\\microsoft shared\\Speech\\Tokens\\TTS_MS_en-GB_Hazel_11.0\\MSTTSLocenGB.dat"
    "VoicePath"="C:\\Program Files\\Common Files\\microsoft shared\\Speech\\Tokens\\TTS_MS_en-GB_Hazel_11.0\\HazelT"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_lang-Country_Name_11.0\Attributes]
    @=""
    "Age"="Adult"
    "Gender"="Female"
    "Language"="809"
    "Name"="Microsoft Server Speech Text to Speech Voice (en-GB, Hazel)"
    "Vendor"="Microsoft"

    ResponderExcluir
  5. Ok, how can i reverse this method? I dont want to have this new voice in computer any more :)

    ResponderExcluir
  6. I based it on the japanese source you posted. I get the same error as the previous poster "This voice cannot be played. Please try selecting another voice or selecting a different audio output device."

    My code:
    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_pl-PL_Paulina_11.0]
    @="Microsoft Server Speech Text to Speech Voice (pl-PL, Paulina)"
    "415"="Microsoft Server Speech Text to Speech Voice (pl-PL, Paulina)"
    "CLSID"="{a12bdfa1-c3a1-48ea-8e3f-27945e16cf7e}"
    "LangDataPath"="C:\\Program Files\\Common Files\\Microsoft Shared\\Speech\\Tokens\\TTS_MS_pl-PL_Paulina_11.0\\MSTTSLocplPL.dat"
    "VoicePath"="C:\\Program Files\\Common Files\\Microsoft Shared\\Speech\\Tokens\\TTS_MS_pl-PL_Paulina_11.0\\PaulinaT"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_pl-PL_Paulina_11.0\Attributes]
    @=""
    "Age"="Adult"
    "Gender"="Female"
    "Language"="415"
    "Name"="Microsoft Server Speech Text to Speech Voice (pl-PL, Paulina)"
    "Vendor"="Microsoft"
    "Version"="11.0"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Speech\Voices\Tokens\TTS_MS_pl-PL_Paulina_11.0]
    @="Microsoft Server Speech Text to Speech Voice (pl-PL, Paulina)"
    "415"="Microsoft Server Speech Text to Speech Voice (pl-PL, Paulina)"
    "CLSID"="{a12bdfa1-c3a1-48ea-8e3f-27945e16cf7e}"
    "LangDataPath"="C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\Speech\\Tokens\\TTS_MS_pl-PL_Paulina_11.0\\MSTTSLocplPL.dat"
    "VoicePath"="C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\Speech\\Tokens\\TTS_MS_pl-PL_Paulina_11.0\\PaulinaT"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Speech\Voices\Tokens\TTS_MS_pl-PL_Paulina_11.0\Attributes]
    @=""
    "Age"="Adult"
    "Gender"="Female"
    "Language"="415"
    "Name"="Microsoft Server Speech Text to Speech Voice (pl-PL, Paulina)"
    "Vendor"="Microsoft"
    "Version"="11.0"

    What did I do wrong?

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

Lava-louças Brastemp BLE20 - RESOLVIDO - Piscando luzes Iniciar e enxaguar/Erro ao jogar água fora

Microsoft Print to PDF não aparece na lista de impressoras nos programas