Guest u4910 Report post Posted 10/22/2019 01:22 PM I am trying to figure out what TTS engines are installed. The doc says to look in the ktTts trace log file. That file seems to be binary. Should it be readable as text? 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 Read more at: https://www.voiceguide.com/vghelp/source/html/config_tts.htm Share this post Link to post
SupportTeam Report post Posted 10/22/2019 07:53 PM Can you please post the latest ktTts trace file from your system. The file should be in readable text format, like other VoiceGuide traces. Attaching a sample. 1022_ktTts.txt Share this post Link to post
Guest u4910 Report post Posted 10/22/2019 09:05 PM OK, here is one. But the one you posted is not readable either? 1022_ktTts.txt Share this post Link to post
SupportTeam Report post Posted 10/22/2019 09:35 PM VoiceGuide log files are not ASCII format files. They are in "UTF8" encoding by default. We can read the ktTts trace that you posted. Posting beginning of it below. You can change log file encoding in VG.INI and restart VoiceGuide service. see this entry in VG.INI file: [Log] ;trace file encoding options are: BigEndianUnicode, Default, Unicode, UTF32, UTF7, UTF8, ASCII TraceLogFiles_Encoding=UTF8 below is extract from ktTts from your system. Used Notepad++ on Windows to view. Windows' Notepad should also work. 071329.390 6516 ------------------------------------------------------------------------------ 071329.390 6516 ktTtsSapi v7.6.13 071329.390 6516 log [C:\Program Files (x86)\VoiceGuide\log\] level=10 options [] 071329.390 6516 ------------------------------------------------------------------------------ 071329.390 6516 SpEnumTokens call 071329.452 6516 GetCount call 071329.452 6516 GetCount returned ulNumTokens=2 071329.452 6516 tts voice 0 : Microsoft Anna - English (United States) 071329.452 6516 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\MS-Anna-1033-20-DSK 071329.452 6516 tts voice 1 : Cepstral Callie 071329.452 6516 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\Cepstral_Callie 071329.452 6516 default tts voice set to [Cepstral Callie] => 0 071329.452 6516 cepstral tts - only SAPI mode supported in this version. 071329.452 6516 Create tts thread. threadnumber= 1, handle= 2236 threadid= 1312 071329.452 6516 ThreadPriority -1 071329.452 1312 1 ProcessTTSJob thread created 071329.655 1312 1 cpSpStream=0CDC7238 072322.276 2180 fn TtsToWavFile (iLineId=2, zsTextXml=Welcome to the City of Columbia. Please enter your customer number followed by the pound sign. (bytes=196), zsFname=C:\Program Files (x86)\VoiceGuide\temp\tts_2_1.wav, wcsOptionsXML=<tts_save_filename>C:\Program Files (x86)\VoiceGuide\temp\tts_2_1.wav</tts_save_filename><TTS_SpStreamFormat>ulaw_8</TTS_SpStreamFormat><TTS_SAPI_Engine></TTS_SAPI_Engine>) 072322.276 2180 TtsToWavFile wrote all data to task idx 1 072322.276 2180 TtsToWavFile lPreviousSemaphoreValue 0 (max 0 owr 0) 072322.276 1312 1 WaitForNewTask returned. dwWfsoRetVal=0 072322.276 1312 1 task to process : 1 072322.276 1312 tts 1 task 1 setup output file 072322.276 1312 1 task 1 file exists C:\Program Files (x86)\VoiceGuide\temp\tts_2_1.wav 072322.276 1312 1 task 1 deleted existing file. 072322.276 1312 1 task 1 start calling SAPI functions 072322.276 1312 1 task 1 xml_options: TTS_SpStreamFormat=[ulaw_8] TTS_SAPI_Engine=[] 072322.276 1312 1 task 1 AssignFormat(ulaw_8->49) => 0 072322.277 1312 1 task 1 BindToFile C:\Program Files (x86)\VoiceGuide\temp\tts_2_1.wav => 0 072322.277 1312 1 task 1 (defaultSetAtInit) SetVoice 0CDC145C => 0 072322.277 1312 1 task 1 cpTTSVoice=0CDC2CB0, cpSpStream=0CDC7238 072322.732 1312 1 task 1 SetOutput 0CDC7238 => 0 072322.732 1312 1 task 1 speak returned. now waiting 072322.999 1312 1 task 1 generation completed 072323.003 1312 r 1 task 1 speak to file closed 072334.456 2180 fn TtsToWavFile (iLineId=2, zsTextXml=Enter your premise number followed by the pound sign. (bytes=112), zsFname=C:\Program Files (x86)\VoiceGuide\temp\tts_2_2.wav, wcsOptionsXML=<tts_save_filename>C:\Program Files (x86)\VoiceGuide\temp\tts_2_2.wav</tts_save_filename><TTS_SpStreamFormat>ulaw_8</TTS_SpStreamFormat><TTS_SAPI_Engine></TTS_SAPI_Engine>) 072334.456 2180 TtsToWavFile wrote all data to task idx 2 072334.456 2180 TtsToWavFile lPreviousSemaphoreValue 0 (max 0 owr 0) 072334.456 1312 1 WaitForNewTask returned. dwWfsoRetVal=0 072334.456 1312 1 task to process : 2 072334.456 1312 tts 1 task 2 setup output file 072334.456 1312 1 task 2 file exists C:\Program Files (x86)\VoiceGuide\temp\tts_2_2.wav 072334.456 1312 1 task 2 deleted existing file. 072334.456 1312 1 task 2 start calling SAPI functions 072334.456 1312 1 task 2 xml_options: TTS_SpStreamFormat=[ulaw_8] TTS_SAPI_Engine=[] 072334.456 1312 1 task 2 AssignFormat(ulaw_8->49) => 0 072334.456 1312 1 task 2 BindToFile C:\Program Files (x86)\VoiceGuide\temp\tts_2_2.wav => 0 072334.456 1312 1 task 2 (defaultSetAtInit) SetVoice 0CDC145C => 0 072334.456 1312 1 task 2 cpTTSVoice=0CDC2CB0, cpSpStream=0CDC7238 072334.457 1312 1 task 2 SetOutput 0CDC7238 => 0 072334.457 1312 1 task 2 speak returned. now waiting 072334.589 1312 1 task 2 generation completed 072334.593 1312 r 1 task 2 speak to file closed 072338.751 2180 fn TtsToWavFile (iLineId=2, zsTextXml=Please enter your pin number. (bytes=64), zsFname=C:\Program Files (x86)\VoiceGuide\temp\tts_2_3.wav, wcsOptionsXML=<tts_save_filename>C:\Program Files (x86)\VoiceGuide\temp\tts_2_3.wav</tts_save_filename><TTS_SpStreamFormat>ulaw_8</TTS_SpStreamFormat><TTS_SAPI_Engine></TTS_SAPI_Engine>) 072338.751 2180 TtsToWavFile wrote all data to task idx 3 072338.751 2180 TtsToWavFile lPreviousSemaphoreValue 0 (max 0 owr 0) 072338.751 1312 1 WaitForNewTask returned. dwWfsoRetVal=0 072338.751 1312 1 task to process : 3 072338.751 1312 tts 1 task 3 setup output file 072338.752 1312 1 task 3 file exists C:\Program Files (x86)\VoiceGuide\temp\tts_2_3.wav 072338.752 1312 1 task 3 deleted existing file. 072338.752 1312 1 task 3 start calling SAPI functions 072338.752 1312 1 task 3 xml_options: TTS_SpStreamFormat=[ulaw_8] TTS_SAPI_Engine=[] 072338.752 1312 1 task 3 AssignFormat(ulaw_8->49) => 0 072338.752 1312 1 task 3 BindToFile C:\Program Files (x86)\VoiceGuide\temp\tts_2_3.wav => 0 072338.752 1312 1 task 3 (defaultSetAtInit) SetVoice 0CDC145C => 0 072338.752 1312 1 task 3 cpTTSVoice=0CDC2CB0, cpSpStream=0CDC7238 072338.752 1312 1 task 3 SetOutput 0CDC7238 => 0 072338.753 1312 1 task 3 speak returned. now waiting 072338.835 1312 1 task 3 generation completed 072338.838 1312 r 1 task 3 speak to file closed ... 072453.290 2180 fn TtsToWavFile (iLineId=2, zsTextXml=Welcome to the City of Columbia. Please enter your customer number followed by the pound sign. (bytes=196), zsFname=C:\Program Files (x86)\VoiceGuide\temp\tts_2_1.wav, wcsOptionsXML=<tts_save_filename>C:\Program Files (x86)\VoiceGuide\temp\tts_2_1.wav</tts_save_filename><TTS_SpStreamFormat>ulaw_8</TTS_SpStreamFormat><TTS_SAPI_Engine></TTS_SAPI_Engine>) 072453.290 2180 TtsToWavFile wrote all data to task idx 8 072453.290 2180 TtsToWavFile lPreviousSemaphoreValue 0 (max 0 owr 0) 072453.290 1312 1 WaitForNewTask returned. dwWfsoRetVal=0 072453.290 1312 1 task to process : 8 072453.290 1312 tts 1 task 8 setup output file 072453.290 1312 1 task 8 file exists C:\Program Files (x86)\VoiceGuide\temp\tts_2_1.wav 072453.290 1312 1 task 8 deleted existing file. 072453.290 1312 1 task 8 start calling SAPI functions 072453.290 1312 1 task 8 xml_options: TTS_SpStreamFormat=[ulaw_8] TTS_SAPI_Engine=[] 072453.290 1312 1 task 8 AssignFormat(ulaw_8->49) => 0 072453.291 1312 1 task 8 BindToFile C:\Program Files (x86)\VoiceGuide\temp\tts_2_1.wav => 0 072453.291 1312 1 task 8 (defaultSetAtInit) SetVoice 0CDC145C => 0 072453.291 1312 1 task 8 cpTTSVoice=0CDC2CB0, cpSpStream=0CDC7238 072453.291 1312 1 task 8 SetOutput 0CDC7238 => 0 072453.293 1312 1 task 8 speak returned. now waiting 072453.513 1312 1 task 8 generation completed 072453.517 1312 r 1 task 8 speak to file closed Share this post Link to post
SupportTeam Report post Posted 10/22/2019 09:42 PM Looks like you have configured TTS system to use Cepstral Callie and looks like its working. The text seems to be static, so you could just copy this .WAV file from VoiceGuide's \temp\ subdirectory: C:\Program Files (x86)\VoiceGuide\temp\tts_2_1.wav copy above to a new place and the set the module to just play that .WAV directly. Looks like there are other modules playing static TTS as well, so those modules can be converted over to just using .WAV also. Traces show that the TTS generation only introduces a delay of between 0.1 - 0.2 second on average (for the TTS that is done here) but playing .WAV directly will reduce CPU load, especially if many channels are trying to do TTS at same time, so you will get overall lower CPU load if any static sound files are played from a from WAV instead of TTS generated each time. Share this post Link to post
Guest u4910 Report post Posted 10/23/2019 01:46 AM OK thanks. That seemed to work. I always use VIM to edit text files and didn't realize that it wasn't reading the encoding properly. Notepad and Wordpad work fine. I also changed the encoding in the vg.ini and see if that makes it even easier. Share this post Link to post