Windows 10 Text-To-Speech voices not installing properly

  • Thread starter Thread starter ErnestParker
  • Start date Start date
E

ErnestParker

As part of a development project, I downloaded/installed some new TTS files: English-Australia (Voices: James/Catherine), English-Great Britain (Voices: George/Hazel/Susan) & English-Ireland (Voices: Sean). All voices worked properly after installation using the "Preview Voice" button In Settings ==> Time & Language ==> Speech. HOWEVER, when I tried to access the voices using .NET, the only voice that was recognized was Great Britain-Hazel. NONE of the other additions could be accessed.


I started looking into the Registry and found the following:

  • Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Speech_OneCore\Voices\Tokens contained:
    • MSTTS_V110_enAU_CatherineM
    • MSTTS_V110_enAU_JamesM
    • MSTTS_V110_enGB_GeorgeM
    • MSTTS_V110_enGB_HazelM
    • MSTTS_V110_enGB_SusanM
    • MSTTS_V110_enIE_SeanM
    • MSTTS_V110_enUS_DavidM
    • MSTTS_V110_enUS_MarkM
    • MSTTS_V110_enUS_ZiraM
  • Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\SPEECH\Voices\Tokens contained:
    • TTS_MS_EN-GB_HAZEL_11.0
    • TTS_MS_EN-US_DAVID_11.0
    • TTS_MS_EN-US_ZIRA_11.0

The above is the 64-bit tree; the 32-bit tree showed the exact same items. I found it interesting that even enUS_Mark was not properly installed, and that voice package came with the initial installation of Win 10 Pro. FYI, I'm now running the latest version (20H2).


As an experiment, I used RegEdit to manually enter the necessary token/attributes for enAU_Catherine in both the 32- & 64-bit trees. After that, I was able to access Catherine via .NET.


Is anybody else seeing this behavior? My guess is that whoever created/tested these voice packages tested them using the "Preview Voice" button, but not did NOT test the functionality using .NET. NOTE: my testing was done with .NET Framework, not .NET Core.


--Ernie

Continue reading...
 
Back
Top