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.