Guides

TTS Verbalization Guide and Specification for es-CO


Product: es-CO
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 CO domain. All the specifications and usage is valid for the es-CO Voices

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

  • Dot

  • 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] <dot> [0-9] …​[0-9][0-9]

2.824

dos mil ochocientos veinticuatro

[1-9][0-9][0-9] <dot> [1-9][0-9][0-9] <dot> [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] <dot> …​ <dot> [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

  • comma

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

Format

Example

Input String

Verbalized Form

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

2,4527

dos coma cuatro cinco veintisiete

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

-25,78

menos veinticinco coma setenta y 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%

quince por ciento

Time

Format

Example

Input String

Verbalized Form

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

12:10: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

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.

{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

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 slash maps

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

https://google.com

h t t p s dos puntos slash slash 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 slash slash w w w punto example punto com slash 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 slash slash example punto com dos puntos ocho mil ochenta slash path barra to slash resource

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

http://123.123.123.123/path/to/resource

h t t p dos puntos slash slash ciento veintitrés punto ciento veintitrés punto ciento veintitrés punto ciento veintitrés slash path barra to slash 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 slash slash example punto com slash 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 salsh slash w w w punto ocp punto ai slash 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 slash slash f t p punto example punto com slash resource

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

info@omilia.com

i n f o arroba omilia punto com

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

Carácter

Verbalización

.

punto

@

arroba

/

slash

-

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

veinticinco mil pesos

£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

uno punto tres millones de pesos

{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)

GBP

libra(s) esterlina(s)

penique, peniques

COP

Peso(s) colombiano(s)

centavo(s)

{currency symbol}

Symbol

Verbalized form

$

peso(s)

euro(s)

£

libra(s)

Amount examples

Note: centavos are rarely used but is correct to say it

Amount

Verbalized form

$235.125.250,12

doscientos treinta y cinco millones ciento veinticinco mil doscientos cincuenta pesos y doce centavos

$3,458

tres coma cuatro cinco ocho pesos

$5.000,00

cinco mil pesos

$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 pesos 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