Guides

TTS Verbalization Guide & Specifications for en-AU

Product: en-AU
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 EN language in the AU domain. 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 an Odi 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.

Numbers

Integers

Format

Example input

Odi

[1-9][0-9]

25

twenty five

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

159

one hundred and fifty nine

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

-58

minus fifty eight

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

2824

two thousand eight hundred and twenty four

20[0-9][0-9]

2012

twenty twelve

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

2,824

two thousand eight hundred and twenty four

Allowed thousands delimiter: comma only. A space delimiter reads as two separate number groups ("2 824" is "two eight hundred and twenty four"). Max supported value: 999,999,999,999 (999 billion and below), read as "nine hundred and ninety nine billion nine hundred and ninety nine million nine hundred and ninety nine thousand nine hundred and ninety nine". Beyond that, digits are spelled one by one. Integers are read with "and" after hundreds and thousands. A four-digit number close to the current year is read as a year.

Ordinal numbers

Format

Example input

Odi

[1-9]…[0-9]{st,nd,rd,th}

1st

first

Decimals

Decimal separator: dot. Digits after the dot are spelled individually.

Format

Example input

Odi

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

2.4527

two point four five two seven

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

-25.78

minus twenty five point seven eight

Fractions and units

Format

Example input

Odi

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

13/16

thirteen sixteenths

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

45/2

forty five halves

A fraction that complies with the date format, thus [1-31]<slash>[1-12], is read as a date of the year if no supported unit is provided. E.g. "5/12" is read as "the fifth of december" while "5/12 km" is read as "five twelfths kilometre". A date-like fraction without a unit (for example 1/2 or 3/4) is therefore read as a date, day first.

Format

Example input

Odi

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

5/12 km

five twelfths kilometer

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

1/2

the first of february

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

3/4

the third of april

{vulgar fraction} <unit>

½ cup

½ cup

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

3/4 mile

the third of april mile

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 Odi, the dashes are used to spell the digit sequence digit by digit, without commas between the digits.

Example input

Odi

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

four two one four two three four seven five three

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 "two to three".

For Lexis, [pause] is a 0.025 s pause. Digits are read in groups of three, counted across the whole sequence. A comma stays where the input has a space.

16-digit card numbers

Dash notation can be used to spell out the card numbers:

Example input

Odi

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

five eight nine six four two six five one two three four seven four six eight

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

five eight nine six four two six five one two three four seven four six eight

Counter examples

  • The numbers in between the dashes are read as integers and the dash is pronounced as "dash" if the dash is used more than once. Unlike plain integers, these numbers are read with a comma after "thousand".

  • 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

Odi

4532-1234-5678-9012

four thousand, five hundred and thirty two dash one thousand, two hundred and thirty four dash five thousand, six hundred and seventy eight dash nine thousand and twelve

4532 1234 5678 9012

four thousand five hundred and thirty two one thousand two hundred and thirty four five thousand six hundred and seventy eight nine thousand and twelve

4532-1234-5678

four thousand, five hundred and thirty two dash one thousand, two hundred and thirty four dash five thousand, six hundred and seventy eight

4532-1234

four thousand five hundred and thirty two to one thousand two hundred and thirty four

Telephone numbers

Format

Example input

Odi

([0-9]{2}) [0-9]{4} [0-9]{4}

(02) 9876 5432

( two ) nine thousand eight hundred and seventy six five thousand four hundred and thirty two

04[0-9]{2} [0-9]{3} [0-9]{3}

0412 345 678

four hundred and twelve three hundred and forty five six hundred and seventy eight

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

+61 2 9876 5432

+61 two nine thousand eight hundred and seventy six five thousand four hundred and thirty two

Combination of numbers and words

Format

Example input

Odi

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

16-digit

sixteen digit

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

COVID-19

covid nineteen

A space around a dash between a number and a word verbalizes the dash as the word "dash" (e.g. "16 - digit" becomes "sixteen dash digit"). A spaced dash between two words is read as a pause (see Dashed words).

Ratio and intervals

Format

Example input

Odi

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

16:9

sixteen to nine

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

16-9

sixteen to nine

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

3-5 days

three to five days

If the ratio values overlap with the time format, the time will be announced. E.g. "24:00" is verbalized as "twenty four hours" while "25:00" is "twenty five to zero".

Percentage

Example input

Odi

15%

fifteen percent

Time

Format

Example input

Odi

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

12:11:01

twelve hours eleven minutes and one second

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

23:15

twenty three fifteen

[00-24]<colon>00

24:00

twenty four hours

[1-12] {PM,AM}

2 PM

two p m

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

02:20 PM

two twenty p m

00<colon>00

00:00

midnight

Date

Format

Example input

Odi

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

14 May 2022

the fourteenth of may, twenty twenty two

{month} [1-31], [0-9]{4}

June 6, 2020

the sixth of june, twenty twenty

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

31/12/19

the thirty first of december, nineteen

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

27.05.2021

the twenty seventh of may, twenty twenty one

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

2022-11-02

the second of november, twenty twenty two

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

October 21st

october twenty first

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

21st October

twenty first october

[1-31]/[1-12]

23/5

the twenty third of may

[1-31]/[1-12]

5/12

the fifth of december

Note: Dates are day first (en-US reads month first) and are read with "the" before the day and "of" before the month. A two-digit year is read as a number ("nineteen").

Units

Format

Example input

Odi

{amount}{unit}

2.5GB

2. 5gb

{amount}<space>{unit}

1.5 GB

one point five g b

{amount}<space>{unit}

3 m

three meters

{amount}{unit}/{unit}

1500MB/s

1500mb slash s

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

1400 MB/s

one thousand four hundred m b slash s

Supported unit abbreviations

This table is the voice-package unit table. Without it the engine reads only a few units, such as km and l. Units such as mm, ft and mph are not read.

Abbreviation

Odi

mm

mm

cm

centimeter / centimeters

m

meter / meters

km

kilometer / kilometers

Km

kilometer / kilometers

m²

square meter / square meters

m2

square meter / square meters

m³

m³

m3

m3

"

inch / inches

in

in

'

foot / feet

ft

ft

yd

yd

mi

mi

mph

mph

MPH

m p h

h

hour / hours

hr

hr

min

min

mins

mins

s

second / seconds

g

g

gm

gm

kg

kg

Kg

kg

oz

oz

lb

lb

lbs

lbs

ml

ml

mL

ml

l

liter / liters

L

l

gal

gal

cup

cup

Hz

hz

hz

hz

kHz

khz

MHz

mhz

GHz

ghz

W

w

kW

kw

MW

m w

GW

g w

V

v

mA

ma

A

a

dB

db

kb

kb

mb

mb

gb

gb

tb

tb

pb

pb

kB

kb

MB

m b

GB

g b

TB

t b

PB

p b

bps

bps

Kbps

kbps

Mbps

mbps

Gbps

gbps

Tbps

tbps

kBps

kbps

MBps

mbps

GBps

gbps

TBps

tbps

PBps

pbps

°C

° c

°c

° c

°F

° f

°f

° f

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.

Words

Abbreviations and spelling

Odi spells all the words in capital letters letter by letter.

Format

Example input

Odi

[A-Z]…[A-Z]

ABC

a b c

[A-Z]…[A-Z]

JOHN

j o h n

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

B.C.

b c

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

e.g.

for example

[A-Z]&[A-Z]

R&D

r-n-d

Between capital letters, "&" is read as "n". Between words, "&" is read as "and".

Common abbreviations

Example input

Odi

Prof.

professor

Dr.

doctor

etc.

and so on

Prof

prof

Dr

dr

Mr

mr

Mrs

mrs

Ms

ms

Ave

avenue

Dashed words

Example input

Odi

E-mail

e mail

Paris - Texas

paris, texas

Paris-Texas

paris texas

URLs and e-mails

URLs

Format

Example input

Odi

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

www.google.com

w w w dot google dot com

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

https://google.com

h t t p s colon double slash google dot com

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

https://www.google.com

h t t p s colon double slash w w w dot google dot com

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

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

h t t p s colon double slash w w w dot google dot com slash news equal sign one hundred and twenty three

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

www.123.com

w w w dot one hundred and twenty three dot com

E-mails

Format

Example input

Odi

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

info@omilia.com

i n f o at omilia dot com

{word}!={symbol}!={number}@{word}<dot>{domain}

omilia_19@omilia.com

omilia underscore one nine at omilia dot com

{word}!={symbol}!={number}@{word}<dot>{domain}

john.smith42@example.com

john dot smith four two at example dot com

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

SALES@EXAMPLE.COM

sales at example dot com

uppercase{word}!={symbol}!={number}@{word}<dot>{domain}

FFI.SHDFI.GM@MARRIOTT.COM

f f i dot s h d f i dot g m at marriott dot com

Note: digits are read one by one, _ reads "underscore", and short code-like parts are spelled letter by letter.

Currency

Format

Example input

Odi

{symbol}{amount}

$25.10

twenty five dollars and ten cents

{symbol}{amount}

£25.10

twenty five pounds and ten pence

{amount}{symbol}

25.10€

twenty five euros and ten cents

{amount} {code}

25 USD

twenty five u s dollars

{amount} {quantity} {code}

1.3 million USD

one point three million u s dollars

{symbol}{amount} {quantity}

$1.3 million

one point three million dollars

Currency codes and symbols

Each reading shows the singular / the plural form. The subdivision is read after "and" when the amount has decimals ("1.01" and "2.50").

Code

Odi

Subdivision

USD

u s dollar / u s dollars

cent / cents

EUR

euro / euros

cent / cents

GBP

pound sterling / pounds sterling

penny / pence

AUD

australian dollar / australian dollars

cent / cents

CAD

canadian dollar / canadian dollars

cent / cents

JPY

japanese yen / japan yen

none: 1.50 JPY reads one point five japanese yen

Symbol

Odi

Subdivision

$

dollar / dollars

cent / cents

€

euro / euros

cent / cents

£

pound / pounds

penny / pence

¥ 🆕

japanese yen / japan yen

none

Punctuation and character processing

Supported characters

Char

Description

Used as/in

Odi

.

period

sentence end / decimal separator

✅

,

comma

sentence break / thousands separator

✅

-

dash

number group / minus sign

✅

@

at sign

email address

✅

%

percent

percentage value, in URLs

✅

&

ampersand

"and" (between capital letters it is read as "n")

✅

$ € £ ¥

currency signs

part of currency

✅

=

equal sign

in URLs

✅

;

semicolon

in URLs

✅

? !

question mark, exclamation mark

sentence end (see intonation)

✅

: / ( )

colon, slash, brackets

time, ratio, URLs, fractions, dates

✅

° ² ³ " '

degree, superscripts, quotes

units

✅

Other symbols are read by name in both engines: / "slash", \ "backslash", ^ "caret", _ "underscore", + "plus", # "pound", * "asterisk" and ~ "tilde". Outside URLs a colon or semicolon is replaced by a full stop.

Any other character is removed and does not affect the voice, in both engines. The trademark (™), service mark (℠), registered (®) and copyright (©) signs are removed earlier, by the engine's request pre-processing, before the text reaches the verbalizer. The verbalizer itself does not process them.

  • Example: Design Hotels™ welcomes you → design hotels welcomes you.

Punctuation intonation

Char

Odi effect

.

falling intonation

?

rising intonation (en-AU question-type rules: yes/no, wh-, multiple choice)

,

falling intonation

!

increased intensity

space / dash

short pause (a spaced dash is read as a comma)

no punctuation at the end of a sentence

a period is added automatically