locked
Add TTS Voice To Windows 7 and Set AS Default RRS feed

  • Question

  • We have tested Voices from a number of vendors and all work properly as far as being listed in the TTS speech section of the Control Panel and selectable as a system default with Windows XT and Windows Server 2008. There is a work around that solves an issue with Vista.

    Windows 7 64 bit and Windows Server 2008 R2 require complex entries in the Speech Token section of the HKEY_LOCAL_MACHINE registry. We have not found a single Voice installer that makes the correct entries in this registry nor have we located anyone who knows the details of what is required. There is an extensive description of the registry entries in an MSDN paper for SAPI 5.4 (http://msdn.microsoft.com/en-us/library/ee125663(VS.85).aspx), but it doesn't cover all of the entries that are used by Microsoft Anna. All of the SAPI 5+ Voices that we tested work properly on Windows 7 except for not being listed in the Control Panel TTS Speech section. Unfortunately, there is no known means of setting the default system Voice without it being in the Control Panel TTS listing..

    A second issue is that many of the TTS speech vendors require that one purchase their application program in addition to one or more compatible Voices. You can purchase the Voices separately, but they cannot be installed. "stand alone".  There is an obvious business reason for this limitation, but it greatly increases the cost.

    We use Micosoft's SAPI 5.1 SDK to test the Voices and to link them with our application programs.  There is an interesting sample program called TTSAppVB that can be used to locate all the Voices that are installed on one's computer. You can select a Voice of interest, change a number of parameters, and read textbox data. You cannot use this program to set the system default Voice.
    Edit/Delete Message
    Robbie
    Thursday, October 15, 2009 6:16 PM

Answers

  • There is finally a solution to the problem of selecting the default TTS Voice on Windows 7 64 bit or Windows Server 2008 R2. This is thanks to Michael on the Windows Seven Forums/Seven Forums/Software forum at: www.sevenforums.com.

    Executing Windows\sysWOW64\speech\SpeechUX\SAPI.cpl brings up a Window that displays all of the 32 bit Voices and the current single 64 bit Voice "Anna". Unlike the 64 bit speech window, you can make any of the Voices the system default Voice. I checked this with Acapela's "Heather" and it works properly.
    There obviously must be a way to do this programatically via SAPI5. I can set the default for a given application program, but still don't see the correct command to set the system default.
    Setting the system default is, incidentally, only essential if you want to change the Voice for a program like MapPoint which uses only the default Voice.
    The problem of obtaining Voices is a frustrating one. Microsoft has Voices other than Anna in their telecommunications package and these should be available in 64 bit. The only other known current source is Loquendo. Their 64 bit "Kate" voice is probably the best available, but it is very expensive and is unavailable for small quantity licensing. There is a fascinating Loquendo Power Point presentation that describes their sophisticated methodology for producing very high quality, naturally sounding TTS. You can find this on the Internet by doing a Google search for: "Loquendo Kate TTS Power Point Presentation". It was given at a SpeechTek meeting.
    Acapela Group has the next best quality Voices (in my opinion). They are current available in 64 bit for the Snow Leopard OS, but not for Windows.
    Finally, all of the known vendors of high quality Voices require that one purchase a base program in addition to one or more Voices. You cannot install the Voices without the base program being resident. One installed, they can be accessed via any SAPI5 compliant program. Small quantity licensing is on a per machine basis.
    We obtained Heather by purchasing Acapela Group's InfoVox Desktop Pro base program with three voices for $190. Additional Voices are $35 each. This is the cost per computer for small volume licensing. It is possible that TextAloud ($29.95) could also be used at the base program, but I haven't tested this approach.Loquendo base plus Kate is reported to be about $600.
    Robbie
    Saturday, October 24, 2009 4:56 PM

All replies

  • There is finally a solution to the problem of selecting the default TTS Voice on Windows 7 64 bit or Windows Server 2008 R2. This is thanks to Michael on the Windows Seven Forums/Seven Forums/Software forum at: www.sevenforums.com.

    Executing Windows\sysWOW64\speech\SpeechUX\SAPI.cpl brings up a Window that displays all of the 32 bit Voices and the current single 64 bit Voice "Anna". Unlike the 64 bit speech window, you can make any of the Voices the system default Voice. I checked this with Acapela's "Heather" and it works properly.
    There obviously must be a way to do this programatically via SAPI5. I can set the default for a given application program, but still don't see the correct command to set the system default.
    Setting the system default is, incidentally, only essential if you want to change the Voice for a program like MapPoint which uses only the default Voice.
    The problem of obtaining Voices is a frustrating one. Microsoft has Voices other than Anna in their telecommunications package and these should be available in 64 bit. The only other known current source is Loquendo. Their 64 bit "Kate" voice is probably the best available, but it is very expensive and is unavailable for small quantity licensing. There is a fascinating Loquendo Power Point presentation that describes their sophisticated methodology for producing very high quality, naturally sounding TTS. You can find this on the Internet by doing a Google search for: "Loquendo Kate TTS Power Point Presentation". It was given at a SpeechTek meeting.
    Acapela Group has the next best quality Voices (in my opinion). They are current available in 64 bit for the Snow Leopard OS, but not for Windows.
    Finally, all of the known vendors of high quality Voices require that one purchase a base program in addition to one or more Voices. You cannot install the Voices without the base program being resident. One installed, they can be accessed via any SAPI5 compliant program. Small quantity licensing is on a per machine basis.
    We obtained Heather by purchasing Acapela Group's InfoVox Desktop Pro base program with three voices for $190. Additional Voices are $35 each. This is the cost per computer for small volume licensing. It is possible that TextAloud ($29.95) could also be used at the base program, but I haven't tested this approach.Loquendo base plus Kate is reported to be about $600.
    Robbie
    Saturday, October 24, 2009 4:56 PM
  • This is an update.

    As noted previously, purchasing individual voices in small quantities from Acapela Group or Loquendo is difficult and very expensive.

    An interesting new alternative is IVONA. (www.ivona.com).

    The British voice Amy is a 22kHz voice that has excellent speech quality and is SAPI 5 compatible. It can be used with the SAPI 5 SDK without the need of a "core" program. The voice works properly with Microsoft's sample program TTSApp and with our own VB code.

    You can download a 30 day free trial from IVONA. Individual Voices can be purchased for about $45 each.


    Robbie
    Saturday, March 27, 2010 1:55 AM
  • okay so i talked to microsoft text support and they told me to contact this number and ask them about it i dont know if it helps but here it is  877-568-2495. the business hours arre 5am to 5pm thats all i could get from them 
    Thursday, April 21, 2011 8:34 AM
  • keep us posted man, we are all depending on your answer :)
    Sunday, April 24, 2011 6:41 PM
  • Loki,

    Di you call the number and did you find anything out?  Who's the number to?

     

    Friday, July 8, 2011 10:11 PM
  • I'm also interested in the results.
    Sunday, July 17, 2011 9:33 PM
  • Supposedly one can change Windows 7 (x64) default voice here: %windir%\SysWOW64\speech\SpeechUX\sapi.cpl

    the third party TTS names would pop out of the drop down menu (reinstall them if they still don't appear


    • Edited by woktoss Friday, September 9, 2011 3:50 PM
    Friday, September 9, 2011 3:35 PM
  • By trying the method outlined above, I was able to change the default voice... Until I went back to the Control Panel>Speech Recognition applet afterwards. All I saw there was the same Microsoft Anna default voice, which to me was no good, so I did some digging on my own, and found this bit of information:

     While looking for "Microsoft Mike" within the registry (not visible in the standard TTS config window, but visible in the WoW64 version), I found an entry in this branch of the registry:

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

     

    While the entry for Microsoft Anna was in a completely different branch:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens

    Now, I'm probably braver (read: stupider) than many folks, and I am NOT suggesting this fix for anyone else, but it worked for me. Here's what I did (right after the usual warnings about mucking about in the registry):

    WARNING!!!

    The registry contains essential configuration values that can adversely effect the operation of your computer, if not handled correctly, and with care. If you make the wrong changes in the registry, you can potentially do IRREPARABLE damage to your computer, requiring a wipe/reinstall of your operating system, and potential loss of important documents or files. If you're not 100% confident that you know what you're doing, then don't do it. You HAVE been warned.

    1.) Open the TTS config applet, as described above (%windir%\SysWOW64\speech\SpeechUX\sapi.cpl), and select a voice from the list other than Microsoft Anna. Note the name (e.g "Microsoft Mike", or one of any 3rd party voices you may have installed).

    2.) Open regedit (see warning, above!) and search for the voice's name (e.g. "Microsoft Mike", or whatever). Your first "found" location for that string value SHOULD be at the branch I mentioned, above. If not, keep searching.

    3.) Once found in the correct branch, right-click on the "Tokens" folder, just above your current location, in the nav panel, and click "Export". Save the file in a convenient location.

    4.) Open that newly created .reg file by navigating to it in Explorer, right-clicking on the file, and selecting "Edit".

    5.) Did you close Regedit yet? No? Good. Now follow the same steps above, this time looking for "Microsoft Anna". The correct branch that you want will be very similar or identical to the second registry branch I mentioned, above. Again, export the Tokens folder to a convenient place, and "edit" this one, as well. In this file, the first line of registry entry information should look like this:

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

    6.) Select everything except the square brackets, but don't copy it yet.

    7.) Switch to the other file, and highlight that same first entry line EXCEPT for the square brackets. Hit CTRL-C, CTRL-H, CTRL-V (Copy, Replace, Paste), then switch back to the other file, make sure the necessary text is still selected, then copy that. Then back to the first file again, paste the new line into the "replace" textbox, and click "Replace All". Save the file.

    8.) In explorer, select the file you just changed, and merge it back into the registry. This will "Add" all of the voices that were on the WoW64 version of the TTS config applet to the "regular" config applet. Please note that you "MAY" get a warning that not everything was properly merged into the registry. If you get this warning, removing the information about Microsoft Anna should fix the issue quite nicely.



    Safe, Reliable Insanity, Since 1961!
    • Edited by Dave Morton Tuesday, November 1, 2011 7:07 AM
    Tuesday, November 1, 2011 7:05 AM
  • Ok, so. i have been searching for a solution at this problem for a long time now. yesterday. 

    And i found a solution!

    well i hardly can take it as a fix since its WAY too easy but it surly have worked for me!! 

    I use windows 8 (maybe thats why its easy??) 64 bit and had the exact same probs as in windows 7. but then i tried installing the voice at once in that folder: C:\Windows\Speech\Engines\TTS\en-GB     since the language is UK... (At en-US if american). and vouala. Voices show up perfectly good at Controll panels options, and can also use them by external programs wich dont use only the defult voice...  I have done this using two of INOVAS vocies, but i think it will work the same way with any other!! can some one try it and say if it works for them also??

    Sunday, November 6, 2011 6:59 PM
  • By trying the method outlined above, I was able to change the default voice... Until I went back to the Control Panel>Speech Recognition applet afterwards. All I saw there was the same Microsoft Anna default voice, which to me was no good, so I did some digging on my own, and found this bit of information:

     While looking for "Microsoft Mike" within the registry (not visible in the standard TTS config window, but visible in the WoW64 version), I found an entry in this branch of the registry:

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

     

    While the entry for Microsoft Anna was in a completely different branch:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens

    Now, I'm probably braver (read: stupider) than many folks, and I am NOT suggesting this fix for anyone else, but it worked for me. Here's what I did (right after the usual warnings about mucking about in the registry):

    WARNING!!!

    The registry contains essential configuration values that can adversely effect the operation of your computer, if not handled correctly, and with care. If you make the wrong changes in the registry, you can potentially do IRREPARABLE damage to your computer, requiring a wipe/reinstall of your operating system, and potential loss of important documents or files. If you're not 100% confident that you know what you're doing, then don't do it. You HAVE been warned.

    1.) Open the TTS config applet, as described above (%windir%\SysWOW64\speech\SpeechUX\sapi.cpl), and select a voice from the list other than Microsoft Anna. Note the name (e.g "Microsoft Mike", or one of any 3rd party voices you may have installed).

    2.) Open regedit (see warning, above!) and search for the voice's name (e.g. "Microsoft Mike", or whatever). Your first "found" location for that string value SHOULD be at the branch I mentioned, above. If not, keep searching.

    3.) Once found in the correct branch, right-click on the "Tokens" folder, just above your current location, in the nav panel, and click "Export". Save the file in a convenient location.

    4.) Open that newly created .reg file by navigating to it in Explorer, right-clicking on the file, and selecting "Edit".

    5.) Did you close Regedit yet? No? Good. Now follow the same steps above, this time looking for "Microsoft Anna". The correct branch that you want will be very similar or identical to the second registry branch I mentioned, above. Again, export the Tokens folder to a convenient place, and "edit" this one, as well. In this file, the first line of registry entry information should look like this:

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

    6.) Select everything except the square brackets, but don't copy it yet.

    7.) Switch to the other file, and highlight that same first entry line EXCEPT for the square brackets. Hit CTRL-C, CTRL-H, CTRL-V (Copy, Replace, Paste), then switch back to the other file, make sure the necessary text is still selected, then copy that. Then back to the first file again, paste the new line into the "replace" textbox, and click "Replace All". Save the file.

    8.) In explorer, select the file you just changed, and merge it back into the registry. This will "Add" all of the voices that were on the WoW64 version of the TTS config applet to the "regular" config applet. Please note that you "MAY" get a warning that not everything was properly merged into the registry. If you get this warning, removing the information about Microsoft Anna should fix the issue quite nicely.



    Safe, Reliable Insanity, Since 1961!

    I tried this but now it's actually disabled the voices within the control panel. Before, I could test the voices out and hear them but when running a <speak> command it would fail. Now it just says "This voice cannot be played. Please try selecting another voice or selecting a different audio output device."


    Wednesday, April 4, 2012 11:19 PM
  • That's why when it says don't mess with the registry, I don't unless the info I'm getting has multiple people saying they tried it and it worked. Way to much time and effort to get my laptop back to where it was after trying something that complicated and being one of the first. I'd rather just listen to Anna. LOL!
    Friday, August 3, 2012 4:49 PM
  • Note that this opens the 32-bit version of the SAPI control panel. The 64-bit version is the one you normally see, and it only shows 64-bit voices, of which Anna seems to be the only one. When you open the 32-bit version using this trick, you are able to select any 32-bit voices you may have installed as well as 64-bit (e.g. Anna). 

    Yes, this is something like magic, but not that hard to understand.

    Doing the tweaks in the registry might or might not give you what you want, but it isn't really solving the problem of listing 32-bit voices in the 64-bit applet, which Microsoft evidently doesn't think you need to do.

    It also doesn't solve the problem of finding high-quality voices that can be used this way in Windows 7 x64, let alone licensed affordably or without buying a bunch of other products you don't want.

    Sunday, September 2, 2012 5:04 PM
  • Hello,

    I have just begun to foray into the world of text-to-speech with Windows 7 (32bit).  Has any solution been found which will allow me to change the default voice in Windows 7 32bit?

    Is there a common file folder location where all of the installed voices are stored for access by the system?  If so, what is that specific directory?

    Can I simply copy voice files (SAPI5) into this directory, or must they be "installed" by Windows somehow?  How can I use voices that I have purchased from a vendor from being deleted when I uninstall that vendor's software, so that I can continue using voices that I purchased?  

    I appreciate your kind consideration of my questions, and appreciate any help that you can offer.

    ~Antonio

    Sunday, November 18, 2012 3:39 AM
  • After installing this voices on Windows 7 x64, I tried the "%windir%\SysWOW64\speech\SpeechUX\sapi.cpl" trick but the list is empty, not even Anna shows up. If I open the normal Speech Recognition -> Text to Speach -> Speech Properties in the Control Panel then only Anna is loaded. Those voices aren't even listed on Babylon Translator (the main reason why I'm digging about this issue).


    Current: Nokia Lumia 920 [WP8], Nokia Lumia 820 [WP8], HTC 7 Surround T8788 [WP7.5] & Vodafone 858 Smart [Android SmartLucky2.3] | Previous: Nokia Lumia 800, E7-00, X7-00, N8-00, N97, N96, etc.
    Official Nokia Suite Beta Tester | Nokia Beta Labs Contributor of the month (June, 2011) | ElGourmetUrbano.net, Nokia-news.com & LoveMyNokia.com writer



    • Edited by warmth Monday, May 20, 2013 10:53 AM
    Monday, May 20, 2013 10:45 AM
  • Is it just me or... does MS SUCK?
    • Proposed as answer by xjdelve Wednesday, October 18, 2017 11:00 AM
    • Unproposed as answer by xjdelve Wednesday, October 18, 2017 11:00 AM
    Saturday, July 20, 2013 12:35 PM
  • By trying the method outlined above, I was able to change the default voice... Until I went back to the Control Panel>Speech Recognition applet afterwards. All I saw there was the same Microsoft Anna default voice, which to me was no good, so I did some digging on my own, and found this bit of information:

     While looking for "Microsoft Mike" within the registry (not visible in the standard TTS config window, but visible in the WoW64 version), I found an entry in this branch of the registry:

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

     

    While the entry for Microsoft Anna was in a completely different branch:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens

    Now, I'm probably braver (read: stupider) than many folks, and I am NOT suggesting this fix for anyone else, but it worked for me. Here's what I did (right after the usual warnings about mucking about in the registry):

    WARNING!!!

    The registry contains essential configuration values that can adversely effect the operation of your computer, if not handled correctly, and with care. If you make the wrong changes in the registry, you can potentially do IRREPARABLE damage to your computer, requiring a wipe/reinstall of your operating system, and potential loss of important documents or files. If you're not 100% confident that you know what you're doing, then don't do it. You HAVE been warned.

    1.) Open the TTS config applet, as described above (%windir%\SysWOW64\speech\SpeechUX\sapi.cpl), and select a voice from the list other than Microsoft Anna. Note the name (e.g "Microsoft Mike", or one of any 3rd party voices you may have installed).

    2.) Open regedit (see warning, above!) and search for the voice's name (e.g. "Microsoft Mike", or whatever). Your first "found" location for that string value SHOULD be at the branch I mentioned, above. If not, keep searching.

    3.) Once found in the correct branch, right-click on the "Tokens" folder, just above your current location, in the nav panel, and click "Export". Save the file in a convenient location.

    4.) Open that newly created .reg file by navigating to it in Explorer, right-clicking on the file, and selecting "Edit".

    5.) Did you close Regedit yet? No? Good. Now follow the same steps above, this time looking for "Microsoft Anna". The correct branch that you want will be very similar or identical to the second registry branch I mentioned, above. Again, export the Tokens folder to a convenient place, and "edit" this one, as well. In this file, the first line of registry entry information should look like this:

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

    6.) Select everything except the square brackets, but don't copy it yet.

    7.) Switch to the other file, and highlight that same first entry line EXCEPT for the square brackets. Hit CTRL-C, CTRL-H, CTRL-V (Copy, Replace, Paste), then switch back to the other file, make sure the necessary text is still selected, then copy that. Then back to the first file again, paste the new line into the "replace" textbox, and click "Replace All". Save the file.

    8.) In explorer, select the file you just changed, and merge it back into the registry. This will "Add" all of the voices that were on the WoW64 version of the TTS config applet to the "regular" config applet. Please note that you "MAY" get a warning that not everything was properly merged into the registry. If you get this warning, removing the information about Microsoft Anna should fix the issue quite nicely.



    Safe, Reliable Insanity, Since 1961!

    So I know it's been a couple years, but I was using this as reference to try and add the new Speech Platform v11 voices to the win 7 TTS options. The above DOES work, but the details are slightly off. Technically to get them to work I had to add two sets of registry entries. The method above got more than just Anna to list in TTS panel that you can access via control panel, but it did NOT add them to the one launched via SysWOW64\Speech\SpeechUX\sapi.cpl which would cause the computer to go back to Anna any time TTS was used. The solution was to look deeper in the registry. The v11 voices are added to the registry at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech Server\v11.0\Voices AND HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Speech Server\v11.0\Voices. Said tree contained the proper token entries for each voice. Now the fun part:

    0. Pre-requisite: Download and Install Speech Platform Runtime Languages from: http://www.microsoft.com/en-us/download/details.aspx?id=27224 and the Speech Platform v11 from: http://www.microsoft.com/en-us/download/details.aspx?id=27225. There are many voices to choose from, although en-US ZiraPro and en-GB Hazel are both good English options. Once you have selected voices, installed the Platform and voices proceed to making them work:

    1. Under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech Server\v11.0\Voices Click the Tokens folder and export. Save this file to your desktop as voices1.reg so it will be easy to find and line up with later steps.

    2. Under HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Speech Server\v11.0\Voices select Tokens and again export it, again to the desktop. Call it voices2.reg.

    3. EDIT (right click, select edit) voices1.reg. In notepad use the Replace function and replace \Speech Server\v11.0\ with \Speech\ (Just replace that section, the rest will remain intact and entries with "[ ]" around them should read as such: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\*[*= some entries WILL be nested in folders below this. The key is making sure that the patch is \Speech\ and not \Speech Server\v11.0\). Save and close.

    4. EDIT (right click, select edit) voices2.reg. In notepad use the Replace function and replace \Speech Server\v11.0\ with \Speech\ (Just replace that section, the rest will remain intact and entries with "[ ]" around them should read as such: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Speech\Voices\*[*= some entries WILL be nested in folders below this. The key is making sure that the patch is \Speech\ and not \Speech Server\v11.0\). Save and close.

    5. Merge both of the files we just edited into the registry by double-clicking them and answering yes when prompted.

    6. Reboot computer and enjoy it's new voices.

    Tested this on my laptop as well, slightly easier since its x86, it only involves the first registry file as Wow6432Node only exists on x64 architecture.



    DISCLAIMER: This method works with the MS Speech Platform Server v11.0 voices available for download. The method is likely similar for adding purchased and third-party voices as well, but locating the voice tokens that you need to copy into the MS default tokens will be up to you.
    • Edited by Raptr241 Tuesday, September 3, 2013 6:05 AM
    • Proposed as answer by ValentinoUA Saturday, July 23, 2016 7:24 PM
    Tuesday, September 3, 2013 6:00 AM
  • By trying the method outlined above, I was able to change the default voice... Until I went back to the Control Panel>Speech Recognition applet afterwards. All I saw there was the same Microsoft Anna default voice, which to me was no good, so I did some digging on my own, and found this bit of information:

     While looking for "Microsoft Mike" within the registry (not visible in the standard TTS config window, but visible in the WoW64 version), I found an entry in this branch of the registry:

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

     

    While the entry for Microsoft Anna was in a completely different branch:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens

    Now, I'm probably braver (read: stupider) than many folks, and I am NOT suggesting this fix for anyone else, but it worked for me. Here's what I did (right after the usual warnings about mucking about in the registry):

    WARNING!!!

    The registry contains essential configuration values that can adversely effect the operation of your computer, if not handled correctly, and with care. If you make the wrong changes in the registry, you can potentially do IRREPARABLE damage to your computer, requiring a wipe/reinstall of your operating system, and potential loss of important documents or files. If you're not 100% confident that you know what you're doing, then don't do it. You HAVE been warned.

    1.) Open the TTS config applet, as described above (%windir%\SysWOW64\speech\SpeechUX\sapi.cpl), and select a voice from the list other than Microsoft Anna. Note the name (e.g "Microsoft Mike", or one of any 3rd party voices you may have installed).

    2.) Open regedit (see warning, above!) and search for the voice's name (e.g. "Microsoft Mike", or whatever). Your first "found" location for that string value SHOULD be at the branch I mentioned, above. If not, keep searching.

    3.) Once found in the correct branch, right-click on the "Tokens" folder, just above your current location, in the nav panel, and click "Export". Save the file in a convenient location.

    4.) Open that newly created .reg file by navigating to it in Explorer, right-clicking on the file, and selecting "Edit".

    5.) Did you close Regedit yet? No? Good. Now follow the same steps above, this time looking for "Microsoft Anna". The correct branch that you want will be very similar or identical to the second registry branch I mentioned, above. Again, export the Tokens folder to a convenient place, and "edit" this one, as well. In this file, the first line of registry entry information should look like this:

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

    6.) Select everything except the square brackets, but don't copy it yet.

    7.) Switch to the other file, and highlight that same first entry line EXCEPT for the square brackets. Hit CTRL-C, CTRL-H, CTRL-V (Copy, Replace, Paste), then switch back to the other file, make sure the necessary text is still selected, then copy that. Then back to the first file again, paste the new line into the "replace" textbox, and click "Replace All". Save the file.

    8.) In explorer, select the file you just changed, and merge it back into the registry. This will "Add" all of the voices that were on the WoW64 version of the TTS config applet to the "regular" config applet. Please note that you "MAY" get a warning that not everything was properly merged into the registry. If you get this warning, removing the information about Microsoft Anna should fix the issue quite nicely.



    Safe, Reliable Insanity, Since 1961!

    So I know it's been a couple years, but I was using this as reference to try and add the new Speech Platform v11 voices to the win 7 TTS options. The above DOES work, but the details are slightly off. Technically to get them to work I had to add two sets of registry entries. The method above got more than just Anna to list in TTS panel that you can access via control panel, but it did NOT add them to the one launched via SysWOW64\Speech\SpeechUX\sapi.cpl which would cause the computer to go back to Anna any time TTS was used. The solution was to look deeper in the registry. The v11 voices are added to the registry at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech Server\v11.0\Voices AND HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Speech Server\v11.0\Voices. Said tree contained the proper token entries for each voice. Now the fun part:

    0. Pre-requisite: Download and Install Speech Platform Runtime Languages from: http://www.microsoft.com/en-us/download/details.aspx?id=27224 and the Speech Platform v11 from: http://www.microsoft.com/en-us/download/details.aspx?id=27225. There are many voices to choose from, although en-US ZiraPro and en-GB Hazel are both good English options. Once you have selected voices, installed the Platform and voices proceed to making them work:

    1. Under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech Server\v11.0\Voices Click the Tokens folder and export. Save this file to your desktop as voices1.reg so it will be easy to find and line up with later steps.

    2. Under HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Speech Server\v11.0\Voices select Tokens and again export it, again to the desktop. Call it voices2.reg.

    3. EDIT (right click, select edit) voices1.reg. In notepad use the Replace function and replace \Speech Server\v11.0\ with \Speech\ (Just replace that section, the rest will remain intact and entries with "[ ]" around them should read as such: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\*[*= some entries WILL be nested in folders below this. The key is making sure that the patch is \Speech\ and not \Speech Server\v11.0\). Save and close.

    4. EDIT (right click, select edit) voices2.reg. In notepad use the Replace function and replace \Speech Server\v11.0\ with \Speech\ (Just replace that section, the rest will remain intact and entries with "[ ]" around them should read as such: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Speech\Voices\*[*= some entries WILL be nested in folders below this. The key is making sure that the patch is \Speech\ and not \Speech Server\v11.0\). Save and close.

    5. Merge both of the files we just edited into the registry by double-clicking them and answering yes when prompted.

    6. Reboot computer and enjoy it's new voices.

    Tested this on my laptop as well, slightly easier since its x86, it only involves the first registry file as Wow6432Node only exists on x64 architecture.



    DISCLAIMER: This method works with the MS Speech Platform Server v11.0 voices available for download. The method is likely similar for adding purchased and third-party voices as well, but locating the voice tokens that you need to copy into the MS default tokens will be up to you.

    This worked for me! Sort of... New problem, though. Attempting to use WSR Macros to respond using TTS won't work. For example:

    <?xml version="1.0" encoding="UTF-16"?>
    <speechMacros>
      <command>
        <listenFor>Hello computer </listenFor>
        <speak> hello user </speak>
      </command>

    Throws an error with the information:

    <speak> executor failure!

    text: hello user

    speakFlags: "(null)" (0x00000010)

    This looks to me as though there's some sort of command structure missing from Hazel (the Server TTS voice I downloaded). Can anyone offer me any pointers?

    EDIT: Also applies to any other downloadable voice I try. Anna still works when swapped back to. Hazel doesn't; Cepstral's Millie and Damien also fail. All can narrate quite happily.
    • Edited by Ben Scott MD Monday, October 21, 2013 11:22 PM New information.
    Monday, October 21, 2013 9:52 PM
  • please help me!

    Text to speech in applications(such as Babylon or Foxit reader read out loud or adobe reader read out loud) that use it does not work.

    I do not get any error, but when play would have no sound.

    I really need this functionality, please help me.

    Saturday, March 8, 2014 6:42 AM
  • By trying the method outlined above, I was able to change the default voice... Until I went back to the Control Panel>Speech Recognition applet afterwards. All I saw there was the same Microsoft Anna default voice, which to me was no good, so I did some digging on my own, and found this bit of information:

     While looking for "Microsoft Mike" within the registry (not visible in the standard TTS config window, but visible in the WoW64 version), I found an entry in this branch of the registry:

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

     

    While the entry for Microsoft Anna was in a completely different branch:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens

    Now, I'm probably braver (read: stupider) than many folks, and I am NOT suggesting this fix for anyone else, but it worked for me. Here's what I did (right after the usual warnings about mucking about in the registry):

    WARNING!!!

    The registry contains essential configuration values that can adversely effect the operation of your computer, if not handled correctly, and with care. If you make the wrong changes in the registry, you can potentially do IRREPARABLE damage to your computer, requiring a wipe/reinstall of your operating system, and potential loss of important documents or files. If you're not 100% confident that you know what you're doing, then don't do it. You HAVE been warned.

    1.) Open the TTS config applet, as described above (%windir%\SysWOW64\speech\SpeechUX\sapi.cpl), and select a voice from the list other than Microsoft Anna. Note the name (e.g "Microsoft Mike", or one of any 3rd party voices you may have installed).

    2.) Open regedit (see warning, above!) and search for the voice's name (e.g. "Microsoft Mike", or whatever). Your first "found" location for that string value SHOULD be at the branch I mentioned, above. If not, keep searching.

    3.) Once found in the correct branch, right-click on the "Tokens" folder, just above your current location, in the nav panel, and click "Export". Save the file in a convenient location.

    4.) Open that newly created .reg file by navigating to it in Explorer, right-clicking on the file, and selecting "Edit".

    5.) Did you close Regedit yet? No? Good. Now follow the same steps above, this time looking for "Microsoft Anna". The correct branch that you want will be very similar or identical to the second registry branch I mentioned, above. Again, export the Tokens folder to a convenient place, and "edit" this one, as well. In this file, the first line of registry entry information should look like this:

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

    6.) Select everything except the square brackets, but don't copy it yet.

    7.) Switch to the other file, and highlight that same first entry line EXCEPT for the square brackets. Hit CTRL-C, CTRL-H, CTRL-V (Copy, Replace, Paste), then switch back to the other file, make sure the necessary text is still selected, then copy that. Then back to the first file again, paste the new line into the "replace" textbox, and click "Replace All". Save the file.

    8.) In explorer, select the file you just changed, and merge it back into the registry. This will "Add" all of the voices that were on the WoW64 version of the TTS config applet to the "regular" config applet. Please note that you "MAY" get a warning that not everything was properly merged into the registry. If you get this warning, removing the information about Microsoft Anna should fix the issue quite nicely.



    Safe, Reliable Insanity, Since 1961!

    So I know it's been a couple years, but I was using this as reference to try and add the new Speech Platform v11 voices to the win 7 TTS options. The above DOES work, but the details are slightly off. Technically to get them to work I had to add two sets of registry entries. The method above got more than just Anna to list in TTS panel that you can access via control panel, but it did NOT add them to the one launched via SysWOW64\Speech\SpeechUX\sapi.cpl which would cause the computer to go back to Anna any time TTS was used. The solution was to look deeper in the registry. The v11 voices are added to the registry at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech Server\v11.0\Voices AND HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Speech Server\v11.0\Voices. Said tree contained the proper token entries for each voice. Now the fun part:

    0. Pre-requisite: Download and Install Speech Platform Runtime Languages from: http://www.microsoft.com/en-us/download/details.aspx?id=27224 and the Speech Platform v11 from: http://www.microsoft.com/en-us/download/details.aspx?id=27225. There are many voices to choose from, although en-US ZiraPro and en-GB Hazel are both good English options. Once you have selected voices, installed the Platform and voices proceed to making them work:

    1. Under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech Server\v11.0\Voices Click the Tokens folder and export. Save this file to your desktop as voices1.reg so it will be easy to find and line up with later steps.

    2. Under HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Speech Server\v11.0\Voices select Tokens and again export it, again to the desktop. Call it voices2.reg.

    3. EDIT (right click, select edit) voices1.reg. In notepad use the Replace function and replace \Speech Server\v11.0\ with \Speech\ (Just replace that section, the rest will remain intact and entries with "[ ]" around them should read as such: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\*[*= some entries WILL be nested in folders below this. The key is making sure that the patch is \Speech\ and not \Speech Server\v11.0\). Save and close.

    4. EDIT (right click, select edit) voices2.reg. In notepad use the Replace function and replace \Speech Server\v11.0\ with \Speech\ (Just replace that section, the rest will remain intact and entries with "[ ]" around them should read as such: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Speech\Voices\*[*= some entries WILL be nested in folders below this. The key is making sure that the patch is \Speech\ and not \Speech Server\v11.0\). Save and close.

    5. Merge both of the files we just edited into the registry by double-clicking them and answering yes when prompted.

    6. Reboot computer and enjoy it's new voices.

    Tested this on my laptop as well, slightly easier since its x86, it only involves the first registry file as Wow6432Node only exists on x64 architecture.



    DISCLAIMER: This method works with the MS Speech Platform Server v11.0 voices available for download. The method is likely similar for adding purchased and third-party voices as well, but locating the voice tokens that you need to copy into the MS default tokens will be up to you.

    I found that I also had to copy the "LEX" keys over from the ANNA voice to the new tokens. Everything else leading up to this only got the voices into the TTS (text to speech) Control panel, but led to the error "This voice cannot be played ..."

    Further, I wanted to note that the text-to-speech control panel is not actually hidden in windows7, its just hard to find because it is nested within other control panels (ugh!). I found it under: Control Panels->Speech Recognition->Text to Speech (left sidebar).

    Monday, April 27, 2015 4:54 AM
  • This copy of Anna's LEX keys to the news tokens on both locations solved the issue. Thanks !
    Saturday, June 6, 2015 5:52 PM
  • If you think Microsoft has the best TTS,

    I guess you've never heard IVONA TTS.

    Microsoft's David is the best Microsoft has produced,

    and is almost as good as  IVONA TTS's Brian, Joey, and Amy.

    Friday, July 31, 2015 4:01 PM
  • I need some help. I've been struggling for days trying to download a voice and make it show up on the popup of balabolka / %windir%\SysWOW64\speech\SpeechUX\sapi.cpl but can't figure out how. So I saw your comment, Settras. The problem is, though, I can't decide where I want to save the voice-download to. I tried to move the installer for the voice in folder C:\Windows\Speech\Engines\TTS\en-US, and try to install the voice from there. I've come no further. Please help me! I'm such a noob, probably just a minor change I have to do. Thank you -sincerely Poop12354
    Friday, August 5, 2016 9:53 PM
  • I have added:

    Microsoft Speech Platform - Runtime Version (11) x64
    Microsoft Speech Platform - Software Development Kit (SDK) V11 and voices from x64
    Microsoft Speech Platform - Runtime Languages (v11)

    I modified the registry for the runtime languages to place in /speech/ rather than /speech server/v11/

    I added voice in Control Panel and was able to change the default voice.  The new voice speaks there, but it won't work in Excel (Office 365 Home).  If I try use TTS in Excel I get Runtime Error 429 - ActiveX Component can't create object.

    I tried copying the LEX Keys over from Anna but that didn't help.

    I am running Windows 7 Pro 64bit.  I am running Office on 32 bit.

    I appreciate your help.  I have been working on this for a couple of weeks.  Any suggestions on how I can get Office - Excel to work with the new voices?

    Nov 3/16
    I have found the answer by some clues on various sites.  First of all I am running Office on 32 bits.  This means the speech platform must also be 32 bits.  When I tried to use the 32 bit version of the Speech Platform I couldn't select the voice in the Control Panel - Voice Selection of the Speech Properties.  I got the error - Voice cannot be played ... and it wouldn't select the voice.  I discovered another way to select the default voice where the platform is 32 bits.  Enter "C:\Windows\SysWOW64\Speech\SpeechUX\sapi.cpl" in the search box under the Start button.  This brings up the Speech Properties for the 32 bit platform.  I was able to select the Us ZiroPro voice in this box and it now works in Excel.  I put this here in case it may help someone else.

    • Proposed as answer by Grandpa D Friday, November 4, 2016 4:11 AM
    • Edited by Grandpa D Friday, November 4, 2016 4:12 AM
    Wednesday, November 2, 2016 1:25 AM
  • I had the same issue as you, voices show up in the list in the CP, but I get the "This voice cannot be played..." error when I choose anything besides Anna. Anna works fine. So I copied over the LEX key for one of the voices and tried it like you suggested. Still not working. Any ideas? The other voices show on the list, they just still give the error.
    Monday, November 28, 2016 10:56 PM
  • Did you try the solution that worked for me above:

    Nov 3/16
    I have found the answer by some clues on various sites.  First of all I am running Office on 32 bits.  This means the speech platform must also be 32 bits.  When I tried to use the 32 bit version of the Speech Platform I couldn't select the voice in the Control Panel - Voice Selection of the Speech Properties.  I got the error - Voice cannot be played ... and it wouldn't select the voice.  I discovered another way to select the default voice where the platform is 32 bits.  Enter "C:\Windows\SysWOW64\Speech\SpeechUX\sapi.cpl" in the search box under the Start button.  This brings up the Speech Properties for the 32 bit platform.  I was able to select the Us ZiroPro voice in this box and it now works in Excel.  I put this here in case it may help someone else.

    Thursday, December 15, 2016 7:53 AM
  • very well Dave.

    this worked well within all Microsoft voices. but the attributes varied when I tried to put Julie Voice. I tried manipulating but I could not make Julie's voice work.

    but your way was definitely informative.

    better late than never.

    Ali

    Monday, April 24, 2017 7:00 AM
  • In addition to the above registry fix solutions, for those using a x64 version of the OS (in my case Win7), do not forget to install BOTH x86 and x64 versions of Speech Platform v11 from: http://www.microsoft.com/en-us/download/details.aspx?id=27225

    Since you are likely using also 32bits apps on that 64bits OS of yours this is likely going to fix problems in all the 3rd party apps (Error likes 'This voice cannot be played...').

    I also want to mention I did not have to use Anna LEX key fix mentionned by some participants.

    Tuesday, June 13, 2017 1:22 PM