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, the EngineType entry in VG.INI's section [TTS] must be set to SAPI:
[TTS]
EngineType=SAPI
And the SAPI_Engine entry needs to be set to the SAPI TTS Engine to use. eg:
[TTS]
SAPI_Engine=Cepstral Allison-8kHz
List of SAPI TTS engines installed on the system is saved in the ktTts trace log file.
The ktTts trace log file is created in VoiceGuide's \log\ subdirectory.
The section that lists all SAPI TTS engines installed on the system 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
If TTS_Name is left blank Google will chose a voice based on the TTS_LanguageCode and TTS_SsmlGender settings.
eg. Possible TTS_Name settings for en-US Female voices are:
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]
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.
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]
Please contact VoiceGuide for detailed instructions on setting up MRCP based TTS engines and profiles.
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.
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:
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.
TTS_SsmlGender=Female
TTS_Name=en-US-Wavenet-C
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.
en-US-Wavenet-C, en-US-Wavenet-E, en-US-Wavenet-F, en-US-Standard-C, en-US-Standard-E
TTS_LanguageCode : $RV[TTS_GCP_LanguageCode]
TTS_Name : $RV[TTS_GCP_Name]
MRCP / MRCPv2
$RV[tts_MRCP_Language]
Dynamically changing TTS Engine
The voices to be used by each engine can also be dynamically set during the call, as outlined in previous sections.
VoiceGuide v5 / v6
C:\Program Files\Common Files\Microsoft Shared\Speech\sapi.cpl
If the .WAV file was created and contains TTS generated sound data then the SAPI TTS engine is usable by VoiceGuide v5/v6.