> For the complete documentation index, see [llms.txt](https://docs.plumvoice.com/dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.plumvoice.com/dev/developer-reference/tts-engine-characteristics/vocalizer-7/vocalizer-7-less-than-voice-greater-than-tag-and-ssml-support.md).

# Vocalizer 7: \<voice> tag and SSML Support

{% hint style="warning" %}
**BETA FEATURE:**

The Vocalizer 7 TTS engine is currently available as a **beta feature**. Further testing and updates may take place while Vocalizer 7 is in beta.

We encourage you to share feedback at **<beta@plumgroup.com>**.
{% endhint %}

{% hint style="info" %}
**IMPORTANT! Treat the terms "tags"  and "elements" as the same.**

The term "tags" used here means the same thing as the term "elements" used in other VXML-related documentation (*e.g.*, the W3C SSML 1.0 Recommendation).
{% endhint %}

## Summary

This page covers the \<voice> tag in Vocalizer 7 and other SSML tag and attribute features.

## `<voice>`

{% hint style="info" %}
**NOTE:** All `<voice>` attributes are **optional**. However, an error will occur if no attribute is specified when using the `<voice>` tag.
{% endhint %}

The `<voice>` tag should be used to specify the desired voice through the `name` attribute.

*Example:* `<voice name="Allison">`

See the list of available voices in the [`name`](#name) section below.

### Key `<voice>` attributes

<table><thead><tr><th>Attribute</th><th data-type="checkbox">Supported?</th></tr></thead><tbody><tr><td><code>age</code></td><td>true</td></tr><tr><td><code>name</code></td><td>true</td></tr><tr><td><code>variant</code></td><td>true</td></tr><tr><td><code>xml:lang</code></td><td>false</td></tr></tbody></table>

### `age`

This attribute is **supported**.

**Notes:** The `age` attribute is only useful with the installation of a set of custom voices with varying age over the same language and gender.

### `name`

This attribute is **supported**.

**Notes:** See the following language tables for available names:

* [American English (en-US)](#american-english-en-us)
* [British English (en-GB)](#british-english-en-gb)
* [Spanish (es-ES)](#spanish-es-es)
* [German (de-DE)](#german-de-de)
* [Canadian French (fr-CA)](#canadian-french-fr-ca)
* [French (fr-FR)](#french-fr-fr)
* [Brazilian Portuguese (pt-BR)](#brazilian-portuguese-pt-br)
* [Portuguese (pt-PT)](#portuguese-pt-pt)
* [Cantonese (zh-HK)](#cantonese-zh-hk)
* [Mandarin (zh-CN)](#undefined)

#### American English (en-US) (9 total)

<table><thead><tr><th width="137">Voice name</th><th width="99">Gender<select><option value="689eccd5cba146edabed3b719716c794" label="Male" color="blue"></option><option value="d0ce4b8729cb467eabc71ff397fecc75" label="Female" color="blue"></option></select></th><th width="134" data-type="checkbox">Multilingual?</th><th>Additional languages<select multiple><option value="e68ae40eafb94517a168990fe98714b1" label="en-GB" color="blue"></option><option value="1829fc9129d8480dae3204313851c99f" label="en-US" color="blue"></option><option value="9c55e6de9485445b98f9e1c374e80643" label="es-ES" color="blue"></option><option value="9fd80c3bd20d41dc84011248d59c4efb" label="es-MX" color="blue"></option><option value="d08408a01dc64701b3544b0b60a67847" label="de-DE" color="blue"></option><option value="9dc085c4c7834f90b07136eda88d0219" label="fr-CA" color="blue"></option><option value="31b911498ecc4032b33377858d47b0b0" label="fr-FR" color="blue"></option><option value="b96543f9700f4e0e9a1855fcdaaf1602" label="it-IT" color="blue"></option></select></th></tr></thead><tbody><tr><td>Allison</td><td><span data-option="d0ce4b8729cb467eabc71ff397fecc75">Female</span></td><td>false</td><td></td></tr><tr><td>Ava</td><td><span data-option="d0ce4b8729cb467eabc71ff397fecc75">Female</span></td><td>false</td><td></td></tr><tr><td>Ava-ml</td><td><span data-option="d0ce4b8729cb467eabc71ff397fecc75">Female</span></td><td>true</td><td><span data-option="9fd80c3bd20d41dc84011248d59c4efb">es-MX, </span><span data-option="9dc085c4c7834f90b07136eda88d0219">fr-CA</span></td></tr><tr><td>Evan</td><td><span data-option="689eccd5cba146edabed3b719716c794">Male</span></td><td>false</td><td></td></tr><tr><td>Samantha</td><td><span data-option="d0ce4b8729cb467eabc71ff397fecc75">Female</span></td><td>false</td><td></td></tr><tr><td>Susan</td><td><span data-option="d0ce4b8729cb467eabc71ff397fecc75">Female</span></td><td>false</td><td></td></tr><tr><td>Tom</td><td><span data-option="689eccd5cba146edabed3b719716c794">Male</span></td><td>false</td><td></td></tr><tr><td>Zoe</td><td><span data-option="d0ce4b8729cb467eabc71ff397fecc75">Female</span></td><td>false</td><td></td></tr><tr><td>Zoe-ml</td><td><span data-option="d0ce4b8729cb467eabc71ff397fecc75">Female</span></td><td>true</td><td><span data-option="9fd80c3bd20d41dc84011248d59c4efb">es-MX, </span><span data-option="9dc085c4c7834f90b07136eda88d0219">fr-CA</span></td></tr></tbody></table>

#### British English (en-GB) (6 total)

<table><thead><tr><th width="137">Voice name</th><th width="98">Gender<select><option value="ea02656f65ab4330a5b546d75c5f7bbc" label="Male" color="blue"></option><option value="a05bf71e0b974d9f90bb364aa526ea59" label="Female" color="blue"></option></select></th><th width="250" data-type="checkbox">Multilingual?</th></tr></thead><tbody><tr><td>Daniel</td><td><span data-option="ea02656f65ab4330a5b546d75c5f7bbc">Male</span></td><td>false</td></tr><tr><td>Kate</td><td><span data-option="a05bf71e0b974d9f90bb364aa526ea59">Female</span></td><td>false</td></tr><tr><td>Malcolm</td><td><span data-option="ea02656f65ab4330a5b546d75c5f7bbc">Male</span></td><td>false</td></tr><tr><td>Oliver</td><td><span data-option="ea02656f65ab4330a5b546d75c5f7bbc">Male</span></td><td>false</td></tr><tr><td>Ruby</td><td><span data-option="ea02656f65ab4330a5b546d75c5f7bbc">Male</span></td><td>false</td></tr><tr><td>Serena</td><td><span data-option="a05bf71e0b974d9f90bb364aa526ea59">Female</span></td><td>false</td></tr></tbody></table>

#### Spanish (es-ES) (4 total)

<table><thead><tr><th width="141">Voice name</th><th width="94">Gender<select><option value="072f6ff03de041e4baca1acd41f92264" label="Male" color="blue"></option><option value="23f926c1287940f39c5c7b2266995601" label="Female" color="blue"></option></select></th><th width="137" data-type="checkbox">Multilingual?</th><th>Additional languages<select multiple><option value="7cacc69ea14247bba6ecb0891d15e212" label="en-GB" color="blue"></option><option value="2e520f7337d14beb99556288ff68381d" label="en-US" color="blue"></option><option value="a293ee18764f4bc9996e7e281a0d43c6" label="es-ES" color="blue"></option><option value="3dadfc436c61443ea345aa3ea7c963d9" label="es-MX" color="blue"></option><option value="c71b5cf78bf5472ab0bdd28d47b3fd0d" label="de-DE" color="blue"></option><option value="bfd60f19c2e1473a9f6c58acfe19e4a3" label="fr-CA" color="blue"></option><option value="bbd04036da84413084e8c43f89f3ab17" label="fr-FR" color="blue"></option><option value="458d59303909437b91258618f232fba9" label="it-IT" color="blue"></option></select></th></tr></thead><tbody><tr><td>Angelica</td><td><span data-option="23f926c1287940f39c5c7b2266995601">Female</span></td><td>false</td><td></td></tr><tr><td>Javier</td><td><span data-option="072f6ff03de041e4baca1acd41f92264">Male</span></td><td>false</td><td></td></tr><tr><td>Paulina</td><td><span data-option="23f926c1287940f39c5c7b2266995601">Female</span></td><td>false</td><td></td></tr><tr><td>Paulina-ml</td><td><span data-option="23f926c1287940f39c5c7b2266995601">Female</span></td><td>true</td><td><span data-option="2e520f7337d14beb99556288ff68381d">en-US, </span><span data-option="bfd60f19c2e1473a9f6c58acfe19e4a3">fr-CA</span></td></tr></tbody></table>

#### German (de-DE) (5 total)

<table><thead><tr><th width="143">Voice name</th><th width="97">Gender<select><option value="ef42e0b3d738429d88473cc4b9e8a044" label="Male" color="blue"></option><option value="3921cf2818ea4bc88a276925ab0063cb" label="Female" color="blue"></option></select></th><th width="139" data-type="checkbox">Multilingual?</th><th>Additional languages<select multiple><option value="8adae8003ea14f7d813fe76e6a2938df" label="en-GB" color="blue"></option><option value="537d7b49ac56420a8b80e4f15ca4031c" label="en-US" color="blue"></option><option value="5f57c9269963401487a7a1528495fcd8" label="es-ES" color="blue"></option><option value="514d811f595f47b590dee1f032810814" label="es-MX" color="blue"></option><option value="fd2e14c34da74cbc8860fb82c3cac5fa" label="de-DE" color="blue"></option><option value="7ac8dd9a63874fb090bf99c42be31c65" label="fr-CA" color="blue"></option><option value="2e0473cf1f90484cb6042e39133571ea" label="fr-FR" color="blue"></option><option value="02fe1d880e9a4b83b5291461ae888fd3" label="it-IT" color="blue"></option></select></th></tr></thead><tbody><tr><td>Anna</td><td><span data-option="3921cf2818ea4bc88a276925ab0063cb">Female</span></td><td>false</td><td></td></tr><tr><td>Anna-ml</td><td><span data-option="3921cf2818ea4bc88a276925ab0063cb">Female</span></td><td>true</td><td><span data-option="8adae8003ea14f7d813fe76e6a2938df">en-GB, </span><span data-option="5f57c9269963401487a7a1528495fcd8">es-ES, </span><span data-option="2e0473cf1f90484cb6042e39133571ea">fr-FR, </span><span data-option="02fe1d880e9a4b83b5291461ae888fd3">it-IT</span></td></tr><tr><td>Markus</td><td><span data-option="ef42e0b3d738429d88473cc4b9e8a044">Male</span></td><td>false</td><td></td></tr><tr><td>Petra</td><td><span data-option="3921cf2818ea4bc88a276925ab0063cb">Female</span></td><td>false</td><td></td></tr><tr><td>Viktor</td><td><span data-option="ef42e0b3d738429d88473cc4b9e8a044">Male</span></td><td>false</td><td></td></tr></tbody></table>

#### Canadian French (fr-CA) (3 total)

<table><thead><tr><th width="138">Voice name</th><th width="95">Gender<select><option value="5174875d7c104ab794514c7353270aa1" label="Male" color="blue"></option><option value="db9cf4773b244f4e89b8da7c17084a1c" label="Female" color="blue"></option></select></th><th width="141" data-type="checkbox">Multilingual?</th><th>Additional languages<select multiple><option value="cf7d12ae7826487a8bc4bdaf59e483ae" label="en-GB" color="blue"></option><option value="2207fc1c78ff4d85a34344ec1c4599ce" label="en-US" color="blue"></option><option value="3e42bec357124f099f91474082f08c49" label="es-ES" color="blue"></option><option value="9edf0a80e8f64d09adf76e4644f65d8a" label="es-MX" color="blue"></option><option value="ad9317b92ccc44fca2be4cc40639baa3" label="de-DE" color="blue"></option><option value="65e15ef555b64f2cb4107e2a56aac6e2" label="fr-CA" color="blue"></option><option value="524b0bc73a394b0087b70c8f264733ec" label="fr-FR" color="blue"></option><option value="a8fe42ba310246c7804ec6e332834e78" label="it-IT" color="blue"></option></select></th></tr></thead><tbody><tr><td>Amelie</td><td><span data-option="db9cf4773b244f4e89b8da7c17084a1c">Female</span></td><td>false</td><td></td></tr><tr><td>Amelie-ml</td><td><span data-option="db9cf4773b244f4e89b8da7c17084a1c">Female</span></td><td>true</td><td><span data-option="2207fc1c78ff4d85a34344ec1c4599ce">en-US</span></td></tr><tr><td>Nicolas</td><td><span data-option="5174875d7c104ab794514c7353270aa1">Male</span></td><td>false</td><td></td></tr></tbody></table>

#### French (fr-FR) (3 total)

<table><thead><tr><th width="140">Voice name</th><th width="93">Gender<select><option value="82c69812ee3a43139bea850b0670b2d2" label="Male" color="blue"></option><option value="f0ebcb6065d945608b63b9eacc33044d" label="Female" color="blue"></option></select></th><th width="138" data-type="checkbox">Multilingual?</th><th>Additional languages<select multiple><option value="7588e35407c1423fa6d998560acff4e5" label="en-GB" color="blue"></option><option value="4303c692cc7249b6a8c283688ced4340" label="en-US" color="blue"></option><option value="c6fcef90443b47538a1e64f39e54ae33" label="es-ES" color="blue"></option><option value="6880f154da9d4c6e981f705e9f488c8f" label="es-MX" color="blue"></option><option value="ab3075c0c7f24393934eaa58fd005b46" label="de-DE" color="blue"></option><option value="45f80dbe29084130a5ed4f3d494a44b9" label="fr-CA" color="blue"></option><option value="e91e51a8e5a14dc29063fa7047439674" label="fr-FR" color="blue"></option><option value="07a80f080efa492db2fda6459929f885" label="it-IT" color="blue"></option></select></th></tr></thead><tbody><tr><td>Audrey</td><td><span data-option="f0ebcb6065d945608b63b9eacc33044d">Female</span></td><td>false</td><td></td></tr><tr><td>Audrey-ml</td><td><span data-option="f0ebcb6065d945608b63b9eacc33044d">Female</span></td><td>true</td><td><span data-option="7588e35407c1423fa6d998560acff4e5">en-GB, </span><span data-option="c6fcef90443b47538a1e64f39e54ae33">es-ES, </span><span data-option="ab3075c0c7f24393934eaa58fd005b46">de-DE, </span><span data-option="07a80f080efa492db2fda6459929f885">it-IT</span></td></tr><tr><td>Thomas</td><td><span data-option="82c69812ee3a43139bea850b0670b2d2">Male</span></td><td>false</td><td></td></tr></tbody></table>

#### Brazilian Portuguese (pt-BR) (3 total)

<table><thead><tr><th width="137">Voice name</th><th width="91">Gender<select><option value="fdb28908733d4f5697b577b11fbad169" label="Male" color="blue"></option><option value="991d6687f89249c2b32bf700cfea499d" label="Female" color="blue"></option></select></th><th width="250" data-type="checkbox">Multilingual?</th></tr></thead><tbody><tr><td>Felipe</td><td><span data-option="fdb28908733d4f5697b577b11fbad169">Male</span></td><td>false</td></tr><tr><td>Fernanda</td><td><span data-option="991d6687f89249c2b32bf700cfea499d">Female</span></td><td>false</td></tr><tr><td>Luciana</td><td><span data-option="991d6687f89249c2b32bf700cfea499d">Female</span></td><td>false</td></tr></tbody></table>

#### Portuguese (pt-PT) (3 total)

<table><thead><tr><th width="137">Voice name</th><th width="98">Gender<select><option value="754491fc28db44f0bb97560412fb28a8" label="Male" color="blue"></option><option value="3d2334a94d1b49c4b92d2d14ba3441e4" label="Female" color="blue"></option></select></th><th width="250" data-type="checkbox">Multilingual?</th></tr></thead><tbody><tr><td>Catarina</td><td><span data-option="3d2334a94d1b49c4b92d2d14ba3441e4">Female</span></td><td>false</td></tr><tr><td>Juana</td><td><span data-option="3d2334a94d1b49c4b92d2d14ba3441e4">Female</span></td><td>false</td></tr><tr><td>Joaquim</td><td><span data-option="754491fc28db44f0bb97560412fb28a8">Male</span></td><td>false</td></tr></tbody></table>

#### Cantonese (zh-HK) (2 total)

<table><thead><tr><th width="137">Voice name</th><th width="95">Gender<select><option value="aa03a7fc1ed542e4936ab786db5680f3" label="Male" color="blue"></option><option value="4c6e7d0817634496bc5c560846797d72" label="Female" color="blue"></option></select></th><th width="137" data-type="checkbox">Multilingual?</th><th>Additional languages<select multiple><option value="5b5f7348157145b1803649d497aaeab0" label="en-GB" color="blue"></option><option value="16fa97e9bf5b4389bd79045b9ef816ec" label="en-US" color="blue"></option><option value="4eaff1c22d004634baa000e3f48b9a66" label="es-ES" color="blue"></option><option value="d3767f9b21c440838bd35c4e6dc79ea8" label="es-MX" color="blue"></option><option value="5dc70dd468d5452e9bdf4e8c6077e27b" label="de-DE" color="blue"></option><option value="3b6f09e26c14423f9df12dbd6cb1d076" label="fr-CA" color="blue"></option><option value="2ecdde1e5b0d467da584f2e4bcab2d66" label="fr-FR" color="blue"></option><option value="20fb27b19f5a465db762f6db06705e45" label="it-IT" color="blue"></option></select></th></tr></thead><tbody><tr><td>Aasing-ml</td><td><span data-option="aa03a7fc1ed542e4936ab786db5680f3">Male</span></td><td>true</td><td><span data-option="5b5f7348157145b1803649d497aaeab0">en-GB</span></td></tr><tr><td>Sinji-ml</td><td><span data-option="4c6e7d0817634496bc5c560846797d72">Female</span></td><td>true</td><td><span data-option="5b5f7348157145b1803649d497aaeab0">en-GB</span></td></tr></tbody></table>

#### Mandarin (zh-CN) (2 total)

<table><thead><tr><th width="137">Voice name</th><th width="91">Gender<select><option value="4e25204465f74a2984a21a12fc57c249" label="Male" color="blue"></option><option value="e594cf73f6234bfc9fb559ace1dd2867" label="Female" color="blue"></option></select></th><th width="138" data-type="checkbox">Multilingual?</th><th>Additional languages<select multiple><option value="a0ebcc5a4ec64ed1a39aa6351ad47f5f" label="en-GB" color="blue"></option><option value="d5528b35a103465e9558b2e5c9e2e04d" label="en-US" color="blue"></option><option value="60e1795b8d2144578a7295b444e23f88" label="es-ES" color="blue"></option><option value="47bbcd5334cd437f873569f6e59d44e4" label="es-MX" color="blue"></option><option value="66fcbafa9edc40cea81daf5a4d0566ef" label="de-DE" color="blue"></option><option value="adbb428d450e48beb5cb6d607223f865" label="fr-CA" color="blue"></option><option value="7843270f85c643d0a066c93b2cae23f7" label="fr-FR" color="blue"></option><option value="df864907a05b41dfa0f58fe5799799d8" label="it-IT" color="blue"></option></select></th></tr></thead><tbody><tr><td>Binbin-ml</td><td><span data-option="4e25204465f74a2984a21a12fc57c249">Male</span></td><td>true</td><td><span data-option="d5528b35a103465e9558b2e5c9e2e04d">en-US</span></td></tr><tr><td>Lili-ml</td><td><span data-option="e594cf73f6234bfc9fb559ace1dd2867">Female</span></td><td>true</td><td><span data-option="d5528b35a103465e9558b2e5c9e2e04d">en-US</span></td></tr></tbody></table>

### Multilingual voices

If selecting a multilingual voice, you can specify one of the voice's other languages as follows:

1. Specify a voice with `<voice>` and `name`, then
2. Specify one of the voice's other languages with  the `<speak>` and the `xml:lang` attribute.

*Example:*

```
<speak xml:lang="fr-CA">
<voice name="Ava-ml">
```

{% hint style="warning" %}
**About `xml:lang`**&#x20;

Vocalizer 7 does not accept the `xml:lang` attribute for the `<voice>` tag. If used, the TTS engine will use a default voice instead of the one specified.

We recommend using the `<speak>` or `<vxml>` tags with the `xml:lang` attribute instead. See [Recommended best practices](/dev/developer-reference/tts-engine-characteristics/vocalizer-7.md#recommended-best-practices) for more info.
{% endhint %}

### `variant`

This attribute is **not supported**.

### `xml:lang`

This attribute is **not supported.**

**Notes:** Avoid using the `xml:lang` attribute in the `<voice>` tag when setting the TTS language. Vocalizer 7 does not accept it. It will cause the TTS engine to use the default voice instead of the one specified.

Instead, use the `xml:lang` attribute of the `<speak>` or `<vxml>` tags. See [Recommended best practices](/dev/developer-reference/tts-engine-characteristics/vocalizer-7.md#recommended-best-practices) for more info.

## Additional SSML tag details

Except where noted below, Vocalizer 7 supports all SSML tags and attributes as described in the [W3C SSML 1.0 Recommendation](https://www.w3.org/TR/2004/REC-speech-synthesis-20040907/).

This section focuses on exceptions and additional details specific to Vocalizer, including the following:

* Vocalizer-specific tag and/or attribute behavior.
* which tags and/or attributes are unsupported.
* additional Vocalizer-specific features like SSML extensions.

### Built-in, unique SSML extensions

Vocalizer 7 features the following added extensions to SSML:

* [`<audio>`](#less-than-audio-greater-than): Supports four (4) additional attributes to manage internet fetching:
  * `fetchtimeout`: Time to attempt to open and read the audio document.
  * `maxage`: Value for the HTTP 1.1 cache-control max-age directive.
  * `maxstale`: Value for the HTTP 1.1 ache-control max-stale directive.
  * `fetchhint`: Specify `"prefetch"` to allow prefetching the audio content or `"safe"` (the default) to follow HTTP 1.1 caching semantics.
* [`<phoneme>`](#less-than-phoneme-greater-than): Supports specifying L\&H+ phoneme strings and phoneme strings in the IPA alphabet.
* [`<speak>`](#less-than-speak-greater-than), [`<s>`](#less-than-s-greater-than), and [`<p>`](#less-than-p-greater-than): Each tag supports an optional `ssft-domaintype` attribute for activating an ActivePrompt domain.
* [`<prompt>`](#less-than-prompt-greater-than): Supports specifying ActivePrompt IDs.

For more details on these extensions, see the relevant tag's sections below.

### Vocalizer SSML tag reference table

The following table summarizes details about SSML tags described in this section.

<table><thead><tr><th width="181">&#x3C;Tag> name</th><th width="191">Vocalizer 7 support<select multiple><option value="add6725dc6714866819982a425a82298" label="Supported" color="blue"></option><option value="0c7590404e7c4418a7b9f944c3cd907e" label="Partial support" color="blue"></option><option value="c79fd70ddc634c98ba2d01e571353f82" label="Not supported" color="blue"></option><option value="6383866ca6734cdcbafc6cf642502e0e" label="Has SSML Extensions" color="blue"></option></select></th><th>Notes</th></tr></thead><tbody><tr><td><code>&#x3C;audio></code></td><td><span data-option="add6725dc6714866819982a425a82298">Supported, </span><span data-option="6383866ca6734cdcbafc6cf642502e0e">Has SSML Extensions</span></td><td>Has four Vocalizer-specific attributes for use. See the <code>&#x3C;audio></code> section for details.</td></tr><tr><td><code>&#x3C;break></code></td><td><span data-option="add6725dc6714866819982a425a82298">Supported</span></td><td>See the <code>&#x3C;break></code> section for details on handling its <code>strength</code> attribute.</td></tr><tr><td><code>&#x3C;emphasis></code></td><td><span data-option="0c7590404e7c4418a7b9f944c3cd907e">Partial support</span></td><td>The <code>level</code> attribute is supported, but the <code>level="none"</code> setting is not.</td></tr><tr><td><code>&#x3C;lexicon></code></td><td><span data-option="add6725dc6714866819982a425a82298">Supported</span></td><td>See the <code>&#x3C;lexicon></code> section for details on handling this tag and its attributes.</td></tr><tr><td><code>&#x3C;meta></code></td><td><span data-option="0c7590404e7c4418a7b9f944c3cd907e">Partial support</span></td><td>The <code>http-equiv</code> attribute is not supported.</td></tr><tr><td><code>&#x3C;p></code></td><td><span data-option="add6725dc6714866819982a425a82298">Supported, </span><span data-option="6383866ca6734cdcbafc6cf642502e0e">Has SSML Extensions</span></td><td>Supports an optional <code>ssft-domaintype</code> attribute. See the <code>&#x3C;p></code> section for details.</td></tr><tr><td><code>&#x3C;phoneme></code></td><td><span data-option="add6725dc6714866819982a425a82298">Supported, </span><span data-option="6383866ca6734cdcbafc6cf642502e0e">Has SSML Extensions</span></td><td>Supports specifying phoneme strings. See the <code>&#x3C;phoneme></code> section for details.</td></tr><tr><td><code>&#x3C;prompt></code></td><td><span data-option="add6725dc6714866819982a425a82298">Supported</span></td><td>Supports specifying ActivePrompt IDs. See the <code>&#x3C;prompt></code> section for details.</td></tr><tr><td><code>&#x3C;prosody></code></td><td><span data-option="0c7590404e7c4418a7b9f944c3cd907e">Partial support</span></td><td>Vocalizer ignores the use of <code>duration</code>, <code>pitch</code>, <code>pitch-range</code>, and <code>contour</code> attributes. See the <code>&#x3C;prosody></code> section for details on handling the volume attribute.</td></tr><tr><td><code>&#x3C;s></code></td><td><span data-option="add6725dc6714866819982a425a82298">Supported, </span><span data-option="6383866ca6734cdcbafc6cf642502e0e">Has SSML Extensions</span></td><td>Supports an optional <code>ssft-domaintype</code> attribute. <br>See the<code>&#x3C;s></code> section for details.</td></tr><tr><td><code>&#x3C;speak></code></td><td><span data-option="add6725dc6714866819982a425a82298">Supported, </span><span data-option="6383866ca6734cdcbafc6cf642502e0e">Has SSML Extensions</span></td><td>Supports an optional <code>ssft-domaintype</code> attribute. See the <code>&#x3C;speak></code> section for details.</td></tr></tbody></table>

### `<audio>`

**Vocalizer 7 SSML extensions:** Supports four Vocalizer-added attributes to manage internet fetching:

#### `fetchtimeout`&#x20;

The time to attempt to open and read the audio document. The value must be an unsigned integer with a mandatory suffix: `"s"` for seconds, `"ms"` for milliseconds.

*Example:* `"3s"`, `"400ms"`

#### `maxage`

Value for the HTTP 1.1 cache-control max-age directive. This specifies the application is willing to accept a cached copy of the audio document no older than this value.&#x20;

In most cases, this attribute should not be present, thus allowing the origin server to control cache expiration.

The value must be an unsigned integer to specify the number of seconds. The value must have \
**no** suffix (e.g., no `"s"` or `"ms"` included). A value of `0` may be used to force re-validating the cached copy with the origin server.

#### `maxstale`

Value for the HTTP 1.1 cache-control max-stale directive. This specifies the client is willing to accept a cached copy that is expired by up to this value *past* the expiration time specified by the origin server.

The value must be an unsigned integer to specify the number of seconds. The value must have \
**no** suffix (e.g., no `"s"` or `"ms"` included).

#### `fetchhint`

&#x20;`"prefetch"` to allow prefetching the audio content, `"safe"` (the default) to follow HTTP 1.1 caching semantics.

Vocalizer allows this attribute, but currently does not behave differently for `"prefetch"` mode.

### `<break>`

#### `strength`

This attribute is **supported**.

**Notes:**

* The following table describes the pause duration for each `strength` value:

| Value      | Pause duration (milliseconds) |
| ---------- | ----------------------------- |
| `x-weak`   | 100 ms                        |
| `weak`     | 200 ms                        |
| `medium`   | 400 ms                        |
| `strong`   | 700 ms                        |
| `x-strong` | 1200 ms                       |
| `none`     | 0 ms\*                        |

* **\***&#x54;he `<break strength="none">` setting only has an audible effect when the TTS engine would have inserted a sentence break without an explicit tag.
* When using **both** the `time` and the `strength` attributes, the `time` attribute gets precedence.

### `<emphasis>`

#### `level`

This attribute is **supported**.

**Notes:** The `level="none"` setting is **not supported**. Vocalizer may ignore it to produce optimal natural speech output.

### `<lexicon>`

**Notes:**

* Vocalizer supports loading user dictionaries, user rulesets, and ActivePrompt databases through this element.
* Vocalizer parses all elements and loads tuning data before starting text to speech conversion. This tuning data is unloaded when the last sample buffer is generated, or when the TTS process is stopped, so elements only affect the current synthesis request.
* Refer to the [W3C SSML 1.0 specification](https://www.w3.org/TR/2004/REC-speech-synthesis-20040907/) for more information.

**`type`**

This attribute is **supported** and **optional**.

**Notes:** If used, the `type` attribute overrides the MIME content type returned by the web server (for *http* access) or extension mapping rules (for local file access)

Valid `type` values are as follows:

* `application/edct-bin-dictionary` for a Vocalizer binary format user dictionary.
* `application/x-vocalizer-rettt+text` for a text user ruleset.
* `application/x-vocalizer-rettt+bin` for a binary user ruleset.
* `application/x-vocalizer-activeprompt-db` for an ActivePrompt database, optionally with `":mode=automatic"` appended to override its default matching mode to automatic.

### `<meta>`

#### **`http-equiv`**

This attribute is **not supported**.

### `<p>`

**Vocalizer 7 SSML extensions:** This tag supports an optional `ssft-domaintype` attribute for activating an ActivePrompt domain, equivalent to the \<ESC>\domain\native control sequence. The attribute value is the ActivePrompt domain name.

### `<phoneme>`

**Vocalizer 7 SSML extensions:** This tag supports specifying L\&H+ phoneme strings when the alphabet attribute is set to `"x-l&h+"`, and phoneme strings in the IPA alphabet when the alphabet attribute is set to `"ipa"`.&#x20;

Note that the ampersand is a reserved XML character, so in an SSML document, the L\&H+ alphabet needs to be specified with `alphabet="x-l&amp;h+"`. Phoneme strings in the IPA alphabet should also use the necessary escape characters, as they cannot be expressed otherwise.

### `<prompt>`

**Notes:** When using multiple `<prompt>` tags with the `bargein` attribute, prompt queueing and playback will function differently depending on whether `bargein` is allowed or disallowed.

See [Audio Formats and Prompts](https://docs.plumvoice.com/dev/developer-reference/audio-formats-and-prompts#prompt_queuing_and_barge-in_behavior) for details.

**Vocalizer 7 SSML extensions:** This tag supports specifying ActivePrompt IDs, equivalent to the \<ESC>\domain\native control sequence. The `"id"` attribute is required, and specifies the ActivePrompt in *`<domain>`*`:<prompt>` format.

The content of the element specifies fallback text that is only spoken if the ActivePrompt cannot be found (similar to SSML `<audio>`).

### `<prosody>`

**Notes:** The `duration`, `pitch`, `pitch-range`, and `contour` attributes are ignored.

**`volume`**

This attribute is **supported**.

**Notes:** The default value for this attribute is 100. The scale is amplitude linear. Although SSML specifies a range of 0-100, Vocalizer extends this range to 200 with the values above 100 reached via relative changes or the values `"loud"` and `"x-loud"`.

The following table maps SSML symbolic values to SSML volume values and actual output.

| SSML volume value | Symbolic value | Amplitude amplification factor | Loudness in dB |
| ----------------- | -------------- | ------------------------------ | -------------- |
| 0                 | `silent`       | 0.00                           | ¥ dB           |
| 18                | `x-soft`       | 0.18                           | -15.0 dB       |
| 50                | `soft`         | 0.50                           | -6.0 dB        |
| 100               | `medium`       | 1.00                           | 0.0 dB         |
| (141)             | `loud`         | 1.41                           | +3.0 dB        |
| (200)             | `x-loud`       | 2.00                           | +6.0 dB        |

This second, broader table maps SSML `volume` values to Vocalizer `volume` values:

| SSML volume value | Amplitude amplification factor | Loudness in dB | Vocalizer volume value |
| ----------------- | ------------------------------ | -------------- | ---------------------- |
| 0                 | 0.00                           | ¥ dB           | 0                      |
| 10                | 0.10                           | -20.0 dB       | 13                     |
| 20                | 0.20                           | -14.0 dB       | 33                     |
| 30                | 0.30                           | -10.5 dB       | 45                     |
| 40                | 0.40                           | -8.0 dB        | 53                     |
| 50                | 0.50                           | -6.0 dB        | 60                     |
| 60                | 0.60                           | -4.4 dB        | 65                     |
| 70                | 0.70                           | -3.1 dB        | 70                     |
| 80                | 0.80                           | -1.9 dB        | 74                     |
| 90                | 0.90                           | -0.9 dB        | 77                     |
| 100               | 1.00                           | 0.0 dB         | 80                     |
| (141)             | 1.41                           | +3.0 dB        | 90                     |
| (200)             | 2.00                           | +6.0 dB        | 100                    |

### `<s>`

**Vocalizer 7 SSML extensions:** This tag supports an optional `ssft-domaintype` attribute for activating an ActivePrompt domain, equivalent to the \<ESC>\domain\native control sequence. The attribute value is the ActivePrompt domain name.

### `<speak>`

**Vocalizer 7 SSML extensions:** This tag supports an optional `ssft-domaintype` attribute for activating an ActivePrompt domain, equivalent to the \<ESC>\domain\native control sequence. The attribute value is the ActivePrompt domain name.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.plumvoice.com/dev/developer-reference/tts-engine-characteristics/vocalizer-7/vocalizer-7-less-than-voice-greater-than-tag-and-ssml-support.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
