Guides

TTS Verbalization Guide and Specification for es-US

Product: es-US Sofía Female Voice Pack
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.

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, 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%

dieciséis 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

las dos de la tarde

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

02:20 PM

las 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 days

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 dos mil diecinueve

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

12/31/22

treinta y uno de diciembre dos mil 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

a b c

[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

All the capitalized letters are supposed to be spelled.

{common abbreviation}

Format

Example

Input String

Verbalized Form

prof.

profesor

sr.

señor

dr.

médico

sra.

señora

ej.

ejemplo

srta.

señorita

etc.

etcétera

jr.

júnior

s.a.

sociedad anónima

cía.

compañía

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 barra 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 barra 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 barra barra example punto com dos puntos ocho mil ochenta 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 barra 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 barra 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 barra 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 barra 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

Nota: En es-US, los siguientes caracteres se verbalizan en URLs y direcciones de correo electrónico:

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 million

un punto tres mil doláres

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

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

Examples

This section illustrates the examples of common prompts and verbalization usage.

Input:

"¡Bienvenido a la línea de servicio por voz del banco ABC! ¿Qué puedo hacer hoy por usted?"

Verbalized output:

"¡Bienvenido a la línea de servicio por voz del banco a b c! ¿Qué puedo hacer hoy por usted?"


Input:

"Sólo para confirmar, usted dijo: 5-8-9-7 4-2-6-5 1-2-3-4 7-4-6-8."

Verbalized output:

"sólo para confirmar, usted dijo cinco ocho nueve siete , cuatro dos seis cinco , uno dos tres cuatro , siete cuatro seis ocho , nueve siete dos seis ."


Input:

"El saldo de su visa es de $2670.52 y vence el March 21. ¿Algo más?"

Verbalized output: "El saldo de tu visa es de dos mil seiscientos setenta dólares con cincuenta y dos centavos y vence el veintiuno de marzo. ¿Algo más?"


Input:

"Su correo electrónico es cadomaitis@omilia.com. Correcto?"

Verbalized output:

"su correo electrónico es c a d o m a i t i s arroba o m i l i a punto com. Correcto?"


Input:

"Para confirmar, su cita se fijará para el martes, Octubre 25th, 09:00 to 10:30 AM. Procedo?"

verbalized output:

"Para confirmar, su cita se fijará para el martes , veinticinco de octubre, de nueve a diez y media de la mañana . Procedo?"


Input:

"El saldo de tu mastercard es de -1.35 USD. La deuda debe pagarse hasta el 2022-11-02."

verbalized output:

"El saldo de su mastercard es de menos un dolar y treinta y cinco centávos . la deuda debe pagarse hasta el dos de noviembre de dos mil veintidós ."

SSML TAGS

<break/>

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