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

# RealSpeak Engine

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

### **\<gender>**

The gender attribute should not be used if the name attribute is already being used for the `<voice>` tag.

### **\<age>**

This attribute is not supported.

### **\<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="RealSpeak Engine" %}

| Language                     | Name      | Gender | US | UK |
| ---------------------------- | --------- | ------ | -- | -- |
| American English (en-US)     | Tom       | male   | x  | -  |
| American English (en-US)     | Jennifer  | female | x  | -  |
| American English (en-US)     | Jill      | female | x  | -  |
| American English (en-US)     | Samantha  | female | x  | -  |
| Mexican Spanish (es-MX)      | Javier    | male   | x  | -  |
| Mexican Spanish (es-MX)      | Paulina   | female | x  | -  |
| British English (en-GB)      | Daniel    | male   | x  | x  |
| British English (en-GB)      | Emily     | female | x  | x  |
| Australian English (en-AU)   | Lee       | male   | x  | -  |
| Australian English (en-AU)   | Karen     | female | x  | -  |
| Canadian French (fr-CA)      | Felix     | male   | x  | -  |
| Canadian French (fr-CA)      | Julie     | female | x  | -  |
| Portuguese (pt-PT)           | Madalena  | female | x  | -  |
| Brazilian Portuguese (pt-BR) | Raquel    | female | x  | -  |
| German (de-DE)               | Yannick   | male   | -  | x  |
| German (de-DE)               | Steffi    | female | x  | x  |
| Spanish (es-ES)              | Diego     | male   | -  | x  |
| Spanish (es-ES)              | Isabel    | female | -  | x  |
| French (fr-FR)               | Sebastien | male   | -  | x  |
| French (fr-FR)               | Virginie  | female | -  | x  |
| Italian (it-IT)              | Silvia    | female | x  | x  |
| Dutch (nl-NL)                | Claire    | female | x  | x  |
| Belgian Dutch (nl-BE)        | Ellen     | female | -  | x  |
| Mandarin Chinese (zh-CN)     | Mei-Ling  | female | x  | -  |

{% hint style="info" %}
If no name is specified, **Jill** is the default voice for the US Realspeak Engine while **Emily** is the default voice for the UK Realspeak Engine.
{% endhint %}

Please contact your account manager if you want any of the following Realspeak voices:

| Language                    | Name     | Gender |
| --------------------------- | -------- | ------ |
| Dutch (da-DK)               | Nanna    | female |
| Italian (it-IT)             | Paolo    | male   |
| Indian English (en-IN)      | Sangeeta | female |
| Spanish (es-ES)             | Monica   | female |
| Basque (eu-ES)              | Arantxa  | female |
| Japanese (ja-JP)            | Kyoko    | female |
| Korean (ko-KR)              | Narae    | female |
| Norwegian (no-NO)           | Nora     | female |
| Polish (pl-PL)              | Agata    | female |
| Russian (ru-RU)             | Katerina | female |
| Swedish (sv-SE)             | Ingrid   | female |
| Hong Kong Cantonese (zh-HK) | Sin-ji   | female |
| {% endtab %}                |          |        |
| {% endtabs %}               |          |        |

**T**he case-sensitive language code attribute MUST be used along with its corresponding xml:lang attribute if the language is not en-US (American English). For example, to hear the Mexican Spanish voice “Javier”, one must type the following:

```markup
<speak xml:lang="es-MX"><voice name="Javier">
¿A ti te gusta el queso fresco?
</voice></speak>
```

{% hint style="warning" %}
**NOTE**: For **US speech recognition**, we currently only offer American English speech recognition, Spanish speech recognition, and French-Canadian speech recognition for Plum DEV. If you are interested in any other speech recognition languages, please contact your sales representative.
{% endhint %}

{% hint style="warning" %}
**NOTE**: For **UK speech recognition**, we currently only offer American English speech recognition and British English speech recognition for Plum DEV. If you are interested in any other speech recognition languages, please contact your sales representative.
{% endhint %}

### \<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 the 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="RealSpeak Engine" %}

| Language         | Code Value | US | UK |
| ---------------- | ---------- | -- | -- |
| American English | en-US      | x  | -  |
| Mexican Spanish  | es-MX      | x  | -  |
| Canadian French  | fr-CA      | x  | -  |
| German           | de-DE      | x  | x  |
| British English  | en-GB      | x  | x  |
| French           | fr-FR      | -  | x  |
| Spanish          | es-ES      | -  | x  |
| Belgian Dutch    | nl-BE      | -  | x  |
| Dutch            | nl-NL      | x  | x  |

Please contact your account manager if you want any of the following Realspeak languages:

| Language             | Code Value |
| -------------------- | ---------- |
| Danish               | da-DK      |
| Swiss German         | de-CH      |
| Australian English   | en-AU      |
| Indian English       | en-IN      |
| Basque               | eu-ES      |
| Belgian French       | fr-BE      |
| Swiss French         | fr-CH      |
| Swiss Italian        | it-CHC     |
| Italian              | it-IT      |
| Japanese             | ja-JP      |
| Korean               | ko-KR      |
| Norwegian            | no-NO      |
| Polish               | pl-PL      |
| Brazilian Portuguese | pt-BR      |
| Portuguese           | pt-PT      |
| Russian              | ru-RU      |
| Swedish              | sv-SE      |
| Mandarin Chinese     | zh-CN      |
| Hong Kong Cantonese  | zh-HK      |
| {% endtab %}         |            |
| {% endtabs %}        |            |

Note that different syntax is used for the xml:lang attribute for the RealSpeak Engine. For example, to hear a French speaker you need to use the case-sensitive county code, i.e.,`<voice xml:lang=“fr-FR”>`.&#x20;

### 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      | RealSpeak Engine |
| -------------- | ---------------- |
| \<break>\*     | x                |
| \<emphasis>    |                  |
| \<enumerate>   | x                |
| \<mark>        |                  |
| \<paragraph>\* | x                |
| \<phoneme>\*   | x                |
| \<prosody>\*   | x                |
| \<say-as>\*    | x                |
| \<sentence>\*  | x                |
| \<speak>       | x                |
| \<sub>         | x                |
| \<value>       | x                |

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

This works as expected.

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

This works as expected.

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

***Phoneme Set for Nuance RealSpeak***:

{% tabs %}
{% tab title="US English" %}

| Phoneme      | Example | Transcription     |
| ------------ | ------- | ----------------- |
| i            | feel    | ' f i l           |
| I            | fill    | ' f I l           |
| E            | fell    | ' f E l           |
| @            | cat     | ' k @ t           |
| A            | got     | ' g A t           |
| ^            | cut     | ' k ^ t           |
| O            | fall    | ' f O l           |
| U            | full    | ' f U l           |
| u            | fool    | ' f u l           |
| $            | allow   | $ . ' l a+U       |
| E0           | curt    | ' k E0 R= t       |
| O            | door    | ' d O R=          |
| e+I          | fail    | ' f e+I l         |
| O+I          | foil    | ' f O+I l         |
| a+I          | file    | ' f a+I l         |
| a+U          | foul    | ' f a+U l         |
| o+U          | goal    | ' g o+U l         |
| j            | yes     | ' j E s           |
| w            | why     | ' w a+I           |
| R=           | rip     | ' R= I p          |
| l            | lip     | ' l I p           |
| p            | pit     | ' p I t           |
| t            | top     | ' t A p           |
| k            | cat     | ' k @ t           |
| b            | bit     | ' b I t           |
| d            | dig     | ' d I g           |
| g            | got     | ' g A t           |
| ?            | eat     | ' ? i t           |
| f            | fat     | ' f @ t           |
| T            | thin    | ' T i n           |
| s            | seal    | ' s i l           |
| S            | ship    | ' S i p           |
| v            | vat     | ' v @ t           |
| D            | then    | ' D e n           |
| z            | zeal    | ' z i l           |
| Z            | leisure | ' l iZ $ R=       |
| h            | hat     | ' h @ t           |
| t+S          | catch   | ' k @ t+S         |
| d+Z          | journey | ' d+Z E0 R= . n i |
| m            | man     | ' m @ n           |
| n            | nut     | ' n ^ t           |
| nK           | ring    | ' R= I nK         |
| r6           | butter  | ' b ^ . r6 $ R=   |
| i0           | sanity  | s @ . n i0 . t i  |
| {% endtab %} |         |                   |

{% tab title="Mexican Spanish (es-MX)" %}

| Phoneme      | Example    | Transcription         |
| ------------ | ---------- | --------------------- |
| i            | vivo       | ' b i . B o           |
| e            | peso       | ' p e . s o           |
| a            | casa       | ' k a . s a           |
| o            | bobo       | ' b o . B o           |
| u            | cuñado     | k u . ' n\~ a . D o   |
| p            | pepa       | ' p e . p a           |
| b            | cambio     | ' k a m . b j o       |
| t            | tía        | ' t i . a             |
| d            | dedo       | ' d e . D o           |
| k            | kilo       | ' k i . l o           |
| g            | hangar     | a n . ' g a r6        |
| m            | amo        | ' a . m o             |
| n            | nene       | ' n e . n e           |
| n\~          | niño       | ' n i . n\~ o         |
| nK           | cinco      | ' s i nK . k o        |
| r            | carro      | ' k a . r o           |
| r6           | caro       | ' k a . r6 o          |
| B            | bobo       | ' b o . B o           |
| f            | fin        | ' f i n               |
| D            | dedo       | ' d e . D o           |
| s            | seso       | ' s e . s o           |
| z            | desde      | ' d e z . D e         |
| J            | mayo       | ' m a . J o           |
| x            | ajo        | ' a . x o             |
| G            | agua       | ' a . G w a           |
| j            | ciego      | ' T j e . G o         |
| w            | cuenta     | ' k w e n . t a       |
| l            | lata       | ' l a . t a           |
| t+S          | chico      | ' t+S i . k o         |
| d+Z          | yo         | ' d+Z o               |
| S            | Washington | ' w a . S i n . t o n |
| {% endtab %} |            |                       |

{% tab title="Canadian French (fr-CA)" %}

| Phoneme      | Example    | Transcription                 |
| ------------ | ---------- | ----------------------------- |
| i            | minute     | m i . ' n Y t                 |
| I            | pipe       | ‘ p I p                       |
| e            | été        | e . ' t e                     |
| E            | très       | ' t R E                       |
| a            | bas        | ' b a                         |
| A            | pâte       | ' p A t                       |
| O            | morte      | ' m O R t                     |
| o            | beau       | ' b o                         |
| u            | nous       | ' n u                         |
| U            | coupe      | ' k U p                       |
| y            | fût        | ' f y                         |
| Y            | jupe       | ' Z Y p                       |
| e=           | deux       | ' d e=                        |
| E=           | soeur      | ' s E= R                      |
| $            | le         | ' l $                         |
| e%\~         | bain       | ' b e%\~                      |
| @%\~         | blanc      | ' b l @%\~                    |
| o%\~         | bon        | ' b o%\~                      |
| e=%\~        | un         | ' e=%\~                       |
| p            | pas        | ' p A                         |
| b            | bas        | ' b A                         |
| t            | tas        | ' t A                         |
| t\&s         | tigre      | ' t\&s i . g R $              |
| d            | do         | ' d o                         |
| d\&z         | rendu      | R @%\~ . ' d\&z y             |
| k            | qui        | ' k i                         |
| g            | gomme      | ' g O m                       |
| ?            | antiharpon | @%\~ . t i . ? a R . ' p o%\~ |
| f            | faim       | ' f e%\~                      |
| v            | vol        | ' v O l                       |
| s            | sac        | ' s a k                       |
| z            | zéro       | z e . ' R o                   |
| S            | charme     | ' S a R . m $                 |
| Z            | jardin     | Z a R . ' d e%\~              |
| m            | mot        | ' m o                         |
| n            | nous       | ' n u                         |
| n\~          | agneau     | a . ' n\~ o                   |
| nK           | smoking    | s m o . ' k i nK              |
| l            | la         | ' l a                         |
| R            | rond       | ' R o%\~                      |
| j            | briller    | b r i . ' j e                 |
| w            | oui        | ' w i                         |
| h\\          | ui         | l h\ i                        |
| {% endtab %} |            |                               |

{% tab title="French (fr-FR)" %}

| Phoneme       | Example    | Transcription                 |
| ------------- | ---------- | ----------------------------- |
| i             | minute     | m i . ' n y t                 |
| e             | été        | e . ' t e                     |
| E             | très       | ' t R E                       |
| a             | bas        | ' b a                         |
| A             | pâte       | ' p A t                       |
| O             | morte      | ' m O R t                     |
| o             | beau       | ' b o                         |
| u             | nous       | ' n u                         |
| y             | fût        | \` f y                        |
| e=            | deux       | ' d e=                        |
| E=            | soeur      | ' s E= R                      |
| $             | le         | ' l $                         |
| E%\~          | bain       | ' b E%\~                      |
| A%\~          | blanc      | ' b l A%\~                    |
| O%\~          | bon        | ' b O%\~                      |
| E=%\~         | un         | ' E=%\~                       |
| p             | pas        | ' p a                         |
| b             | bas        | ' b a                         |
| t             | tas        | ' t a                         |
| d             | do         | ' d o                         |
| k             | qui        | ' k i                         |
| g             | gomme      | ' g O m                       |
| ?             | antiharpon | A%\~ . t i . ? a R . ' p O%\~ |
| f             | faim       | ' f E%\~                      |
| v             | vol        | ' v O l                       |
| s             | sac        | ' s a k                       |
| z             | zéro       | z e . ' R o                   |
| S             | charme     | ' S a R . m $                 |
| Z             | jardin     | Z a R . ' d E%\~              |
| m             | mot        | ' m o                         |
| n             | nous       | ' n u                         |
| n\~           | agneau     | a . ' n\~ o                   |
| nK            | smoking    | s m O . ' k i nK g            |
| l             | la         | ' l a                         |
| R             | rond       | ' R O%\~                      |
| j             | briller    | b R i . ' j e                 |
| w             | oui        | ' w i                         |
| h\\           | lui        | ' l h\ i                      |
| {% endtab %}  |            |                               |
| {% endtabs %} |            |                               |

{% hint style="info" %}
**Key**
{% endhint %}

| Symbol | Meaning               | Example                                | Transcription                                                                       |
| ------ | --------------------- | -------------------------------------- | ----------------------------------------------------------------------------------- |
| \_     | word delimeter        | nut butter                             | ' n ^ t \_ ' b ^ . r6 $ R=                                                          |
| '      | primary word stress   | record (verb)                          | R= I . ' k O R= d                                                                   |
| '2     | secondary word stress | explanation                            | ' 2 E k . s p l $ . ' n e+I . S $ n                                                 |
| “      | sentence accent       | There are TWO ACCENTS in this sentence | D E R= \_ A R= \_ ” t u \_ “ @ k . s E n t s \_ ? I n \_ D I s \_ ' s E n . t $ n s |
| .      | **s**yllable boundary | syllable                               | ' s I . l $ . b $ l                                                                 |
| #      | silence (pause)       | I said: don't do it                    | ? a+I *” s E d # d o+U n t* “ d u \_ I t                                            |

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

When using a Realspeak TTS voice, the talking speed of the TTS voice does not revert back to the normal speed after the `<prosody>` tag closes.&#x20;

To revert it back to normal, you must use the `<prosody>` tag again with the attribute of “volume” set to “100.0” and the attribute of “rate” set to “default”.&#x20;

Note that this engine does not support the “pitch” attribute.&#x20;

You cannot specify the “rate” value as an integer using this engine, but percentages and the presets 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 supported by this engine.

| Say-as Tag Types  | RealSpeak Engine |
| ----------------- | ---------------- |
| acronym\*         |                  |
| 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            | x                |
| date:day          | x                |
| digits            | x                |
| duration          | x                |
| duration:h        | x                |
| duration:hm       | x                |
| duration:m        | x                |
| duration:ms       | x                |
| duration:s        | x                |
| measure\*         | x                |
| name              | x                |
| net:email         | x                |
| net:uri\*         |                  |
| time\*            | x                |
| time:h            | x                |
| time:hm           | x                |
| time:hms          | x                |
| spell             | x                |
| telephone\*       | x                |
| currency\*        | x                |

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

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 Realspeak, either format, 5'4“ or 5m, will work.

net:uri: The RealSpeak Engine does not read back URLs correctly and will play a web address as 'www point examplewebsite point com'.

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**: For extensions, Realspeak will say the number back correctly. In the example above, Realspeak will say, “one two three four five six seven eight nine zero, extension one two three four.”&#x20;
{% 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>

This functions as expected.


---

# 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/realspeak-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.
