There are two main objects of interest to a TTS Engine
Developer: The spvoice object (SAPI) and the TTS engine object (refer to figure
2 ).
The third object in the figure
Is a UI component which an engine may or may not implement.
For TTS engine developers, there are two important objects to care about: spvoice and TTS engine. The third is whether the engine implements the UI components.
the spvoice object implements two interfaces which we will
be concerned with-
ispvoice
, which is the interface which the application
uses to access TTS functionality, and
ispttsenginesite
, which the engine uses to
write audio data and queue events.
the
TTS engine must implement two interfaces as well-
ispttsengine
, which is the
interface through which SAPI will call the engine, and
ispobjectwithtoken
, which
is the interface through which SAPI will create and initialize the engine.
the UI object, if it exists, must implement
isptokenui
, through which it
will be accessed by the SAPI Control Panel (or, potentially, other
applications ).
The spvoice object implements two possible interfaces: ispvoice is an applicationProgramInterface for accessing the TTS function; ispttsenginesite is the TTS engine used to write audio data and queue time. The TTS engine implements two required interfaces: ispttsengine is an interface for calling the engine through SAPI; ispobjectwithtoken is an interface for creating and initializing the engine through SAPI. If the UI object exists, you must implement the isptokenui interface. The SAPI Control Panel (or other applications) uses this interface to access the UI object.