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.