Glossary · Speech
What is text normalisation in TTS?
Text normalisation
Text normalisation turns written shorthand into the words a voice should say. Digits, dates, currency amounts, abbreviations and codes all need it before text-to-speech can read them out.
On a call
The text says "₹1,20,000 due on 15/07". Read naively, that's a string of digits and slashes. Normalised, it becomes "एक लाख बीस हज़ार रुपये, due on fifteen July", which is what a person would say.
AI agents from ₹1 a minute.¹
Explained
Here is how it works, in plain words.
Text is full of things nobody says out loud. “₹1,20,000” is a lakh and twenty thousand. “15/07” is the fifteenth of July, because Indian dates put the day first. “MH02AB1234” is a vehicle number, read in letters and digits.
A text-to-speech model needs all of that spelled out. If it reads “15/07” as “fifteen slash zero seven”, the call sounds broken. If it reads a phone number as “nine hundred eighty-seven crore…”, the caller can’t write it down.
Researchers call these non-standard words. A well-known paper from 2001 sorted them into kinds: numbers, dates, money, abbreviations, letter sequences, URLs. Each kind has its own rules, and the hard part is telling them apart. “2024” is a year in one sentence and a quantity in the next.
Indian text has its own wrinkles. Amounts group in lakhs and crores, with commas in different places from Western numbers. The same amount can be read in Hindi or in English, and a Hinglish agent often wants one inside the other: “आपका EMI five thousand two hundred rupees है”. Dates come day first. Identifiers such as pincodes, mobile numbers and order IDs must be read one digit at a time, never as a large number.
There are two ways to do it. The TTS engine can normalise for you, which is convenient until it guesses wrong. Or the text can arrive already written as words, which is predictable and needs a little care upstream.
For voice agents, the second route is usually safer. The language model is already writing the reply, so ask it to write numbers the way they should sound.
In Frequency
This is what Frequency does about it.
Fourier TTS reads your text as you send it, with no rewrite pass, so write amounts and dates the way they should sound. Our prompting guide has the rules we use for agents: amounts as words, and identifiers like pincodes read one digit at a time.
Questions
People often ask us these questions.
Should I send digits or words to a Hindi TTS?
Words, if you want the same reading every time. Write amounts the way they're spoken, and spell identifiers like pincodes and phone numbers digit by digit.
How should an Indian phone number be read aloud?
Digit by digit, in small groups with a pause between them, the way people read numbers to each other. Never as one large number.
Still deciding? Ask us.
Fifteen minutes with the team that builds it. Bring your script, or your hardest call.
Book 15 minutes