Guides

TTS Verbalization Guide and Specification for es-US

Product: es-US
Version: 1.0.0
Release Date:

Introduction

This document describes how a specific series of strings are read by the TTS Engine for the Spanish language in the US domain. All the specifications and usage is valid for the es-US Sofía Female Voice Pack version 1.0.0.

And for the TTS Engine version 3.2.0.

Numbers

Integers

Integers less then 1000

Format

Example

Input String

Verbalized Form

[1-9][0-9]

25

veinticinco

[1-9][0-9]

31

treinta y uno

[1-9][0-9]…​[0-9]

159

ciento cincuenta y nueve

<dash> [1-9]…​[0-9]

-58

menos cincuenta y ocho

As with respect to the Spanish rules, "y" is used for to combine dozens and units.

Integers greater then 999

Allowed thousands delimiters

  • Comma

  • None

Space delimiter will result in two separate number groups.

Format

Example

Input String

Verbalized Form

[1-9][0-9]…​[0-9][0-9]

2824

dos mil ochocientos veinticuatro

[1-9] <comma> [0-9] …​[0-9][0-9]

2,824

dos mil ochocientos veinticuatro

[1-9][0-9][0-9] <comma> [1-9][0-9][0-9] <comma> [1-9][0-9][0-9]

857,467,987

ocho­cientos cincuenta y siete millones cuatrocientos sesenta y siete mil novecientos ochenta y siete

[1-9][0-9][0-9][1-9][0-9][0-9][1-9][0-9][0-9]

857467987

ocho­cientos cincuenta y siete millones cuatrocientos sesenta y siete mil novecientos ochenta y siete

<dash> [1-9][0-9][0-9]…​[0-9]

-12345

menos doce mil trescientos cuarenta y cinco

<dash> [1-9][0-9][0-9] <comma> …​ <comma> [1-9][0-9][0-9]

-12,345

menos doce mil trescientos cuarenta y cinco

Maximum supported value is 999 billions. Numbers greater than this will be spelled number by number.

Ordinal numbers

Format

Example

Input String

Verbalized Form

[1-9]…​[0-9]{er,ro,ra,do,da}

1ro

primero

Decimals

Allowed decimal separator

  • dot

The individual numbers after the dot delimiter are spelled as single digits.

Format

Example

Input String

Verbalized Form

[1-9]…​[0-9] <dot> [0-9][0-9]…​[0-9]

2.4527

dos punto cuatro cinco dos siete

<dash> [1-9]…​[0-9] <dot> [0-9][0-9]…​[1-9]

-25.78

menos veinticinco punto siete ocho

Number groups

Format

Example

Input String

Verbalized Form

[0-9] <dash> …​ [0-9] <space> [0-9] <dash> …​ [0-9] <space> …​

4-2-1-4 2-3-4 7-5-3

cuatro dos uno cuatro, dos tres cuatro, siete cinco tres

16-digit card numbers

Card numbers belong to the number groups. In order to pronounce the 16-digit card number in groups of four digits with a short pause in between them, the input number has to contain the dashes, e.g.:

"Para confirmar, usted dijo 5-8-9-7 4-2-6-5 1-2-3-4 7-4-6-8, correcto?"

Input text in the format of: "5896 4265 1234 7468 9726"

will result in: "cinco mil ochocientos noventa y seis, cuatro mil doscientos sesenta y cinco, …​"

Telephone numbers

Telephone numbers should be composed as number groups also. The following example:

"Su número de teléfono es 3-8-7 8-5-6 9-3-0."

would be read as "tres ocho siete <short pause> ocho cinco seis <short pause> nueve tres cero".

Combination of numbers and words

Format

Example

Input String

Verbalized Form

{word} <dash> [0-9] …​ [0-9]

COVID-19

covid diecinueve

Beware of using spaces. When the dash sign is surrounded by space, it is verbalized as word "dash". For example, the verbalisation of "16 - digit" is "dieciséis guión numero".

Ratio

Format

Example

Input String

Verbalized Form

[0-9] …​ [0-9] <colon> [0-9] …​ [0-9]

16:9

dieciséis a nueve

Percentage

Format

Example

Input String

Verbalized Form

[1-9]…​[0-9] <percent sign>

15%

quince por ciento

Time

Format

Example

Input String

Verbalized Form

[00-99] <colon> [00-59] <colon> [00-59]

12:11:01

doce horas diez minutos y un segundo

[00-24] <colon> [00-59]

23:15

veintitrés y quince

[1-12] <space> {PM, AM}

2 PM

dos de la tarde

[0-12] <colon> [0-59] <space> {PM, AM}

02:20 PM

dos y veinte de la tarde

00:00

00:00

medianoche

Time Intervals

Format

Example

Input String

Verbalized Form

[0-9] …​ [0-9] <dash> [1-9] …​ [0-9] <space> {days, hours, monts, minutes}

3-5 días

de tres a cinco días

Date

Format

Example

Input String

Verbalized Form

[1-31] <space> {month} <space> [0-9][0-9][0-9][0-9]

14 May 2022

catorce de mayo de dos mil veintidós

[1-31] <space> {month}

14 May

catorce de mayo

{month} <space> [1-31] <comma> <space> [1-9][0-9][0-9][0-9]

June 6, 2020

seis de junio de dos mil veinte

{month} <space> [1-31]

June 6

seis de junio

[00-31] <slash> [00-12] <slash> [1-9][0-9]

31/12/19

treinta y uno de diciembre de diecinueve

[00-12] <slash> [00-31] <slash> [1-9][0-9]

12/31/22

treinta y uno de diciembre de veintydós

[00-31] <slash> [00-12] <slash> [1-9][0-9][0-9][0-9]

27-05-2021

veintisiete de mayo de dos mil veintiuno

[00-31] <dot> [00-12] <dot> [1-9][0-9][0-9][0-9]

27.05.2021

veintisiete de mayo de dos mil veintiuno

[0-31] <dot> [0-12] <dot> [1-9][0-9][0-9][0-9]

27.5.2021

veintisiete de mayo de dos mil veintiuno

[1-9][0-9][0-9][0-9] <dash> [00-12] <dash> [00-31]

2022-11-02

dos de noviembre de dos mil veintidós

[00-31] <slash> [00-12]

05/12

doce de mayo

{month}<space> [1-31]{st,nd,rd,th}

October 21st

veintiuno de octubre

Physical Units

Format

Example

Input String

Verbalized Form

{amount} {unit}

2.5Gb

dos punto cinco gigabits

{amount} <space> {unit}

3 m

tres metros

{amount} <space> {unit} <slash> {unit}

1500 Mb/s

mil quinientos megabits por segundo

{amount} <space> {unit} <slash> {unit}

1 kph

un kilómetro por hora

{unit}

Abbreviation

Verbalization

Abbreviation

Verbalization

mm

milímetro(s)

cm

centímetro(s)

m

metro(s)

km, Km

kilómetro(s)

m², m2

metro(s) cuadrado(s)

m³, m3

metro(s) cúbico(s)

pulgada(s)

ft

pie(s)

kph

kilómetro(s) por hora

h, hr

hora(s)

min, mins

minuto(s)

s

segundo(s)

g, gm

gramo(s)

kg, Kg

kilogramo(s)

oz

onza(s)

lb,lbs

libra(s)

ml, mL

mililitro(s)

cl, cL

centilitro(s)

l, L

litro(s)

gal

galón(s)

Hz, hz

hercio(s)

kHz, KHz, khz

kilohercio(s)

MHz

megahercio(s)

GHz, Ghz, ghz

gigahercio(s)

mW

milivatio(s)

w, W

watt(s)

kW, KW

kilovatio(s)

MW

megavatio(s)

GW

gigavatio(s)

kwh, kWh, KWh

kilovatio(s) horas(s)

v, V

voltio(s)

mA

miliamperio(s)

A

amperio(s)

db,dB

decibel(ios)

kb, Kb, kbit

kilobit(s)

mb,Mb,Mbit

megabit(s)

gb, Gb, Gbit

gigabit(s)

tb, Tb, Tbit

terabit(s)

pb, Pb, Pbit

petabit(s)

bps

bit(s) por segundo

Kbps

kilobit(s) por segundo

Mbps

megabit(s) por segundo

Gbps

gigabit(s) por segundo

Tbps

terabit(s) por segundo

kB, KB

kilobyte(s)

MB

megabyte(s)

GB

gigabyte(s)

TB

terabyte(s)

PB

petabyte(s)

kBps, KBps

kilobyte(s) por segundo

MBps

megabyte(s) por segundo

GBps

gigabyte(s) por segundo

TBps

terabyte(s) por segundo

PBps

petabyte(s) por segundo

°C, °c

grado(s) Celsius

°F,°f

grados(s) Fahrenheit

Words

Abbreviations and Spelling

Format

Example

Input String

Verbalized Form

[A-Z] …​ [A-Z]

ABC

abc

[A-Z] <dot> [A-Z] <dot> …​ [A-Z] <dot>

a.c.

antes de cristo

[a-z] <dot> [a-z] <dot> …​ [a-z] <dot>

ej.

ejemplo

{common abbreviation}

dr.

doctor

<space> [A-Z] {<comma>, <dot>, <space>}

A o B

a o b

Multi-word acronyms and all-caps words are no longer spelled out letter-by-letter; they are read as words (e.g., ABC is verbalized as “abc”). Single isolated capital letters are still spelled out.

Chained spelled-out letters are clearly separated. Capitalized abbreviations opening a sentence are handled correctly.

Replacement of the trailing comma of consecutive <letter>, como <word>, clauses with a period for all but the final clause in the sequence.


{common abbreviation}

Format

Example

Input String

Verbalized Form

prof.

profesor

sr.

señor

dr.

doctor

sra.

señora

ej.

ejemplo

srta.

señorita

etc.

etcétera

jr.

júnior

s.a.

sociedad anónima

cía.

compañía

Address abbreviations

English address abbreviations (US-style addresses read out in Spanish). Note: bare “ave” is deliberately NOT mapped, because “ave” is the Spanish word for “bird” and would collide with normal text; it is only expanded when the preceding token is a number (e.g. “5 Ave” → “5 avenue”).

A unit designator following an address abbreviation is read as part of the address.

Input String

Verbalized Form

apt.

apartament

apt

apartament

ste.

suite

ste

suite

bldg.

building

bldg

building

st.

street

st

street

ave.

avenue

blvd.

boulevard

blvd

boulevard

rd.

road

rd

road

ln.

lane

ln

lane

pkwy.

parkway

pkwy

parkway

Directional abbreviations

USPS-style directionals. These are only unambiguous when written in uppercase as used in real addresses (e.g. “…Ave NW”, “…St SE”). Lowercase “se” is the common Spanish reflexive/impersonal pronoun (“se fue”, “se dice”), so these are matched on exact (uppercase) case only and are NOT part of the case-insensitive abbreviations lexicon. Single letter directionals(N, W, E, S) are not expanded to avoid collisions with other spelling cases.

Input String

Verbalized Form

NW

northwest

NW.

northwest

NE

northeast

NE.

northeast

SW

southwest

SW.

southwest

SE

southeast

SE.

southeast

Dashed words

Format

Example

Input String

Verbalized Form

[a-Z] …​ [a-z] <dash> [a-Z] …​ [a-z]

E-mail

e mail

[a-Z]…​[a-z] <space> <dash> <space> [a-Z] …​ [a-z]

Paris - Texas

parís guión texas

URLs and E-mails

Format

Example

Input String

Verbalized Form

(www) <punto> {word} <punto> {domain}

www.google.com

w w w punto google punto com

(www) <punto> {word} <punto> {domain} <barra> {path}

www.google.com/maps

w w w punto google punto com barra maps

{protocol} <dos puntos> <barra> <barra> {word} <punto> {domain}

https://google.com

h t t p s dos puntos doble barra google punto com

{protocol} <dos puntos> <barra> <barra> {word} <punto> {domain} <barra> {word} <guión> {word}

https://www.example.com/my-page

h t t p s dos puntos doble barra w w w punto example punto com barra my guión page

{protocol} <dos puntos> <barra> <barra> {word} <punto> {domain} <dos puntos> {port} <barra> {path}

http://example.com:8080/path/to/resource

h t t p dos puntos doble barra example punto com dos puntos ocho cero ocho cero barra path barra to barra resource

{protocol} <dos puntos> <barra> <barra> {ip} <barra> {path}

http://123.123.123.123/path/to/resource

h t t p dos puntos doble barra ciento veintitrés punto ciento veintitrés punto ciento veintitrés punto ciento veintitrés barra path barra to barra resource

{protocol} <dos puntos> <barra> <barra> {word} <punto> {domain} <barra> {path} <porcentaje> {encoded}

http://example.com/path%20with%20spaces

h t t p dos puntos doble barra example punto com barra path porcentaje dos cero with porcentaje dos cero spaces

{protocol} <dos puntos> <barra> <barra> {word} <punto> {domain} <barra> {word} <signo igual> <signo de interrogación> {query}

https://www.ocp.ai/input=?$ad

h t t p s dos puntos doble barra w w w punto ocp punto ai barra input signo igual signo de interrogación signo de dólar ad

ftp <dos puntos> <barra> <barra> ftp <punto> {word} <punto> {domain} <barra> {path}

ftp://ftp.example.com/resource

f t p dos puntos doble barra f t p punto example punto com barra resource

{word} <arroba> {word} <punto> {domain}

info@omilia.com

i n f o arroba omilia punto com

Note: In es-US, the following characters are verbalized in URLs and email addresses:

Carácter

Verbalización

.

punto

@

arroba

/

barra

-

guión

:

dos puntos

_

guión bajo

=

signo igual

?

signo de interrogación

%

porcentaje

$

signo de dólar

Currency

Format

Example

Input String

Verbalized Form

{currency symbol} {amount}

$25.10

veinticinco dólares y diez centavos

£25,000

veinticinco mil libras

{amount} {currency symbol}

25.10€

veinticinco euros y diez céntimos

{amount} <space> {currency code}

25 USD

veinticinco dólares americanos

{currency code} <space> {amount}

GBP 25

veinticinto libras esterlinas

{currency code} {amount} <space> {quantity}

$1.3 millones

uno punto tres millones de dólares.

{amount} <space> {quantity} <space> {currency code}

1 millón USD

un millón de dólares americanos

{currency code}

Code

Verbalized form

Subdivision

USD

dólar(es) americano(s)

centavo(s)

EUR

euro(s)

céntimo(s)

GPB

libra(s) esterlina(s)

penique, peniques

{currency symbol}

Symbol

Verbalized form

$

dolár(es)

euro(s)

£

libra(s)

Amount examples

Amount

Verbalized form

$235,125,250.12

doscientos treinta y cinco millones ciento veinticinco mil doscientos cincuenta doláres y doce centavos

$3.458

tres punto cuatro cinco ocho doláres

$5,000.00

cinco mil doláres

$0.01

un centavo

{quantity}

millón

billón

trillón

Punctuation and Characters Processing

Supported characters

Char

Description

Used as/in

Char

Description

Used as/in

.

period

sentence ending

@

at sign

email address

decimal separator

-

dash

number group

,

comma

sentence break

word group

thousands separator

minus sign

?

question mark

sentence ending

+

plus sign

math equation

!

exclamation mark

sentence ending

$

dollar sign

part of currency

'

apostrophe

contraction

euro sign

part of currency

possessive noun

£

pound sign

part of currency

%

percent sign

percentage value




Other characters or punctuation will be removed and will not affect the voice.

Punctuation

If no punctuation is present in the input text, the period will be added automatically. There is no check of the sentence content or a type in order to distinguish the punctuation.

Thank you for using our service → Thank you for using our service.

What can I do for you → What can I do for you.

Char

Description

Effect

.

period

falling intonation

?

question mark

raising intonation


space

pause

-

dash

short pause

,

comma

falling intonation

!

exclamation mark

increased intensity

The question mark does not always result in rising intonation. It follows the question intonation rules of en-US referring to rising, falling and rise-fall intonation for yes/no, wh- or multiple choice questions.

SSML TAGS

<break/>

  • the pause in the given position is forced if this tag used