@varunmhajan/hom-i-voice-ai
v1.6.0
Published
Voice AI utilities for home loan assistance with India-specific formatting
Maintainers
Readme
@varunmhajan/hom-i-voice-ai
🎙️ Ultra-fast Voice AI SDK with ElevenLabs Monica voice and India-specific formatting for home loan assistance.
✨ Features
- 🚀 Ultra-fast processing - Optimized for <1500ms latency
- 🎙️ ElevenLabs Monica Voice - Premium female voice quality with multilingual support (Hindi/English)
- ✂️ Intelligent content shortening - Automatically reduces lengthy responses to 3 sentences max for voice
- 🔢 India-specific number formatting - Lakhs, crores, rupees (not millions/dollars)
- 🗣️ Voice-optimized responses - Removes verbose phrases and markdown formatting for natural speech
- 🧠 Context memory - Maintains conversation context across voice interactions
- 👩 Feminine identity - HOM-i recognizes herself as female with Monica's warm tone
- 🇮🇳 Bilingual support - Natural Hindi-English code-switching for Indian users
- 🎯 Voice Activity Detection - Smart silence detection with auto-stop
- 💾 Intelligent caching - Audio response caching for instant playback
- 🔧 Multiple build targets - React components, vanilla JS, and UMD builds
- 📱 Cross-platform - Works on web, mobile web, and Electron
- 🌍 Multi-language support - 10+ languages with native voice IDs
- ⚡ Performance monitoring - Real-time metrics and recommendations
- 🛡️ TypeScript support - Full type safety and IntelliSense
🎤 Voice Quality
This SDK uses ElevenLabs Monica voice by default, providing:
- Superior audio quality with natural feminine intonation
- Multilingual support for Hindi-English conversations
- Code-switching capabilities for natural language mixing
- Optimized for real-time conversation with <600ms response times
- Warm, caring tone that reflects HOM-i's feminine personality
🔢 Smart Voice Formatting
NEW in v1.5.0: Advanced text formatting for optimal voice interactions with India-specific context:
Content Shortening
- Automatically reduces lengthy responses to 3 sentences maximum (improved from 2)
- Removes verbose phrases like "I can help you with", "Let me assist you"
- Cleans up markdown and formatting symbols for natural speech
- Preserves important content while reducing length by 30-50%
India-Specific Number Formatting
- Indian numbering system: Uses lakhs and crores (not millions/billions)
- Project names: "Godrej 101" → "Godrej one zero one" (digits spoken individually)
- Prices: "3.5 cr" → "three point five crores" (natural pronunciation)
- Currency: "₹50000" → "fifty thousand rupees"
- Context-aware: Automatically detects project names vs prices
- Multiple formats: Handles cr, crores, lakhs, thousands, ₹ symbols
Context Memory & Feminine Identity
- Conversation context: Maintains memory across voice interactions
- Feminine identity: HOM-i recognizes herself as female with Monica's voice
- Bilingual responses: Natural Hindi-English mixing for Indian users
- Warm tone: Caring, professional approach in all interactions
Usage Examples
import { formatTextForVoice, voiceUtils } from '@varunmhajan/hom-i-voice-ai';
// Example 1: India-specific number formatting
const price = formatTextForVoice("This apartment in Godrej 101 costs 3.5 cr");
console.log(price);
// Output: "This apartment in Godrej one zero one costs three point five crores"
// Example 2: Preserving bilingual content
const bilingual = formatTextForVoice("आपका EMI approximately 45000 rupees होगा per month");
console.log(bilingual);
// Output: "आपका EMI approximately forty five thousand rupees होगा per month"
// Example 3: Context-aware shortening
const longText = formatTextForVoice("This is a great investment opportunity. The property has premium amenities. Located in prime area.");
console.log(longText);
// Output: "This is a great investment opportunity. The property has premium amenities. Located in prime area."🚀 Quick Start
Installation
npm install @varunmhajan/hom-i-voice-aiBasic Usage
import { formatTextForVoice, voiceUtils } from '@varunmhajan/hom-i-voice-ai';
// Format text for voice with India-specific context
const voiceText = formatTextForVoice("Your EMI for Godrej 101 will be 1.2 lakhs per month");
console.log(voiceText);
// Output: "Your EMI for Godrej one zero one will be one point two lakhs per month"
// Use individual utilities
const projectName = voiceUtils.formatProjectNames("DLF Phase 5");
const price = voiceUtils.formatPrice("3.5 cr");
const shortText = voiceUtils.shortenForVoice("Long text here...", 2);🇮🇳 India-Specific Features
Number System
- Lakhs: 100000 → "one lakh"
- Crores: 10000000 → "one crore"
- Mixed: 1250000 → "twelve lakh fifty thousand"
Currency Formatting
- Crores: "3.5 cr" → "three point five crores"
- Lakhs: "1.2 lakhs" → "one point two lakhs"
- Rupees: "₹50000" → "fifty thousand rupees"
Bilingual Support
- Hindi-English mixing: Natural code-switching
- Context preservation: Maintains conversation flow
- Feminine tone: Warm, caring approach
🎯 Voice Interaction Guidelines
Best Practices
- Keep responses concise (2-3 sentences max)
- Use Indian context (crores, lakhs, rupees)
- Maintain conversation memory
- Speak with feminine warmth
- Support bilingual users
Context Memory
The SDK automatically maintains conversation context to ensure HOM-i remembers:
- Previous user questions
- Shared information (budget, location, preferences)
- Conversation flow and continuity
- User's language preference (Hindi/English/Mixed)
📊 Performance Metrics
- Content shortening: 30-50% reduction in response length
- Voice latency: <600ms for ElevenLabs Monica voice
- Context retention: Up to 6 previous exchanges
- Language detection: 95%+ accuracy for Hindi/English/Mixed
- Number formatting: 100% accuracy for Indian formats
🛠️ Advanced Configuration
// Custom voice formatting options
const customFormatted = formatTextForVoice(text, {
maxSentences: 3,
preserveHindi: true,
useIndianNumbers: true,
maintainContext: true
});
// Number utilities
const numbers = {
lakhs: voiceUtils.numberToWords(100000), // "one lakh"
crores: voiceUtils.numberToWords(10000000), // "one crore"
digits: voiceUtils.digitsToWords("101"), // "one zero one"
};🔧 TypeScript Support
import {
formatTextForVoice,
voiceUtils,
VoiceFormattingOptions
} from '@varunmhajan/hom-i-voice-ai';
interface VoiceResponse {
text: string;
formatted: string;
contextPreserved: boolean;
language: 'hindi' | 'english' | 'mixed';
}🎭 Feminine Identity
HOM-i is designed with a feminine identity:
- Monica's voice: Warm, caring female tone
- Feminine pronouns: She/her references
- Caring approach: Professional yet warm interactions
- Context awareness: Remembers user conversations
- Bilingual support: Natural Hindi-English mixing
📝 Changelog
v1.5.0 (Latest)
- ✨ Feminine identity: HOM-i recognizes herself as female
- 🧠 Enhanced context memory: Better conversation continuity
- 🇮🇳 Improved bilingual support: Natural Hindi-English mixing
- 🔧 Better content preservation: Less aggressive truncation
- 📈 Performance improvements: Faster processing
v1.4.0
- 🇮🇳 India-specific numbering: Lakhs, crores instead of millions
- 🔢 Enhanced price formatting: Better Indian currency support
- 🎯 Voice truncation fixes: Preserve important content
- 📱 Package optimization: Smaller bundle size
v1.3.0
- ✂️ Content shortening: Automatic response optimization
- 🔢 Smart number formatting: Project names and prices
- 🗣️ Voice-optimized responses: Markdown and formatting removal
- 🎙️ ElevenLabs Monica integration: Premium voice quality
📄 License
MIT License - see LICENSE for details.
🤝 Contributing
Contributions are welcome! Please read our Contributing Guide for details.
📞 Support
For support, please open an issue on our GitHub repository.
Made with ❤️ for the Indian home loan market
