Configuring Text to Speech (TTS)

Only the Trial and Enterprise versions of VoiceGuide support Text to Speech (TTS).
The Professional version of VoiceGuide does not support TTS. 

 

VoiceGuide can use:

  • SAPI compatible TTS engines
  • Google Cloud Platform TTS engines
  • MRCPv2 TTS engines
  • Native integrations to select TTS engines also supported

Please contact sales@voiceguide.com to discuss which TTS engine would best suit your requirements.

 

SAPI

To use SAPI TTS engine by default, the EngineType entry in VG.INI's section [TTS] must be set to SAPI:

[TTS]
EngineType=SAPI

The SAPI_Engine entry then can be set to the SAPI TTS Engine to use. eg:

[TTS]
SAPI_Engine=Cepstral Allison-8kHz

The list of TTS engine names that are installed on the system can be obtained from the VoiceGuide ktTts trace log file. At the beginning of the trace file there will be a section that lists all SAPI engines installed on the system. That section looks something like this:

124244.953 2812 tts voice 0 : Microsoft Mary
124244.953 2812 tts voice 1 : Microsoft Mike
124244.953 2812 tts voice 2 : Microsoft Sam
124244.953 2812 tts voice 3 : Cepstral Allison-8kHz
124244.953 2812 tts voice 4 : Sample TTS Voice

The name of the engine is listed after the "tts voice X : " tag.
The example listing above shows that the following TTS engines are installed on the system:

Microsoft Mary
Microsoft Mike
Microsoft Sam
Cepstral Allison-8kHz
Sample TTS Voice

so any of the above can be specified as the value of the SAPI_Engine entry in the VG.INI file.

 

Format of the WAV file which the SAPI TTS engine should generate can be set in VG.INI, section [TTS], field SpStreamFormat. eg:

[TTS]
SAPI_SpStreamFormat=8khz8

The above "8khz8" entry is used to request that SAPI TTS generates 8kHz 8-bit PCM WAV files.
Other possible settings are:

8khz8
8khz16
11khz8
11khz16
16khz8
16khz16
alaw_8
ulaw_8

 

NOTE: SAPI SDK's TTSApp application should not be used to determine whether VoiceGuide can use the installed SAPI TTS engine.
Indeed it is possible for SAPI SDK's TTSApp application to fail in generating the TTS, while VoiceGuide service still being able to use that SAPI TTS engine successfully.

 

Google Cloud Platform

To use Google Cloud's TTS engine the VG.INI [TTS] EngineType entry must be set to:

EngineType=Google

Full path to the Google Cloud Platform's Credentials file must then be specified in the VG.INI [GCP] CredentialsFile setting. eg:

CredentialsFile=C:\SomeDirectory\IVRTTS1-e79d6258b5fd.json

The Voice to use can be selected using TTS_LanguageCode, TTS_SsmlGender and TTS_Name settings. eg:

TTS_LanguageCode=en-US
TTS_SsmlGender=Female
TTS_Name=en-US-Wavenet-C

If TTS_Name is left blank Google will chose a voice based on the TTS_LanguageCode and TTS_SsmlGender settings.
Google has multiple voices for most TTS_LanguageCode/TTS_SsmlGender combinations.
Setting TTS_Name allows selecting a specific voice from the many options available.
Please refer to Google's documentation for valid TTS_Name options.
VoiceGuide's vgEngine trace file will also show the list available Google Cloud voices.

eg. Possible TTS_Name settings for en-US Female voices are:
en-US-Wavenet-C, en-US-Wavenet-E, en-US-Wavenet-F, en-US-Standard-C, en-US-Standard-E

The above settings can be changed at any time during the call by setting corresponding $RVs to new value:

TTS_SsmlGender : $RV[TTS_GCP_SsmlGender]
TTS_LanguageCode : $RV[TTS_GCP_LanguageCode]
TTS_Name : $RV[TTS_GCP_Name]

Note that when using Google TTS, network delays between IVR system and Google's servers may result in slight delay before TTS is played. This delay is usually under 1 second.

 

MRCP / MRCPv2

To use MRCP/MRCPv2 TTS engines the VG.INI [TTS] EngineType entry must be set to:

EngineType=MRCP

Other required settings are MRCP_Profile and MRCP_Language

The MRCP Profile and Language etc can be dynamically set during the call, by setting new values to $RVs:

$RV[tts_MRCP_Profile]
$RV[tts_MRCP_Language]

Please contact VoiceGuide for detailed instructions on setting up MRCP based TTS engines and profiles.

 

Dynamically changing TTS Engine

The TTS Engine type used can also be dynamically set during the call, by setting new values to $RV:

$RV[tts_EngineType]

This allows the script to dynamically select which TTS engine type should be used at any time during the call.
The voices to be used by each engine can also be dynamically set during the call, as outlined in previous sections.

 

VoiceGuide v5 / v6

For VoiceGuide v5/v6 the default SAPI TTS voice can be set using the Speech applet from the Windows Control Panel:

 

 

If the Speech applet above cannot be seen in the Control Panel then it can be found in this location:
C:\Program Files\Common Files\Microsoft Shared\Speech\sapi.cpl

On VoiceGuide v5/v6 systems the SAPI TTS engine installation can be verified by using the SAPI SDK's TTSApp program:

Start -> Programs -> Microsoft Speech SDK 5.1 -> Tools -> TTSApp

Then select the TTS engine and press the "Save to .wav" button.
If the .WAV file was created and contains TTS generated sound data then the SAPI TTS engine is usable by VoiceGuide v5/v6.

 

VoiceGuide

© Katalina Technologies Pty. Ltd.