ssip: Protocol Philosophy
1.2 Protocol Philosophy
=======================
Speech Synthesis Interface Protocol defines a reasonable subset of the
different capabilities provided by the different synthesizers. It
supports some basic events (message, key, character, ...) as well as
changing the basic voice parameters (language, voice, rate, pitch, ...)
or the more advanced ones (punctuation mode, spelling mode, ...).
None of the commands or parameters of SSIP depends on the
characteristics of the particular devices that are being used. For
example when the client application wants to change the language for the
next message, it only calls the appropriate SSIP command and it leaves
the Speech Server to decide which synthesizer to use.
SSIP was designed to allow multiple simultaneous connections to the
server. A connection is identified by an identification string provided
by the client application and an id number. Each connection with all
its parameters is considered a closed space independent of the others,
so that different clients can maintain different settings in their
connections and then the Speech Server should take care of setting the
right parameters on the synthesizer according to the origin of each
request. One client can even establish several connections to maintain
different contexts.
SSIP also solves the issue when more than one client wants to speak
at one time or when more messages come than it's possible to say. Each
message has an assigned priority and according to this priority, when
multiple messages come to the server, they are directly said, postponed
or suppressed.
It is important to understand the difference between SSIP and higher
level protocols like SABLE, VoiceXML or SSML. Speech Synthesis Interface
Protocol is not a markup language in which one would write a document.
SSIP is rather the underlaying tool that the application would use to
let you read and browse the documents encoded in either ordinary formats
(like plain text, HTML, PDF) or the voice-enabled formats (SABLE,
VoiceXML, SSML). These higher level protocols describe only how the
document should be said, while SSIP is the means to actually do it on
your system. In this manner, one of the supported formats of the
messages you can send through SSIP is SSML.