AuraVoice pipeline architecture
From telephony ingress to speech synthesis on the local GPU.
On this page
AuraVoice runs the whole voice pipeline on the host GPU:
caller audio → IndicConformer ASR → rules + local LLM → IndicF5 TTS → reply audioRuntime services
| Service | Role |
|---|---|
| nginx gateway | TLS 1.2 / 1.3, WAF rules, rate limiting; publishes 80/443 |
| AuraVoice core (Go) | Call sessions, agent flows, REST and WebSocket APIs, guardrails, knowledge, call records |
| Speech service (GPU) | IndicConformer speech recognition, IndicF5 speech synthesis, Whisper language ID, Kokoro English voices |
| Ollama (GPU) | Call language model (default gemma3:12b) |
| Asterisk | SIP trunks, PBX, PRI/E1 gateways and WebRTC callers |
| PostgreSQL, Redis | Call records and audit log; cache |
GPU memory
On one NVIDIA L4 (24 GB) the full pipeline uses about 15–18 GB: the call LLM (about 8 GB), IndicConformer and IndicF5 (2–3 GB each), Whisper and Kokoro (around 1 GB each). Capacity scales out with additional GPUs; sizing is agreed per deployment, and the console shows measured recognition, LLM and synthesis times for every turn.
Call records
Every call is stored with its agent and version, channel, language, duration, outcome, intents, collected details and a PII-masked transcript, plus average ASR, LLM and TTS latency and sentiment. Overview, analytics and SLA reports are computed from these records.