Skip to main content
November 3, 2026 · By Piyush Sahoo The TTS full form is text-to-speech: software that reads written text aloud in a generated voice. On a phone call, that audio must then cross a network that often carries only 300 Hz to 3.4 kHz at 8,000 samples per second. The engine creates the voice, but the telephone path decides what callers hear. This guide follows one sentence from your server to a caller’s handset. It covers the engine stages, the telephone limits, the problems specific to Indian languages, how to choose an approach, and the rules for automated voice in India.
Key takeaways
  • TTS is a component, not a product category. An IVR or voice agent uses it as its output stage.
  • A voice has to be judged at 8 kHz. Studio-rate samples tell you little about a narrowband call.
  • Indian text breaks generic front ends first. Lakh grouping, day-first dates, and Hindi-English sentences need testing before voice quality does.
  • Time to first audio matters more than total render time. Streaming hides render time from the caller, and barge-in needs queued audio to be discarded.
  • Artificial voice falls inside TRAI’s A2P definition. Declaration duties start 60 days after Gazette publication of the September 2026 amendment.

What does TTS stand for?

The letters expand to text-to-speech, and engineers also call it speech synthesis. Outside technology, the same letters can mean “true to size” on clothing listings. Four related terms are often mixed up, so here is how they differ:

How does text become audio on a call?

The work splits into two parts, and most explanations cover only the first. The engine produces audio, and the telephone path then reshapes it. Nine-stage pipeline. Inside the TTS engine: normalise, letters to sounds, plan the delivery, acoustic model, vocoder. On the telephone path: resample to 8,000 samples a second, encode with G.711 at 64 kbps, packetise into 20 ms RTP packets, then network and handset at about 300 to 3,400 Hz. Nine-stage pipeline. Inside the TTS engine: normalise, letters to sounds, plan the delivery, acoustic model, vocoder. On the telephone path: resample to 8,000 samples a second, encode with G.711 at 64 kbps, packetise into 20 ms RTP packets, then network and handset at about 300 to 3,400 Hz.

Stages inside the engine

The front end works on language. It expands symbols into words, maps words to phonemes, and decides on stress and pauses. W3C’s SSML 1.1 specification describes these same stages, and it offers markup to override them when the engine guesses wrong. The back end works on sound. Tacotron 2 set a pattern that many systems still resemble: one network predicts a mel spectrogram from text, and a vocoder renders that into a waveform. Later research targeted speed, with FastSpeech generating spectrograms through a feed-forward network and HiFi-GAN offering a more efficient vocoder. Older methods still help explain the vocabulary you meet in vendor documents: The Tacotron 2 authors reported a mean opinion score of 4.53, against 4.58 for professional recordings. That is their own lab result, so don’t read it as a phone-line figure.

Stages on the telephone path

Telephony has fixed arithmetic. RFC 3551 defines PCMA and PCMU, the RTP names for ITU-T G.711 A-law and μ-law, at 8,000 samples per second and 8 bits per sample. That works out at 64 kbps. A 20 ms packet therefore holds 160 samples, which is 160 bytes of audio. A-law is used in most countries outside North America and Japan, which mainly use μ-law. Your TTS output may pass through a conversion if the engine and the network use different laws, so it pays to generate as close to the final format as you can.

Why does a phone line change how a voice sounds?

A sampled signal can only represent frequencies up to half its sample rate. An 8 kHz call therefore stops at 4 kHz in theory and about 3.4 kHz in the usual narrowband definition. The engine’s output, often generated at 22 or 24 kHz, loses everything above that line. Bar chart on a 0 to 12 kilohertz scale. Narrowband call at 8 kilohertz with G.711 covers 300 hertz to 3.4 kilohertz. Wideband call with G.722 covers 50 hertz to 7 kilohertz. A 16 kilohertz stream reaches 8 kilohertz and 24 kilohertz TTS reaches 12 kilohertz. The zone above 4 kilohertz holds most of the energy of English s. Bar chart on a 0 to 12 kilohertz scale. Narrowband call at 8 kilohertz with G.711 covers 300 hertz to 3.4 kilohertz. Wideband call with G.722 covers 50 hertz to 7 kilohertz. A 16 kilohertz stream reaches 8 kilohertz and 24 kilohertz TTS reaches 12 kilohertz. The zone above 4 kilohertz holds most of the energy of English s. The loss falls hard on some consonants. Phonetician Geoff Lindsey explains that English /s/ carries its strong energy mainly above about 4 kHz, while /f/ is weak and spread out. Listeners fill those gaps from context. A synthetic prompt that reads an unfamiliar name or code gives them little context to use. Four practical rules follow: Higher rates still help in some cases. G.722 reaches 7 kHz where both ends support it, and Vobiz’s audio format guide accepts outbound streams at up to 24 kHz. The same guide points out that a 24 kHz payload doesn’t guarantee 24 kHz at the handset, because a later leg may use a lower-rate codec. Here is the size of each format: The payload sizes come from the Vobiz audio format guide, and we calculated the other two columns.

Why are Indian languages and numbers harder for TTS?

India has 22 languages in the Eighth Schedule of its Constitution, but script count is rarely what breaks a deployment first. Real call scripts break the front end, usually on the parts that carry the money and the dates. Illustrative Hindi-English sentence about an EMI. The amount should be read with lakh grouping, not as one hundred fifty thousand. EMI should be read as letters, not emmy. 12/11/2026 should be read day first as 12 November, not December eleventh. The English word due should keep its English sound. The spoken result is written out below. Illustrative Hindi-English sentence about an EMI. The amount should be read with lakh grouping, not as one hundred fifty thousand. EMI should be read as letters, not emmy. 12/11/2026 should be read day first as 12 November, not December eleventh. The English word due should keep its English sound. The spoken result is written out below. A simple defence works with any engine. Write amounts and dates out as words in your own template layer, keep a pronunciation list for names and product terms, and read reference codes in groups of digits. Your application then controls the reading instead of each engine’s front end.

What engines publish for Indian languages

This table reports vendor documentation checked on November 3, 2026, plus our own Deepgram guide. It compares coverage only, not quality.

Should you use TTS or recorded prompts?

Use recordings when the wording is fixed and matters, and use TTS when the wording changes per call. The real choice has four options, because you can also render TTS once and treat the result as a file. Decision map. If wording does not change per call, use a recorded file or TTS rendered once, with Play. If it changes and the caller converses freely, use a streaming engine through a bidirectional Stream or a SIP trunk to an AI platform. If it changes in a template and your language and voice are on the Speak list, use Speak. Otherwise render templates with your chosen engine, cache them, and use Play. Decision map. If wording does not change per call, use a recorded file or TTS rendered once, with Play. If it changes and the caller converses freely, use a streaming engine through a bidirectional Stream or a SIP trunk to an AI platform. If it changes in a template and your language and voice are on the Speak list, use Speak. Otherwise render templates with your chosen engine, cache them, and use Play. Mixing a studio voice with TTS in one sentence usually sounds odd, because the caller hears the voice change at the variable. Keep one voice across a whole prompt where you can. If you pre-render, cache by the exact text, voice, and format, so a voice change never serves stale audio.

Why does time to first audio matter?

Callers react to silence, so the wait before the first sound matters more than total render time. Exotel’s glossary suggests a first-chunk target under 300 ms for contact centre use, and it defines real-time factor, where a value below 1 means audio is generated faster than it plays. Illustrative timeline for a 6 second reply. Full-file synthesis gives 1.2 seconds of silence and ends at 7.2 seconds. Streaming starts at 0.2 seconds and ends at 6.2 seconds. If the caller interrupts at 3 seconds, 3.2 seconds of queued audio must be cleared. Illustrative timeline for a 6 second reply. Full-file synthesis gives 1.2 seconds of silence and ends at 7.2 seconds. Streaming starts at 0.2 seconds and ends at 6.2 seconds. If the caller interrupts at 3 seconds, 3.2 seconds of queued audio must be cleared. The numbers above are assumed, but the shape holds. Three design points follow from it:

How do you test a TTS voice for telephony?

Vendor scores won’t answer this for you. Mean opinion score comes from listener ratings, and Gnani notes that two vendors’ figures compare only under the same test conditions. Run your own short test instead:
  1. Collect real lines. Take about fifty, as Gnani suggests, from your own scripts, weighted towards amounts, dates, names, and mixed-language sentences.
  2. Render in the final format. Use the rate and codec your calls will really use, and keep the settings identical across engines.
  3. Listen on real calls. Place them to ordinary handsets on your intended routes. Test calls cost money, so use your own credentials and confirm each number first.
  4. Score token types separately. Count errors for amounts, dates, names, and borrowed words, because an overall average hides the failures that matter.
  5. Try an ASR back-test. Running TTS output through a recogniser gives a cheap, repeatable intelligibility signal. Use it alongside human listeners, not instead of them.
  6. Time it. Record first-audio delay from your own region, at p95, during your busy hours.
Also check where the text goes. A prompt may contain a customer’s name and balance, and a cloud engine will receive it. Vobiz’s XML best practices say never to speak card numbers or passwords in TTS.

What rules apply to TTS calls?

Regulators treat a synthetic voice as an automated call, so the voice technology can change your obligations. These rules change often, so confirm the current text and take legal advice. India. TRAI’s Third Amendment defines an A2P call as one started by an application or automated platform without direct human dialling, “including using autodialling, robo-calls and/or pre-recorded/artificial voice technologies”. The regulation text sets three duties and consequences that matter here:
  • Declaration. Senders must declare A2P use and caller ID ranges to the originating provider in advance. Undeclared calls count as unsolicited commercial communication.
  • Termination charge. The terminating provider may charge the originating provider up to ₹0.05 per minute on these calls. TRAI says calls on the designated commercial series are exempt.
  • Timing. These two parts start 60 days after Gazette publication. TRAI announced the regulation on 18 September 2026. Publication on that same day would mean about 17 November 2026, but we couldn’t confirm the Gazette date, so check it.
Vobiz’s India calling regulations page covers KYC and caller ID, and the 140 and 160 series guide covers commercial numbers. United States. The FCC’s February 2024 declaratory ruling confirms that the TCPA’s limits on “artificial or prerecorded voice” cover AI technologies that generate human voices. These calls need the called party’s prior express consent, unless they are for an emergency or an exemption applies.

How Vobiz handles text-to-speech

Vobiz gives you four ways to voice a call, which match the decision map above.
  • Speak in VobizXML. The Speak element reads its text content to the caller, with voice, language, and loop attributes. It takes plain text or SSML, and you can nest it inside Gather or PreAnswer.
  • Speak Text API. The Speak Text API plays text into a live call and takes text, voice, language, legs, and mix. It lists 29 languages, including Hindi (hi-IN) and English India (en-IN). You can stop speech on the call at any point.
  • Play for rendered audio. The Play element fetches an MP3 or WAV file from an HTTPS URL. Use it for recordings and for audio you rendered with any engine.
  • Stream for your own engine. A bidirectional Stream sends audio to your WebSocket server, and you send TTS back with playAudio. Outbound audio can be L16 at 8, 16, or 24 kHz, or μ-law at 8 kHz. A checkpoint confirms playback, and clearAudio discards the queue when a caller interrupts.
For a full agent, you can connect a voice platform instead. The Sarvam integration takes a Samvaad agent live on an Indian number, and guides also cover ElevenLabs and Pipecat. If you’re unsure between the two transports, compare SIP with WebSockets. Calls and purchases are billed to your account. Run tests with your own Auth ID and Auth Token, and confirm numbers before you dial.

Frequently asked questions

TTS is short for text-to-speech, also called speech synthesis. It is software that reads written text aloud in a generated voice. On shopping sites the same letters can mean true to size, though software and telephony use only the first meaning.
It means the voice the caller hears is generated from text rather than recorded by a person. An IVR or voice agent sends words to an engine, and the audio plays on the call. This suits content that changes per caller, such as amounts, dates, and names.
They run in opposite directions. TTS turns text into speech, so it is the system’s mouth. STT, also called ASR, turns speech into text, so it is the system’s ears. A voice agent needs both, with a language model deciding what to say between them.
Demos usually play at a high sample rate through good speakers. A narrowband call carries roughly 300 Hz to 3.4 kHz, sampled at 8 kHz, then compressed by G.711. High consonants such as s lose energy. Judge a voice only after hearing it on a real call.
Yes. The Vobiz Speak Text API lists Hindi and Indian English voices. For wider regional coverage, engines such as Sarvam Bulbul v3 publish 10 Indian languages. Test numbers, names, and mixed Hindi-English sentences, because those fail first on real scripts.
Yes. TRAI’s Third Amendment of September 2026 defines A2P calls to include artificial voice. Senders must declare them and their caller ID ranges in advance, and undeclared calls count as unsolicited commercial communication. Commercial calling rules also apply. Confirm the start date and take legal advice.

Further reading on Vobiz

Sources

Standards and research Regulators Engine documentation (checked November 3, 2026) Industry and reference

Build on Vobiz

Get a number and put your first TTS prompt on a call.