TTS to file operations doesn't persist property settings
Last reviewed: 1/20/2004
PRB Article ID: P010401
The information in this article applies to:
- SpeechKit 4
Symptoms
When synthesizing speech to a file, the TTS engine (voice) property settings are lost after writing the file. For example:
ChantTTS1.StartPlayback(" "); // Force instantiation of TTS objects
ChantTTS1.SetNumberProperty(CNPSpeedNorm,1); // Speak a little faster than normal
ChantTTS1.StartPlayback("Save this TTS audio to a file", 0, CPOText, CAFDefault, 0, CPRFile, CAFDefault, CPSAsynchronous);
// The following will speak at baseline rate not the desired rate+1
ChantTTS1.StartPlayback("Save this also", 0, CPOText, CAFDefault, 0, CPRFile, CAFDefault, CPSAsynchronous);
Cause
The SAPI 5 TTS voice object was automatically released after the file operation. This also imposed the voice object instantiation overhead each time a file was written.
Status
Fixed in SpeechKit 4 build 4.0.96.0. The SAPI 5 TTS voice object is retained to retain the property settings and eliminate instantiation overhead.
Component Formats Impacted
All component formats.