> 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.


---

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