TTSMODEINFO

This structure provides detailed information about a text-to-speech (TTS) mode supported by a particular engine.

Syntax

typedef struct { // ttsmi
GUID
gEngineID;
TCHAR
szMfgName[TTSI_NAMELEN];
TCHAR
szProductName[TTSI_NAMELEN];
GUID
gModeID;
TCHAR
szModeName[TTSI_NAMELEN];
LANGUAGE
language;
TCHAR
szSpeaker[TTSI_NAMELEN];
TCHAR
szStyle[TTSI_STYLELEN];
WORD
wGender;
WORD
wAge;
DWORD
dwFeatures;
DWORD
dwInterfaces;
DWORD
dwEngineFeatures;
} TTSMODEINFO, *PTTSMODEINFO;

Members

gEngineID
Globally unique identifier (GUID) that identifies the engine. The GUID can be generated randomly using Guidgen.exe, which is provided with the Microsoft OLE Software Development Kit (SDK). It is possible for more than one mode to have the same engine identifier. In this case, the engine is capable of speaking the different languages or voices of the modes.
szMfgName
Null-terminated string that contains the name of the manufacturer .
szProductName
Null-terminated string that contains the name of the product.
gModeID
Globally unique identifier (GUID) of the mode. These numbers are guaranteed to be unique, so it is not necessary to monitor and record them. In addition, the GUID is not stored or used directly by OLE, so it is not necessary to load it into the registry.
szModeName
Null-terminated string that contains the name of the TTS mode.
language
Specifies the LANGUAGE structure that contains the name of the language and dialect.
szSpeaker
Null-terminated string that contains the name of the voice, or NULL if the name is not important.
szStyle
Null-terminated string that indicates the personality of the voice — for example, business, casual, computer, excited, or singsong.
wGender
Specifies the gender of the voice. It is one of the following values:
GENDER_FEMALE
A female voice is used.
GENDER_MALE
A male voice is used.
GENDER_NEUTRAL
The voice used is not perceptibly male or female.
wAge
Specifies the age of the voice. It is one of the following values, with all ages being approximate:
TTSAGE_BABY
The voice is that of a 1-year-old.
TTSAGE_TODDLER
The voice is that of a 3-year-old.
TTSAGE_CHILD
The voice is that of a 6-year-old.
TTSAGE_ADOLESCENT
The voice is that of a 14-year-old.
TTSAGE_ADULT
The voice is that of someone between 20 and 60 years old.
TTSAGE_ELDERLY
The voice is that of someone over 60 years old.
dwFeatures
Specifies the TTS features that are available. It is a combination of the following flags:
TTSFEATURE_ANYWORD
The engine can attempt to read any word.
TTSFEATURE_PCOPTIMIZED
The voice is optimized to work over the computer, which provides better sound quality.
TTSFEATURE_PHONEOPTIMIZED
The voice is designed to work over the telephone and uses an 8-kilohertz (kHz) sampling rate.
TTSFEATURE_PITCH
The engine can adjust the pitch of the voice while the engine is speaking.
TTSFEATURE_SPEED
The engine can adjust the speed of the voice while the engine is speaking.
TTSFEATURE_TAGGED
The engine can interpret tagged text to control the voice.
TTSFEATURE_VISUAL
The engine can provide mouth position information for the voice.
TTSFEATURE_VOLUME
The engine can adjust the volume of the voice.
TTSFEATURE_WORDPOSITION
The engine sends notification of word position.
dwInterfaces
Specifies the interfaces supported by the engine. It is a combination of the following flags:
TTSI_ILEXPRONOUNCE
Use the ILexPronounce interface.
TTSI_ITTSATTRIBUTES
Use the ITTSAttributes interface.
TTSI_ITTSCENTRAL
Use the ITTSCentral interface.
TTSI_ITTSDIALOGS
Use the ITTSDialogs interface.
dwEngineFeatures
Specifies features of a particular engine. These values are defined by the engine author. For more information about engine features, see the documentation for the engine.

In order to identify which engine is being used, an application can use the ITTSEnum interface to enumerate the engines. Its features can then be determined.