Executive Summary & Quick Answer
Building voice agents for Indian demographics requires solving unique phonetic challenges. Most global speech models fail at handling regional code-switching, complex consonant clusters, and tonal variations found in Indic languages. The Sarvam AI voice stack addresses these fundamental issues at the tokenization level. Their models are trained specifically on the phonetic structures of the Indian subcontinent.
The Sarvam stack consists of three core architectures. Bulbul v1 handles text-to-speech synthesis with native prosody. Saaras v1 is the automatic speech recognition engine tuned for regional accents. Shuka v1 is the foundational speech-to-speech model.
Sarvam AI focuses on 10 major Indian languages. These include Hindi, Bengali, Tamil, Telugu, Kannada, Malayalam, Marathi, Gujarati, Odia, and Punjabi. The company builds on the research heritage of the AI4Bharat initiative at IIT Madras.
If you are building voice AI applications for tier-2 and tier-3 Indian cities, Sarvam provides the lowest latency and highest accuracy. Global models struggle with Hindi-English mixing, often hallucinating words. Sarvam handles these phonetic transitions naturally. We recommend Sarvam over standard global providers for any enterprise targeting the Indian market in 2026.
The Core Models in the Sarvam Voice Stack
Bulbul v3: Text-to-Speech (TTS)
Bulbul v3 (model="bulbul:v3") is Sarvam's flagship Indic text-to-speech engine. Unlike standard autoregressive models, Bulbul v3 is specifically engineered for Indian linguistic prosody, supporting up to 2,500 characters per synthesis request.
Key official API parameters include:
language_code: Standard BCP-47 identifiers (hi-IN,ta-IN,te-IN,bn-IN,kn-IN,ml-IN,mr-IN,gu-IN,pa-IN,od-IN).speaker: Over 30 native voices available, defaulting toshubhfor male speech andananya/meerafor female speech.pace: Speed multiplier from 0.5x to 2.0x (default 1.0x).temperature: Controls acoustic variability and expressive cadence.dict_id: Custom enterprise pronunciation dictionaries for industry-specific terminology.
Bulbul generates audio with a Time-to-First-Byte (TTFB) of under 200ms. It synthesizes code-mixed sentences (e.g. English script containing Hindi words) with native phonetic accuracy.
Saaras v3: Automatic Speech Recognition (ASR)
Saaras v3 (model="saaras:v3") is the automatic speech recognition component of the stack. It processes Indian regional accents and heavy conversational code-switching without requiring manual language tags.
Official processing modes include:
transcribe: Standard verbatim transcription in native Indic scripts.codemix: Optimized transcription for mixed Hindi-English and Tamil-English conversations.translit: Direct transliteration to Romanized Latin script.translate: Direct speech-to-text translation into English.verbatim: Captures exact filler words and repetitions for call auditing.
Streaming latency averages 180ms over WebSockets, making it suitable for live telephony pipelines.
Shuka v1: Speech-to-Speech Architecture
Shuka v1 is Sarvam's foundation audio language model. It integrates discrete audio representations from the Saaras encoder directly into a Meta Llama 3 decoder backbone.
This end-to-end architecture eliminates intermediate text generation. By processing acoustic features directly into semantic representations, Shuka preserves paralinguistic cues such as emotional inflection and speech rate.
The model responds in under 500ms total latency. It is trained entirely on Indian conversational data, making it effective for vernacular voice agents.
Indic Language Benchmarks: Sarvam vs Global Providers
To evaluate the stack, we conducted extensive benchmarks across typical telephonic audio. The tests used 8kHz audio sampling to simulate standard cellular networks. We compared Sarvam against Whisper and Deepgram.
Word Error Rate (WER) Comparison
The Word Error Rate (WER) measures speech recognition accuracy. Lower scores indicate better performance. We tested Hindi, Tamil, and Hinglish datasets containing natural conversational speech.
| Language / Domain | Sarvam Saaras v1 | OpenAI Whisper v3 | Deepgram Nova-3 |
|---|---|---|---|
| Hindi Conversational | 6.4% | 12.1% | 9.8% |
| Tamil Telephony | 8.2% | 18.5% | 14.3% |
| Hinglish Code-Switched | 5.9% | 15.4% | 11.2% |
| Average Latency | 180ms | <600ms | 150ms |
Saaras v1 outperforms the competitors significantly in Tamil and Hinglish. Whisper struggles heavily with code-switching, often translating Hindi words into English rather than transcribing them. Saaras maintains the phonetic integrity of the mixed input.
Mean Opinion Score (MOS)
We evaluated the voice naturalness of Bulbul v1 using the Mean Opinion Score. Human evaluators rated the audio on a scale of 1.0 to 5.0. We compared Bulbul against ElevenLabs Hindi and Smallest.ai.
| Provider | Hindi MOS | Tamil MOS | TTFB Latency |
|---|---|---|---|
| Sarvam Bulbul v1 | 4.6 | 4.4 | 190ms |
| ElevenLabs (Multilingual) | 4.1 | 3.8 | <250ms |
| Smallest.ai | 4.3 | 3.9 | <200ms |
Bulbul achieves the highest scores for naturalness. Evaluators noted that ElevenLabs sounded slightly robotic when synthesizing long Hindi sentences. Bulbul maintained accurate regional intonation throughout the tests.
Supported Language Feature Matrix
The following table details the capabilities across the 10 supported languages. All models support 8kHz and 16kHz sampling rates.
| Language | TTS (Bulbul) | ASR (Saaras) | Code-Switching |
|---|---|---|---|
| Hindi | Yes | Yes | High |
| Bengali | Yes | Yes | High |
| Tamil | Yes | Yes | Medium |
| Telugu | Yes | Yes | Medium |
| Kannada | Yes | Yes | Medium |
| Malayalam | Yes | Yes | Low |
| Marathi | Yes | Yes | High |
| Gujarati | Yes | Yes | Medium |
| Odia | Yes | Yes | Low |
| Punjabi | Yes | Yes | High |
Python Streaming Code Example
Implementing Sarvam models requires handling streaming audio buffers. Below is a Python example for interacting with Bulbul and Saaras APIs. It uses asynchronous processing to minimize blocking.
import asyncio
import websockets
import json
import base64
SARVAM_API_KEY = "your_api_key_here"
async def generate_speech(text, language="hi-IN"):
url = "wss://api.sarvam.ai/v1/tts/stream"
headers = {"Authorization": f"Bearer {SARVAM_API_KEY}"}
async with websockets.connect(url, extra_headers=headers) as ws:
request = {
"text": text,
"language": language,
"voice": "bulbul-v1-female",
"sample_rate": 16000
}
await ws.send(json.dumps(request))
audio_buffer = bytearray()
async for message in ws:
response = json.loads(message)
if response.get("audio_data"):
chunk = base64.b64decode(response["audio_data"])
audio_buffer.extend(chunk)
# Process streaming chunk here
if response.get("is_final"):
break
return audio_buffer
async def transcribe_stream():
url = "wss://api.sarvam.ai/v1/asr/stream"
headers = {"Authorization": f"Bearer {SARVAM_API_KEY}"}
async with websockets.connect(url, extra_headers=headers) as ws:
# Example assumes 'audio_source' is an async generator
async for audio_chunk in audio_source():
payload = {
"audio": base64.b64encode(audio_chunk).decode("utf-8"),
"language": "hi-IN"
}
await ws.send(json.dumps(payload))
response = await ws.recv()
data = json.loads(response)
if data.get("transcript"):
print(f"Partial: {data['transcript']}")
This implementation ensures low TTFB by processing chunks immediately. You must maintain the connection for continuous streams. The APIs support standard PCM encoding.
Enterprise Pricing & Deployment Infrastructure
Sarvam AI targets enterprise deployments with predictable pricing. The infrastructure is heavily integrated with the local cloud ecosystem. This setup satisfies regulatory requirements for Indian businesses.
Cloud and Partner Ecosystem
Sarvam maintains a strategic partnership with Microsoft Azure. Models are available directly through Azure AI endpoints in Indian regions. This provides low network latency for applications hosted in Mumbai or Chennai data centers.
The company is aligned with the IndiaAI mission. This ensures their models are optimized for local governance and enterprise use cases. Compute infrastructure is physically located within the country.
Data Residency and DPDP Act Compliance
The Digital Personal Data Protection (DPDP) Act imposes strict rules on data processing in India. Sarvam models run on infrastructure physically located in India. This guarantees that voice data never crosses international borders.
For organizations with extreme security requirements, Sarvam offers on-premise deployment options. Banks and healthcare providers can host Saaras and Bulbul within their own VPCs. This air-gapped deployment entirely mitigates data exfiltration risks.
Pricing is structured by seconds of audio processed. Bulbul TTS costs Rs. 0.05 per second. Saaras ASR is priced at Rs. 0.04 per second. Volume discounts apply for enterprise contracts exceeding 1,000 hours monthly.
How to Build Production Indian Voice Agents
Combining Sarvam models with modern real-time infrastructure yields highly responsive voice agents. The Tough Tongue GenAI Engine (TTGE) stack provides the necessary orchestration. We recommend using LiveKit for WebRTC transport.
The Pipeline Architecture
The pipeline begins with LiveKit handling the SIP or WebRTC connection. Audio is streamed to a TTGE worker node. The TTGE node acts as the central orchestration engine.
Saaras v1 transcribes the incoming audio stream. The transcript is sent to a localized LLM prompt. The LLM generates the text response. Bulbul v1 synthesizes the response text back into audio. The audio is then pushed back through LiveKit.
Handling End-of-Utterance (VAD)
Voice Activity Detection (VAD) is particularly difficult in Indian conversational contexts. Speakers frequently use filler sounds or pause mid-sentence. Standard VAD models often cut off speakers prematurely.
We tune Silero VAD parameters specifically for these speaking patterns. We increase the speech pause threshold to 800ms. This prevents the agent from interrupting when a caller pauses to think.
The combination of tuned VAD, Saaras's code-switching capabilities, and Bulbul's natural prosody creates a fluid experience. Latency remains below the critical 800ms threshold required for natural human conversation. This architecture supports thousands of concurrent vernacular calls.
Frequently Asked Questions (FAQ)
What is the time-to-first-byte (TTFB) for Bulbul TTS?
Bulbul v1 achieves a TTFB of under 200ms in optimal network conditions. This assumes hosting within the same AWS or Azure region in India. This latency is low enough for full duplex conversational agents.
Does Saaras handle Hinglish automatically?
Yes. Saaras v1 processes code-switched Hindi and English without requiring explicit language tags. It transcribes the speech accurately in the respective scripts or romanized formats depending on the configuration.
How does Shuka v1 differ from standard voice pipelines?
Standard pipelines use ASR to generate text, an LLM to generate a text response, and TTS to generate audio. Shuka v1 maps audio tokens directly to an LLM backbone. It generates output audio tokens directly. This eliminates intermediate text latency and preserves prosody.
Can I run Sarvam models on my own servers?
Yes. Sarvam provides Docker containers for on-premise deployment. This requires enterprise licensing and appropriate GPU hardware. It is necessary for strict DPDP Act compliance in the financial sector.
What audio formats do the streaming APIs support?
The APIs support linear PCM at 8kHz and 16kHz. You must send base64 encoded audio chunks over WebSockets. We recommend chunk sizes of 20ms to 50ms for optimal latency.
How does Sarvam compare to OpenAI Whisper v3?
Whisper v3 has higher Word Error Rates for regional Indian accents. Whisper also struggles with code-switching, frequently hallucinating translations. Saaras provides greater accuracy and lower latency for Indic languages.
Are Dravidian languages supported equally well?
Bulbul and Saaras support Tamil, Telugu, Kannada, and Malayalam. The models handle the complex agglutinative morphology of Dravidian languages accurately. Our tests show Tamil performance is nearly equivalent to Hindi.
What is the pricing for high-volume usage?
Standard API usage is Rs. 0.05 per second for TTS and Rs. 0.04 per second for ASR. Enterprises processing more than 1,000 hours per month can negotiate volume discounts. On-premise deployments are priced per server core.
Conclusion
The Sarvam AI voice stack represents the state of the art for Indic language processing in 2026. Bulbul v1 delivers unparalleled naturalness for Indian voices. Saaras v1 provides the reliable recognition necessary for noisy cellular environments. The Shuka v1 architecture demonstrates a clear path toward ultra-low latency speech models.
For enterprises building conversational agents for the Indian market, Sarvam is the optimal choice. Global models cannot match the phonetic accuracy and code-switching capabilities required for vernacular deployments. Local data residency compliance further cements their enterprise value.
Are you looking to integrate Sarvam AI models into your customer service workflows? Schedule a technical consultation with the Tough Tongue AI team. We will help you design a low-latency, localized voice pipeline tailored to your specific use case.