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.