Assamese Voice Agents
Assamese (as-IN) is a low-resource language with limited but growing support. This guide covers the best configurations for Assamese voice agents.
Quick Start
{
"agent": {
"name": "Assamese Support Agent",
"language": "as-IN",
"llmProvider": "gemini",
"llmModel": "gemini-2.0-flash",
"sttProvider": "elevenlabs",
"sttModel": "scribe",
"ttsProvider": "azure",
"ttsVoice": "as-IN-YashicaNeural",
"greetingMessage": "নমস্কাৰ! মই আপোনাক কেনেকৈ সহায় কৰিব পাৰোঁ?",
"prompt": "আপুনি এজন সহায়কাৰী। অসমীয়াত উত্তৰ দিয়ক।"
}
}
Provider Landscape
Assamese has limited provider support compared to major languages:
STT (Speech-to-Text)
| Provider | Model | WER | Status |
|---|---|---|---|
| ElevenLabs | scribe | 15-25% | Best option |
| chirp | 25-35% | Usable | |
| OpenAI | whisper | 20-30% | Alternative |
Recommendation: ElevenLabs Scribe offers best Assamese accuracy.
TTS (Text-to-Speech)
| Provider | Voices | Quality |
|---|---|---|
| Azure | 2 Neural | Good |
| Limited | Fair |
Recommendation: Azure is the only reliable option for Assamese TTS.
LLM
| Provider | Model | Assamese Understanding |
|---|---|---|
| Gemini 2.0 | flash | Best for Indic |
| GPT-4 | full | Good |
Recommendation: Gemini 2.0 Flash for best Assamese comprehension.
Azure Assamese Voices
| Voice | Gender | Style |
|---|---|---|
as-IN-YashicaNeural |
Female | Professional |
as-IN-PriyomNeural |
Male | Professional |
Voice Configuration
{
"ttsProvider": "azure",
"ttsVoice": "as-IN-YashicaNeural",
"ttsConfig": {
"speakingRate": 0.95,
"pitch": "0%"
}
}
ElevenLabs Scribe for Assamese
ElevenLabs Scribe provides the best STT accuracy for Assamese:
{
"sttProvider": "elevenlabs",
"sttModel": "scribe",
"sttConfig": {
"language_code": "as"
}
}
Why Scribe Works
- Trained on diverse Indic languages
- Better handling of tonal variations
- Supports code-switching with English
Assamese Script Handling
Prompt in Assamese
{
"prompt": "আপুনি এজন গ্ৰাহক সেৱা সহায়ক।\n\n## নিয়ম\n- বিনয়ী হওক\n- স্পষ্ট উত্তৰ দিয়ক\n- সমস্যা সমাধান কৰক"
}
Transliteration Support
{
"prompt": "Users may type Assamese in Roman script (e.g., 'muk order status lage'). Understand both Assamese script (অসমীয়া) and Roman transliterations. Respond in Assamese script."
}
Script Comparison
Assamese uses a script similar to Bengali with some differences:
| Assamese | Bengali | Sound |
|---|---|---|
| ৰ | র | ro |
| ৱ | - | wo |
| ক্ষ | ক্ষ | khyo |
Script Detection
func IsAssamese(text string) bool {
// Check for Assamese-specific characters
for _, r := range text {
// ৰ (U+09F0) and ৱ (U+09F1) are unique to Assamese
if r == 0x09F0 || r == 0x09F1 {
return true
}
// General Bengali/Assamese range
if r >= 0x0980 && r <= 0x09FF {
return true
}
}
return false
}
Formality in Assamese
{
"prompt": "## Formality Guidelines\n- Use 'আপুনি' (respectful you) not 'তুমি'\n- Use honorific 'দেউ' or 'বাই' when appropriate\n- Add respectful particles: 'দেই', 'নহয় জানো'\n- Use formal greetings: 'নমস্কাৰ'"
}
Formal vs Informal
| Formal | Informal |
|---|---|
| আপুনি কেনে আছে? | তুমি কেনে আছা? |
| কওক | কোৱা |
| আহক | আহা |
| ধন্যবাদ | থেংকিউ |
Regional Considerations
Assamese Dialects
| Dialect | Region | Notes |
|---|---|---|
| Standard | Guwahati | Media standard |
| Eastern | Upper Assam | Slightly different vocabulary |
| Western | Lower Assam | Bengali influence |
| Kamrupi | Kamrup | Historical dialect |
Cultural Context
{
"prompt": "## Cultural Notes\n- Be aware of Bihu festivals (April, October, January)\n- Use regional greetings during festivals\n- Understand references to local places and customs\n- Respect for elders is important - use appropriate honorifics"
}
Complete Example
Customer Support Agent
{
"agent": {
"name": "Assamese Customer Support",
"language": "as-IN",
"llmProvider": "gemini",
"llmModel": "gemini-2.0-flash",
"llmTemperature": 0.7,
"sttProvider": "elevenlabs",
"sttModel": "scribe",
"sttConfig": {
"language_code": "as"
},
"ttsProvider": "azure",
"ttsVoice": "as-IN-YashicaNeural",
"greetingMessage": "নমস্কাৰ! মই আপোনাৰ সেৱাত আছোঁ। আপোনাৰ অৰ্ডাৰৰ বিষয়ে বা আন কিবা সহায় লাগিলে কওক।",
"prompt": "আপুনি এজন গ্ৰাহক সেৱা সহায়ক।\n\n## আপোনাৰ কাম\n- গ্ৰাহকৰ সমস্যা সমাধান কৰক\n- বিনয়ী আৰু সহায়কাৰী হওক\n- স্পষ্ট উত্তৰ দিয়ক\n\n## ভাষা\n- শুদ্ধ অসমীয়া ব্যৱহাৰ কৰক\n- 'আপুনি' ব্যৱহাৰ কৰক, 'তুমি' নহয়",
"allowInterruptions": true
}
}
Testing Assamese Agents
Test Phrases
# Greetings
"নমস্কাৰ"
"হেল্ল'"
# Queries
"মোৰ অৰ্ডাৰ ক'ত?"
"মোক অৰ্ডাৰ ষ্টেটাচ লাগে"
# Romanized
"Muk order status lage"
"Order koila ahibo?"
# Edge cases
"হয়" (yes)
"নহয়" (no)
Accuracy Challenges
Assamese STT faces unique challenges:
| Challenge | Impact | Mitigation |
|---|---|---|
| Limited training data | Higher WER | Use ElevenLabs Scribe |
| Similar to Bengali | Misdetection | Explicit language setting |
| Regional accents | Variable accuracy | Prompt for clarification |
Fallback Strategy
Given limited support, implement fallbacks:
func processAssameseAudio(audio []byte) (string, error) {
// Try ElevenLabs first
transcript, err := elevenlabsSTT.Transcribe(audio, "as")
if err != nil {
// Fallback to Google
transcript, err = googleSTT.Transcribe(audio, "as-IN")
}
// Check confidence
if transcript.Confidence < 0.6 {
return "", errors.New("low confidence, ask user to repeat")
}
return transcript.Text, err
}
Ask for Clarification
{
"prompt": "If you're unsure what the user said, politely ask them to repeat: 'মাফ কৰিব, অলপ স্পষ্টকৈ ক'ব পাৰিবনে?'"
}
Cost Analysis
Provider Costs
| Provider | Type | Cost/min |
|---|---|---|
| ElevenLabs Scribe | STT | ₹0.56 |
| Azure Neural | TTS | ₹1.01 |
| Gemini 2.0 | LLM | ₹0.05 |
Total estimated cost: ₹1.62/minute
Comparison
| Configuration | Cost/min | Quality |
|---|---|---|
| ElevenLabs + Azure + Gemini | ₹1.62 | Best |
| Google + Azure + Gemini | ₹2.40 | Good |
Limitations
- STT accuracy: 15-25% WER (higher than major languages)
- TTS options: Only Azure available
- LLM understanding: Good but not native-level
- Training data: Limited compared to Hindi/Bengali
Best Practices
1. Set Clear Expectations
{
"greetingMessage": "নমস্কাৰ! মই অসমীয়াত কথা পাতিব পাৰোঁ। যদি মই বুজি নাপাওঁ, অলপ স্পষ্টকৈ কওক।"
}
2. Support English Fallback
{
"prompt": "If the user switches to English or you can't understand Assamese input, respond in English while offering to continue in Assamese."
}
3. Use Confirmation
{
"prompt": "Always confirm important details: 'আপোনাৰ অৰ্ডাৰ নম্বৰ 12345, ঠিক নে?'"
}
Next Steps
- Hindi - Hindi configuration
- Tamil - Tamil configuration
- Indian Languages - All Indian languages