Programmable Voice

  1. Home
  2. Docs
  3. Programmable Voice
  4. Text to Speech (TTS)
  5. Using Text-To-Speech Voices

Using Text-To-Speech Voices


There are many Text-To-Speech voices available with Microsoft Speech Platform.  This article explains how to change the default voice so your telephony application can communicate in your desired voice or language.

Install Microsoft Speech Runtime

You need to install the Microsoft Speech Runtime before you are able to use Microsoft’s TTS functionality. You will need to make sure that you download the same bit level as what you normally run Voice Elements under (for example, if you use x64 Voice Elements, make sure to install the x64 runtime).

Microsoft Speech Runtime can be downloaded here.

Please note that it is the exact same runtime as required for using Microsoft’s Speech Recognition capabilities. For information on configuring Speech Recognition, please see our article Install Microsoft Speech Platform.

Demo the TTS Voices

You may use this link to demo the Microsoft Speech Platform voices.

Voice Support

Microsoft has made available several different voices in a variety of different languages; links to which are available below.  Please note that some of the language packs are used for their speech recognition technology. Any of the MSI files available from the links below can be used as voices.

There are available TTS Voices in 26 languages. These are all the voices currently available:

Update Voice Elements

You will need to use version 2.2.5 or greater of Voice Elements in order to use the Microsoft TTS voices. It should come with the DLL “CTI32MicrosoftTTS” that is required to run the Microsoft Speech Platform Voices. You may download that using this link.

Testing Your Changes

If you have correctly installed the Microsoft Speech Platform you should see a list of voices in the ElementsServer.log, like this: 

12/01/24 – 14:05:43.741 0005 ElementsServer Voices: Microsoft Anna – English (United States) Microsoft Server Speech Text to Speech Voice (en-US, Helen) Microsoft Server Speech Text to Speech Voice (en-US, ZiraPro) 

When selecting a voice using one of the methods below, you must specify the string exactly as it is shown in the log.  Using the example above, “Microsoft Server Speech Text to Speech Voice (en-US, ZiraPro)” would be correct.

Using the Microsoft Voices

To use the Microsoft Voices, you will need to either specify a default voice, or specify what voice you would like to use. For example:

m_VoiceResource.PlayTTS(“This is a test”, “Microsoft Server Speech Text to Speech Voice (en-US, ZiraPro)”);

Setting a Default Voice

It can be helpful to set a default TTS voice. To do this, you will want to modify the VoiceElementsServer.exe.config (or the CTI32Svc.exe if running CTI32), and add the following setting in the <CTI32NetLib.Properties.Settings> section:

<setting name="TtsDefaultVoice" serializeAs="String">
    <value>Microsoft Server Speech Text to Speech Voice (en-US, ZiraPro)</value>

Please note that you will want to replace the value with the value of the Speech Engine that you are running.


Do you still have questions? If so, please contact Inventive Labs Technical Support.

Was this article helpful to you? Yes 16 No