> 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/cepstral-engine.md).

# Cepstral Engine

## Voice Tag Attributes <a href="#voice_tag_attributes" id="voice_tag_attributes"></a>

### **\<gender>**

This attribute is supported.

{% tabs %}
{% tab title="AT\&T Natural Voices, Cepstral Engine" %}
This attribute works fine for these speech engines.
{% endtab %}

{% tab title="RealSpeak Engine" %}
The gender attribute should not be used if the name attribute is already being used for the \<voice> tag.
{% endtab %}

{% tab title="Amazon Polly" %}
This attribute is not supported.
{% endtab %}
{% endtabs %}

### **\<age>**

This attribute looks for an exact match, instead of looking for the closest match. For example, `<voice age=“10”>` will only select a ten-year-old voice, or fall back to the default voice if one is not found.

### **\<name>**

{% hint style="info" %}
If you have an onsite system, please contact your sales account manager for which of these voices you have installed on your server.
{% endhint %}

The following names are supported by their respective engines:

{% tabs %}
{% tab title="Cepstral Engine" %}

| Language                  | Name        | Gender | US | UK |
| ------------------------- | ----------- | ------ | -- | -- |
| American English (en\_us) | David       | male   | x  | x  |
| American English (en\_us) | William     | male   | x  | x  |
| American English (en\_us) | Diane       | female | x  | x  |
| Spanish (es\_us)          | Miguel      | male   | x  | x  |
| Spanish (es\_us)          | Marta       | female | x  | x  |
| British English (en\_uk)  | Lawrence    | male   | x  | x  |
| British English (en\_uk)  | Millie      | female | x  | x  |
| French (fr\_fr)           | Jean-Pierre | male   | x  | x  |
| French (fr\_fr)           | Isabelle    | female | x  | x  |
| German (de\_de)           | Matthais    | male   | x  | x  |
| German (de\_de)           | Katrin      | female | x  | x  |
| Italian (it\_it)          | Vittoria    | female | x  | x  |

{% hint style="info" %}
If no name is specified, **Diane** is the default voice for the US Cepstral Engine while **Millie** is the default voice for the UK Cepstral Engine.
{% endhint %}
{% endtab %}
{% endtabs %}

### \<speak>

The `<speak>` tag should be used to specify the desired language through the attribute xml:lang=”*lg-CN*”, where *lg-CN* is the language-country pair specified in the Language column from th**e** table of supported languages.

Please note that each voice has an associated language. Selecting a language that is not associated with the voice will result in unpredictable behavior; however, in many cases, you will hear the language the text was written in accented by that voice’s associated language.

### \<voice>

The `<voice>` tag should be used to specify the desired voice through the attribute name=”*name*”, where *name* is the voice specified in the Name/ID column for the table of supported voices.

If another voice is desired, it should specified using the `<speak>` and `<voice>` tags as follows within the prompt block:

```markup
<?xml version="1.0"?>
<vxml version="2.0">
 <form>
  <block>
   <prompt>
    <speak xml:lang="es-MX">
    <voice name="Mia" variant="1">
     Hello, thank you for calling Plum Voice.
    </voice>
    </speak>
   </prompt>
  </block>
 </form>
</vxml>
```

To sequentially use multiple languages and voices within a `<prompt>` block, use multiple `<speak>` and `<voice>` blocks. For example:

```markup
<?xml version="1.0"?>
<vxml version="2.0">
 <form>
  <block>
   <prompt>
    <speak xml:lang="en-US">
    <voice name="Joanna" variant="2">
     Press one to continue in English.
    </voice>
    </speak>
    <speak xml:lang="es-US">
    <voice name="Lupe" variant="2">
     Presione dos para continuar en español.
    </voice>
    </speak> 
    <speak xml:lang="fr-FR">
    <voice name="Celine" variant="standard">
     Appuyez sur trois pour continuer en français.
    </voice>
    </speak>
   </prompt>
  </block>
 </form>
</vxml>
```

### **\<xml:lang>**

{% hint style="info" %}
If you have an onsite system, please contact your sales account manager for which of these languages you have installed on your server.
{% endhint %}

{% tabs %}
{% tab title="Cepstral Engine" %}

| Language         | Code Value | US | UK |
| ---------------- | ---------- | -- | -- |
| American English | en\_us     | x  | x  |
| {% endtab %}     |            |    |    |
| {% endtabs %}    |            |    |    |

Use `<voice xml:lang=“en_us”>` to hear an American speaker.

### SSML Tags

An “x” marks that the Child Tag is supported by the speech engine. An asterisk (\*) means that there are notes to explain the difference between the speech engines.

| Child Tag      | Cepstral Engine |
| -------------- | --------------- |
| \<break>\*     | x               |
| \<emphasis>    |                 |
| \<enumerate>   | x               |
| \<mark>        |                 |
| \<paragraph>\* | x               |
| \<phoneme>\*   |                 |
| \<prosody>\*   | x               |
| \<say-as>\*    | x               |
| \<sentence>\*  | x               |
| \<speak>       | x               |
| \<sub>         | x               |
| \<value>       | x               |

### \<break> <a href="#break" id="break"></a>

The “size” attribute of the break element does not work for this engine.

### \<paragraph> <a href="#paragraph" id="paragraph"></a>

The “xml:lang” attribute does not work with the paragraph element.

### \<phoneme> <a href="#phoneme" id="phoneme"></a>

*Cepstral and RealSpeak Engine*:

This element is not supported.

### \<prosody> <a href="#prosody" id="prosody"></a>

The prosody element works as expected for the Cepstral Engine.&#x20;

The “pitch” attribute only works for the Cepstral Engine.&#x20;

Note that you cannot specify the “rate” value as an integer using this engine, but percentages and the preset rates (“fast”, “medium”, “slow”, or “default”) work as expected.

### \<say-as> <a href="#say-as" id="say-as"></a>

The table below shows the \<say-as> tag types and the speech engines that support them. An “x” marks that the \<say-as> tag is supported by the speech engine.

| Say-as Tag Types  | Cepstral Engine |
| ----------------- | --------------- |
| acronym\*         | x               |
| address           | x               |
| number            | x               |
| number: cardinal  | x               |
| number: ordinal   | x               |
| number: digits    | x               |
| number: decimal   | x               |
| number: fraction  | x               |
| number: telephone | x               |
| date              | x               |
| date:dmy\*        | x               |
| date:mdy\*        | x               |
| date:ymd\*        | x               |
| date:ym\*         | x               |
| date:my\*         | x               |
| date:md\*         | x               |
| date:dm\*         | x               |
| date:y\*          | x               |
| date:m            | x               |
| date:d            |                 |
| date:day          |                 |
| digits            |                 |
| duration          |                 |
| duration:h        |                 |
| duration:hm       |                 |
| duration:m        |                 |
| duration:ms       |                 |
| duration:s        |                 |
| measure\*         | x               |
| name              | x               |
| net:email         | x               |
| net:uri\*         | x               |
| time\*            | x               |
| time:h            |                 |
| time:hm           | x               |
| time:hms          |                 |
| spell             |                 |
| telephone\*       | x               |
| currency\*        | x               |

acronym: The acronym tag type works fine in the US, but does not work in the UK.&#x20;

date:mdy: The preferred format of this tag is “month abbreviation day, year”. For example, to return “December 25, 2001”, you would type “Dec 25, 2001”. You can also use the “month/day/year” format such as “12/25/01” for the US, but this format will not work in the UK.

date:dmy: The preferred format of this tag is “day month abbreviation, year”. For example, to return “December 25, 2001”, you would type “25 Dec, 2001”.

date:ymd: The preferred format for this tag is “year month abbreviation day”. For example, to return “December 25, 2001”, you would type “2001, Dec 25”.

date:my: The format of this tag should be “month abbreviation, year”. For example, to return “December, 2001”, you would type “Dec, 2001”.

date:md: The preferred format for this tag is “month abbreviation day”. For example, to return “December 25”, you would type “Dec 25”. You can also use the “month/day” format such as “12/25” for the US, but this format will not work in the UK.

date:dm: The preferred format for this tag is “day month abbreviation”. For example, to return “December 25”, you would type “25 Dec”.

date:ym: The preferred format for this tag is “year/month”. For example, to return “December 2001”, you would type “2001/12”.

date:y: The date:y tag type works fine in the US, but does not work in the UK.

measure: For Cepstral either the format 5'4“ or 5m will work.

net:uri: For Cepstral, either the format [http://www.examplewebsite.com](http://www.examplewebsite.com/) or [www.examplewebsite.com](http://www.examplewebsite.com/) can be used.

time: The time tag type works fine in the US, but does not work in the UK.

telephone: The telephone tag type works fine in the US, but does not work in the UK.

The format for telephone numbers is: 123-456-7890

The format for telephone extensions is: 123-456-7890 ext1234

{% hint style="info" %}
**NOTE**: Cepstral will read back the last example as, “one two three four five six seven eight nine zero, extension twelve thirty-four.” To account for this, insert commas between the numbers after extension: 123-456-7890 ext1,2,3,4.
{% endhint %}

currency: When using the say-as type, currency, for AT\&T Natural Voices with a Spanish TTS voice, please keep in mind that you will need to format the currency to $\<dollar amount>,\<cents amount>. The currency amount will not be pronounced correctly if you format it as $\<dollar amount>.\<cents amount>.

### \<sentence> <a href="#sentence" id="sentence"></a>

&#x20;The xml:lang attribute does not work with the sentence element.
