In some situtation it ispossible for the user of a text-to-speech
system to provide more information for the synthesizer that just the
text, or the type of text. It is near impossible for TTS engines to
get everything right all of the time, so in such situation it is
useful to offer the developer a method to help guide the synthesizer
in its syntehsis process.

Most speech synthesizer offer some speech method or embedded commands
but these are specific to one interface or one API. For
example the Microsoft SAPI interface allows various commands
to be embedded in a text string some examples .

However there has been a move more recently to offer a general mark up
method that is more general. A number of people saw the potential use
of XML as a general method for marking up text for speech synthesis.
The earliest method we know was in a Masters thesis at Edinburgh in
1995 [isard]. This was later published under the
name SSML. A number of other groups were alos looking at this and a
large consortium formed to define this further under various names
STML, and eventually Sable.

Around the same time, more serious definitions of such a mark-up were
being developed. The first to reach a well-define stage was JSML,
(Java Speech Mark-up Language), which covered aspects of speech
recognition and grammars as well as speech synthesis mark-up. Unlike
any of the other XML based markup languages, JSML, as it was embedded
within Java, could define exceptions in a reasonable way. One of the
problems iwth a simpel XML markup is that it is one way. You can
request a voice or a language or some functionality, but there is no
mechanism for feedback to know if such a feature is actually
available.

XML markup for speech have been further advances with VoiceXML, which
defines a mark-up language for basic dialog systems. The speech
synthesi part of the VoiceXML is closely follows the functionality of
JSML and its predecessors.

A new standard for markup for speech synthesis is currently being
defined by W3C under the name SSML, confusingly the same name as the
earliest example, but not designed to be compatible with the original,
but take into account the functionaly and desires of users of TTS.
SSML markup is also defined as the method for speech synthesis markup
in Microsoft's SALT tags.