Forum Discussion

EPalaima's avatar
EPalaima
Copper Contributor
Sep 30, 2019

Loading New System Voices for System.Speech

Hi, I am using System.Speech for a Text to Speech project, and I am trying to install new voices.

 

I installed new system voices by following these instructions: 

 

On any edition of Windows 10, click Start > Settings, and then follow these steps:

  1. Select the Start button, then select Settings > Time & Language > Region & Language.

  2. Select Add a language and choose the language you want from the list. Only languages listed in the table below will have Text-to-Speech capabilities.

  3. After the new language has been installed (this may take a few moments), select it in the Region & Language list, and then select Options.

  4. Under Language options > Speech, select Download.

  5. Restart your computer. The Text-to-Speech voices will be installed when your machine turns back on.

I can see these voices installed in settings. However, these voices don't show up when I use the GetInstalledVoices().VoiceInfo command.

 

Is there some additional layer of setup I need to do to get System.Speech to recognize these new voices?

  • EPalaima's avatar
    EPalaima
    Copper Contributor

    Pernille-Eskebo Tech Community 

     

    Y'all a bunch of posers tho. Left me hanging. 

     

    The answer is that Microsoft has two vocal synthesis APIs, WinRT and SAPI. 3 of the standard Microsoft voices are the SAPI API, the ones you download via system settings are WinRT. System.Speech only works with SAPI voices. This isn't clearly documented anywhere, I actually had to find it on a random stack overflow post, so hopefully posting this will help someone else who runs into the same issue. 

    • yueyinqiu's avatar
      yueyinqiu
      Copper Contributor
      Hello. I'm facing the same problem. May I ask for your final solution? I've tried to install eSpeak and Ekho for more SAPI voices. And in the TTSApp they provides, I could find those new voices, but in my application there are no new voices.
      • yueyinqiu's avatar
        yueyinqiu
        Copper Contributor
        Well I find that the behavior is different in DotnetCore and DotnetFramework. I could get the Ekho voices in a DotnetFramework program.

Resources