An IVR voice generator that reads numbers the way people say them.
Phone systems spend most of their time reading back things that are not words: booking references, callback numbers, verification codes, delivery windows. Those are exactly the strings ordinary text-to-speech gets wrong.
What your system sends
Your booking reference is A4-92-KJ7.
What the caller hears
Your booking reference is ay-four dash ninety-two dash kayjay-seven.
Your booking reference is A — four — nine — two — K — J — seven.
What your system sends
Call us back on 1-800-222-1222.
What the caller hears
Call us back on one thousand eight hundred, two hundred twenty-two, one thousand two hundred twenty-two.
Call us back on one — eight hundred — two two two — one two two two.
What your system sends
We sent it to a.dupont@acme-fr.io.
What the caller hears
We sent it to adupont at acmefr dot io.
We sent it to A — dot — dupont — at — acme — hyphen — F R — dot — I O.
What your system sends
Your slot is 14h30 on 03/04.
What the caller hears
Your slot is fourteen h thirty on three slash four.
Your slot is half past two in the afternoon on the third of April.
What your system sends
Transfer to FR76 3000 6000 0112 3456 7890 189.
What the caller hears
Transfer to F R seventy-six, three thousand, six thousand, one hundred twelve…
Transfer to F — R — seven six — three zero zero zero — six zero zero zero…
The five things that break a phone voice agent
Every one of these is invisible in a demo built from clean sentences, and every one of them shows up on the first real call.
- Digit strings get grouped like quantities
- A reference number is not a number. Ordinary models read 1222 as “one thousand two hundred twenty-two”, which no caller can write down.
- Letters and digits collide
- Mixed strings like A4-92-KJ7 need per-character delivery with pauses. Run them together and the caller asks you to repeat every time.
- Punctuation disappears
- Dots, hyphens and the @ symbol carry meaning inside an email address or a URL. Dropping them produces an address that does not exist.
- Regional formats get read literally
- 14h30, 03/04 and £1,250.00 mean different things in different locales. A literal reading is wrong in every one of them.
- The caller has no screen
- On a web page a mispronunciation is cosmetic. On a phone call it is a failed task — there is no text to fall back on.
What people generate with it
Phone menu prompts
Main greeting, department options, hold messages, closed-for-the-day.
Appointment reminders
Date, time and address read back in the caller’s local format.
Order confirmations
Order references and delivery windows, digit by digit.
Verification codes
One-time codes delivered by voice with per-character pacing.
Outage notices
Recorded updates you can regenerate in a minute instead of a day.
After-hours messages
Opening hours and emergency numbers, correct in five languages.
Latency and pronunciation accuracy, compared
Time to first audio decides whether a call feels like a conversation. Word error rate on structured text decides whether the caller gets the right number.
| Model | Time to first audio (P50) | Word error rate | Price per 1M characters |
|---|---|---|---|
| Gradium TTS | 158 ms | 3.7% | $35.9–57.8 |
| Cartesia Sonic-3 | 188 ms | — | — |
| ElevenLabs Turbo v2.5 | 264 ms | 5.2% | $50 |
| ElevenLabs Flash v2.5 | 288 ms | 5.2% | $50 |
Latency and error rates from the Coval production benchmark, 13 May 2026, 750 runs per model. Prices are published list rates; Gradium bills on a credit plan, shown here as the per-character equivalent between its smallest and largest tiers.
Questions
Why does text-to-speech read phone numbers wrong?
Most models normalise digits as quantities before synthesis, so 1222 becomes “one thousand two hundred twenty-two”. Phone numbers, reference codes and account numbers need per-digit delivery with grouping pauses instead, which requires the model to recognise what kind of string it is looking at.
Which languages can I generate IVR prompts in?
English, French, German, Spanish and Portuguese, with the number, date and currency conventions of each locale applied automatically rather than through manual text preparation.
What audio format do Twilio and Asterisk need?
Telephony systems generally expect 8 kHz mono, either μ-law encoded WAV or 16-bit PCM. Exports are available in both alongside standard 24 kHz WAV and MP3 for web playback.
Does it work with LiveKit, Pipecat or Vapi?
Yes. Prompts can be generated ahead of time as audio files for a fixed IVR tree, or streamed over WebSocket for agents that compose their responses at runtime.
How fast is it in a live call?
Time to first audio is what matters on a call, because telephony network overhead is added on top of whatever the model takes. The independent Coval production benchmark measured 158 ms P50 for the fastest streaming model tested in May 2026.
Can I use my own brand voice?
Voice cloning from a short reference recording is supported, so an existing recorded greeting can be extended to new prompts without booking the original voice artist again.
Get early access
Tell us the language you need and we will send you a link when your locale opens. No newsletter.