Assamese Voice Agents

Build voice agents for Assamese (অসমীয়া) with specialized provider configurations for Northeast India.

3 min read

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
Google 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
Google 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 Edesy add-on
ElevenLabs Scribe STT Ask us
Azure Neural TTS ₹1.20/min
Gemini 2.0 LLM -

Total estimated cost: base rate from ₹4/min (PAYG ₹6/min) + add-ons + telephony

Comparison#

Configuration Quality
ElevenLabs + Azure + Gemini Best
Google + Azure + Gemini 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#

Was this page helpful?