Guides

TTS Verbalization Guide & Specifications for es-CO

Product: es-CO
Release Date: October 2026
TTS Engine version: 3.4.0

 

Introduction

This document describes how specific series of strings are read by the TTS Engine for the ES language in the CO domain. Example outputs are in Spanish (Colombian Spanish). The readings are the engine's current output for the version above: when a reading is not what is wanted, this document still shows what the engine does.

Convention: every example table includes a Lexis voice output column. Any new row appears marked with 🆕. Missing support is shown as "unsupported". Numeric ranges use [a-b] (for example, [1-99] means any number from 1 to 99).

Readings are shown in lower case with punctuation as the engine returns it. Two markers appear in the readings: [pause] is a 0.025 s pause the Lexis voice puts between groups of digits, and [pause 0.2 s] is a fixed pause of 0.2 s.

Numbers

Integers

Format

Example input

Lexis

[1-9][0-9]

25

veinticinco

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

159

ciento cincuenta y nueve

100

100

cien

10[1-9]

101

ciento uno

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

-58

menos cincuenta y ocho

[1-9][0-9]…[0-9][0-9] (>999)

2824

dos mil ochocientos veinticuatro

[1-9][0-9]{3}

1500

mil quinientos

[1-9][0-9]{0,2}<dot>[0-9]{3}

2.824

dos mil ochocientos veinticuatro

1000000

1.000.000

un millón

2000000

2.000.000

dos millones

1000000000

1.000.000.000

mil millones

Allowed thousands delimiter: dot only; a space reads as two number groups. Max supported value: 999.999.999.999, read as "novecientos noventa y nueve mil novecientos noventa y nueve millones novecientos noventa y nueve mil novecientos noventa y nueve". Beyond that, digits are spelled one by one.

Ordinal numbers

Format

Example input

Lexis

[1-9]…[0-9]{º}

1º

1º

[1-9]…[0-9]{ª}

1ª

1ª

[1-9]…[0-9]{º}

21º

21º

Ordinals are not read: the text passes through unchanged.

Decimals

Decimal separator: comma. Digits after the comma are spelled individually ("2,4527" is "dos coma cuatro cinco dos siete", "-25,78" is "menos veinticinco coma siete ocho").

Format

Example input

Lexis

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

2,4527

dos coma cuatro cinco dos siete

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

-25,78

menos veinticinco coma siete ocho

Fractions and units

Format

Example input

Lexis

[1-99]<slash>[1-99]

13/16

trece dieciséisavos

[1-99]<slash>[1-99]

45/2

cuarenta y cinco medios

[1-99]<slash>[1-99]

37/4

treinta y siete cuartos

A fraction that complies with the date format, thus [1-31]<slash>[1-12], is read as a date if no supported unit is provided. Numeric dates are month first when both orders are valid, so "5/12" is read as "doce de mayo". With a unit it is a fraction ("5/12 km" is "cinco doceavos kilómetro"). Fractions such as 3/4 and 1/2 without a unit are therefore read as dates ("cuatro de marzo", "dos de enero").

Format

Example input

Lexis

{vulgar fraction} <unit>

½ taza

½ taza

[1-99]/[1-99] <unit>

3/4 mi

tres cuartos milla

[1-31]<slash>[1-12] <unit>

5/12 km

cinco doceavos kilómetro

A vulgar fraction such as ½ is not converted: the text passes through unchanged.

Digit-by-digit spelling

The dash notation can be used to spell the digit sequence digit by digit. For Lexis, the digits are read in groups of three, with a short pause ([pause], 0.025 s) between the groups. The comma is placed where the input has a space.

Example input

Lexis

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

cuatro dos uno [pause] cuatro, dos tres [pause] cuatro, siete cinco [pause] tres

Note: this notation can be used for digit sequences with more than 2 digits. Otherwise it will be verbalized as an interval. E.g. "2-3" is "dos a tres".

16-digit card numbers

Example input

Lexis

5-8-9-6 4-2-6-5 1-2-3-4 7-4-6-8

cinco ocho nueve [pause] seis, cuatro dos [pause] seis cinco, uno [pause] dos tres cuatro, [pause] siete cuatro seis [pause] ocho

5-8-9-6-4-2-6-5 1-2-3-4-7-4-6-8

cinco ocho nueve [pause] seis cuatro dos [pause] seis cinco, uno [pause] dos tres cuatro [pause] siete cuatro seis [pause] ocho

Counter examples

  • The numbers in between the dashes are read as integers and the dash is pronounced as "guión" if the dash is used more than once.

  • If only one dash is used, then the digit sequence is handled as an interval.

  • If no dash is used, the numbers are read as integers.

Example input

Lexis

4532-1234-5678-9012

cuatro mil quinientos treinta y dos guión mil doscientos treinta y cuatro guión cinco mil seiscientos setenta y ocho guión nueve mil doce

4532 1234 5678 9012

cuatro mil quinientos treinta y dos mil doscientos treinta y cuatro cinco mil seiscientos setenta y ocho nueve mil doce

4532-1234-5678

cuatro mil quinientos treinta y dos guión mil doscientos treinta y cuatro guión cinco mil seiscientos setenta y ocho

4532-1234

cuatro mil quinientos treinta y dos a mil doscientos treinta y cuatro

Telephone numbers

Format

Example input

Lexis

[0-9]{3} [0-9]{3} [0-9]{4}

300 123 4567

trescientos ciento veintitrés cuatro mil quinientos sesenta y siete

<bracket>[0-9]{3}<bracket> [0-9]{3} [0-9]{4}

(601) 123 4567🆕

seis cero uno, uno dos tres, cuatro cinco seis siete

+[0-9]{2} [0-9]{3} [0-9]{3} [0-9]{4}

+57 300 123 4567

+ 57 trescientos ciento veintitrés cuatro mil quinientos sesenta y siete

The country code is left as written ("+ 57").

Combination of numbers and words

Format

Example input

Lexis

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

16-bit

dieciséis bit

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

COVID-19

covid diecinueve

A space around a dash between a number and a word verbalizes the dash as the word "guión" (e.g. "16 - bit" becomes "dieciséis guión bit"). A spaced dash between two words is read as a pause (see Dashed words).

Ratio and intervals

Format

Example input

Lexis

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

16:9

dieciséis a nueve

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

16-9

dieciséis a nueve

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

3-5 días

tres a cinco días

If the ratio values overlap with the time format, the time will be announced. E.g. "24:00" is verbalized as "veinticuatro horas" while "25:00" is "veinticinco a cero".

Percentage

Example input

Lexis

15%

quince por ciento

2,5%

dos coma cinco por ciento

Time

Format

Example input

Lexis

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

12:11:01

doce horas once minutos y un segundo

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

23:15

veintitrés y quince

[00-24]<colon>00

24:00

veinticuatro horas

12<colon>00

12:00

doce horas

00<colon>00

00:00

medianoche

[1-12] {PM,AM}

2 PM

dos de la tarde

[01-12]<colon>[00-59] {PM,AM}

02:20 PM

dos y veinte de la tarde

Note: PM is read "de la tarde" ("1 PM" is "una de la tarde", "2 PM" is "dos de la tarde").

Date

Format

Example input

Lexis

[2-31] de {month} de [0-9]{4}

14 de mayo de 2022

catorce de mayo de dos mil veintidós

1 de {month} de [0-9]{4}

1 de junio de 2020

uno de junio de dos mil veinte

[00-31]/[00-12]/[0-9][0-9]

31/12/19

treinta y uno de diciembre de diecinueve

[00-31].[00-12].[0-9]{4}

27.05.2021

veintisiete de mayo de dos mil veintiuno

[0-9]{4}-[00-12]-[00-31]

2022-11-02

dos de noviembre de dos mil veintidós

[1-31] de {month}

21 de octubre

veintiuno de octubre

[1-31]/[1-12]

23/5

veintitrés de mayo

[1-31]/[1-12]

5/12

doce de mayo

Note: The day 1 is read "uno"; other days are cardinal numbers. Numeric slash dates are month first when both orders are valid ("5/12" is "doce de mayo", as in en-US); if only one order is valid, that order is used. Dates and months are masculine, so 21 is "veintiuno" and 31 is "treinta y uno". A two-digit year is read as a number ("diecinueve"); a full year is read as one number ("dos mil veintidós"), without "y".

Units

Format

Example input

Lexis

{amount}{unit}

2,5GB

dos coma cinco gigabytes

{amount}<space>{unit}

1,5 GB

uno coma cinco gigabytes

{amount}{unit}/{unit}

1500MB/s

mil quinientos megabytes por segundo

{amount}<space>{unit}/{unit}

1400 MB/s

mil cuatrocientos megabytes por segundo

Supported unit abbreviations

Each reading shows the singular / the plural form: the unit is read after "1" and after "2". The readings come from the Spanish unit table of the input processor tests.

Abbreviation

Lexis

mm

milímetro / milímetros

cm

centímetro / centímetros

m

metro / metros

km

kilómetro / kilómetros

Km

kilómetro / kilómetros

m²

metro cuadrado / metros cuadrados

m2

metro cuadrado / metros cuadrados

m³

metro cúbico / metros cubicos

m3

metro cúbico / metros cubicos

"

"

in

pulgada / pulgadas

'

'

ft

pie / pies

yd

patio / yardas

mi

milla / millas

mph

milla por hora / millas por hora

MPH

milla por hora / millas por hora

h

hora / horas

hr

hora / horas

min

minuto / minutos

mins

minuto / minutos

s

segundo / segundos

g

gramo / gramos

gm

gramo / gramos

kg

kilogramo / kilogramos

Kg

kilogramo / kilogramos

oz

onza / onzas

lb

libra / libras

lbs

libra / libras

ml

mililitro / mililitros

mL

mililitro / mililitros

l

litro / litros

L

litro / litros

gal

galón / galones

cup

cup

Hz

hercios

hz

hercios

kHz

kilohercio

MHz

megahercio

GHz

gigahercios

W

dobleú

kW

kilovatio / kilovatios

MW

megavatio / megavatios

GW

gigavatio / gigavatios

V

voltio / voltios

mA

miliamperio / miliamperios

A

amperio / amperios

dB

decibel / decibelios

kb

kilobit / kilobits

mb

megabit / megabits

gb

gigabit / gigabits

tb

terabit / terabits

pb

petabit / petabits

kB

kilobyte / kilobytes

MB

megabyte / megabytes

GB

gigabyte / gigabytes

TB

terabyte / terabytes

PB

petabyte / petabytes

bps

bit por segundo / bits por segundo

Kbps

kilobit por segundo / kilobits por segundo

Mbps

megabit por segundo / megabits por segundo

Gbps

gigabit por segundo / gigabits por segundo

Tbps

terabit por segundo / terabits por segundo

kBps

kilobyte por segundo / kilobytes por segundo

MBps

megabyte por segundo / megabytes por segundo

GBps

gigabyte por segundo / gigabytes por segundo

TBps

terabyte por segundo / terabytes por segundo

PBps

petabyte por segundo / petabytes por segundo

°C

grado celsius / grados celsius

°c

grado celsius / grados celsius

°F

grado farenheit / grados fahrenheit

°f

grado farenheit / grados fahrenheit

Note: Short abbreviations that are also words or letters (in, min, h, m, A, s) are read as units only when they follow a number; "in" after a number is "pulgadas" ("5 in the box" is "cinco pulgadas the box").

Words

Abbreviations and spelling

Lexis passes words in capital letters through unchanged and the Lexis model reads them (e.g. ABC, JOHN). Dotted capital abbreviations keep their dots (e.g. B.C.).

Format

Example input

Lexis

[A-Z]…[A-Z]

ABC

abc

[A-Z]…[A-Z]

JOHN

john

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

B.C.

b. c

[A-Z]&[A-Z]

I&D

i & d

Between capital letters, "&" is passed through. Between words, "&" is read as "y".

A single letter is read by its letter name: V is "uve", W is "doble u".

Common abbreviations

Example input

Lexis

Prof.

profesor

Profa.

profa

Dr.

doctor

Dra.

doctora

Sr.

señor

Sra.

señora

etc.

etcétera

Dashed words

Example input

Lexis

teórico-práctico

teórico-práctico

e-mail

e-mail

Bogotá - Medellín

bogotá [pause 0.2 s] medellín

Bogotá-Medellín

bogotá-medellín

URLs and e-mails

URLs

Format

Example input

Lexis

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

www.google.com

doble u doble u doble u, punto google, punto com

http(s)://{word}<dot>{domain}

https://google.com

hache te te pe ése, dos puntos, doble slash google, punto com

http(s)://www<dot>{word}<dot>{domain}

https://www.google.com

hache te te pe ése, dos puntos, doble slash doble u doble u doble u, punto google, punto com

(http(s)://)(www)<dot>{word}<dot>{domain}<slash>{sequence}

https://www.google.com/news=123

hache te te pe ése, dos puntos, doble slash doble u doble u doble u, punto google, punto com, slash news, el signo igual ciento veintitrés

(http(s)://)(www)<dot>{non-word}<dot>{domain}

www.123.com

doble u doble u doble u, punto ciento veintitrés, punto com

E-mails

Format

Example input

Lexis

{word}@{word}<dot>{domain}

info@omilia.com

i éne éfe o, arroba om ilia, punto com

Currency

Format

Example input

Lexis

{symbol}{amount}

$25,10

veinticinco pesos y diez centavos

{symbol}{amount}

$25.100

veinticinco mil cien pesos

{symbol}{amount}

US$25,10

us $ veinticinco coma uno

{amount}{symbol}

25,10€

veinticinco euros y diez céntimos

{amount} {code}

25 USD

veinticinco dólares americanos

{amount} {quantity} {code}

1,3 millones USD

uno coma tres millones de dólares americanos

{symbol}{amount} {quantity}

$1,3 millones

uno coma tres millones de pesos

Note: after "millón/millones" the noun is introduced by "de" ("uno coma tres millones de pesos"). In es-CO the symbol "$" is the peso; the dollar is written USD, and US$ is not expanded.

Currency codes and symbols

Each reading shows the singular / the plural form. The subdivision is read after "y" when the amount has decimals ("1,01" and "2,50").

Code

Lexis

Subdivision

USD

dólar americano / dólares americanos

centavo / centavos

EUR

euro / euros

céntimo / céntimos

GBP

libra esterlina / libras esterlinas

penique / peniques

AUD

dólar australiano / dólares australianos

centavo / centavos

CAD

dólar canadiense / dólares canadienses

centavo / centavos

JPY

yen japonés / yenes japonéses

none: 1,50 JPY reads uno coma cinco yen japonés

COP

peso colombiano / pesos colombianos

centavo / centavos

Symbol

Lexis

$

peso / pesos

€

euro / euros

£

libra / libras

¥🆕

yen japonés / yenes japonéses

US$

unsupported: US$1 reads us $ uno

Punctuation and character processing

Supported characters

Char

Description

Used as/in

Lexis

.

period

sentence end / thousands separator

✅

,

comma

sentence break / decimal separator

✅

-

dash

number group / minus sign

✅

@

at sign

email address

✅

%

percent

percentage value, in URLs

✅

&

ampersand

"y" (between capital letters it is passed through)

✅

$ € £ ¥

currency signs

part of currency

✅

=

equal sign

in URLs

✅

;

semicolon

in URLs

✅

? !

question mark, exclamation mark

sentence end (see intonation)

✅

¿

inverted question mark

sentence start, passed on as a token

✅

¡

inverted exclamation mark

sentence start, dropped

✅

: / ( )

colon, slash, brackets

time, ratio, URLs, fractions, dates, phone numbers

✅

° ² ³ " '

degree, superscripts, quotes

units

✅

The slash is read "barra oblicua" in text and "slash" in URLs. Other symbols are read by name: \ "barra invertida", ^ "circunflejo", _ "guión bajo", + "más", # "numeral", $ "signo de dólar", * "asterisco" and ~ "virgulilla". Outside times, ratios and URLs a colon or semicolon is replaced by a full stop, and brackets are passed on unchanged. The vulgar fraction ½ and the ordinal indicators º and ª are not converted.

Any other character has no reading of its own: the processor passes it on unchanged (for example quotation marks and ©, ®, ™, §, ×, ÷, ±).

Punctuation intonation

Char

Lexis effect

.

falling intonation

?

rising intonation for yes/no questions

,

falling intonation

!

a lone exclamation mark is rewritten as a full stop (falling intonation)

space / dash

short pause (a spaced dash is a fixed pause of 0.2 s)

no punctuation at the end of a sentence

a period is added automatically