## TEXT MARKUP

### SSML: Speech Synthesis Markup Language

The following markup tags and attributes are recognised:

<speak>

- xml:base (the value is just passed back as a parameter with the UriCallback() function)
- xml:lang

<voice>

- xml:lang
- name
- age
- variant
- gender

<prosody>

- rate
- volume
- pitch
- range

<say-as>

- interpret-as="characters"

  The names of the characters are spoken.

- interpret-as="characters" format="glyphs"

  As "characters", but upper-case letters are prefixed with "Capital".

- interpret-as="tts:key"

  If the text is only one character, the name of the character is spoken, including punctuation characters. If the text is more than one character, it is spoken as words.

- interpret-as="tts:char"

  The name of the character is spoken, including punctuation characters.

- interpret-as="tts:digits"

  The digits are spoken individually.

<mark> name

<s>

- xml:lang

<p>

- xml:lang

<sub> alias

<tts:style>

- field="punctuation" mode=none,all,some
- field="capital_letters" mode=no,spelling,icon,pitch

<audio> src

<emphasis>

- level

<break>

- strength
- time

### HTML

eSpeak can speak HTML text directly, or text containing both SSML and HTML markup.
Any unrecognised tags are ignored.

The following tags case a sentence break.
<br> <li> <img> <td>

The following tags case a paragraph break.
<h1> <h2> <h3> <h4> <hr>