Java Speech Markup Language

Java Speech API Markup Language (JSML) is an XML-based markup language for annotating text input to speech synthesizers. JSML is used within the Java Speech API. JSML is an XML application and conforms to the requirements of well-formed XML documents. Java Speech API Markup Language is referred to as JSpeech Markup Language when describing the W3C documentation of the standard. Java Speech API Markup Language and JSpeech Markup Language identical apart from the change in name, which is made to protect Sun trademarks.

JSML was developed by Andrew Hunt at Sun Microsystems.

Usage
JSML is primarily an XML text format used by Java applications to annotate text input to speech synthesizers. Elements of JSML provide speech synthesizer with detailed information on how to speak text in a naturalized fashion.

JSML defines elements which define a document's structure, the pronunciation of certain words and phrases, features of speech such as emphasis and intonation, etc. JSML is designed in the Java fashion to be simple to learn and use, to be portable across different synthesizers and computing platforms, and although designed for use within is also applicable to a wide range of languages.

Example
An example of how JSML is defined is set out below:

Related standards
JSML built on the original proposal for a speech synthesis markup language (SSML), a set of general markup tags that could be used across different text-to-speech (TTS) systems.

The W3C developed a standard markup language called VoiceXML, also often referred to as SSML, which is based on JSML but is not identical to it. This became a formal W3C recommendation in 2004.